Browse Source
Prior to this commit, the build would use a custom task to create a BOM and manually include/exclude/customize dependencies. It would also use the "maven" plugin to customize the POM before publication. This commit now uses a Gradle Java Platform for publishing the Spring Framework BOM. We're also now using the "maven-publish" plugin to prepare and customize publications. This commit also tells the artifactory plugin (which is currently applied only on the CI) not to publish internal modules. See gh-23282pull/23506/head
Brian Clozel
5 years ago
7 changed files with 82 additions and 100 deletions
@ -1,35 +1,23 @@
@@ -1,35 +1,23 @@
|
||||
description = "Spring Framework (Bill of Materials)" |
||||
|
||||
apply plugin: "java" |
||||
apply plugin: "maven" |
||||
apply plugin: 'java-platform' |
||||
apply from: "$rootDir/gradle/publications.gradle" |
||||
|
||||
configurations.archives.artifacts.clear() |
||||
artifacts { |
||||
// work around GRADLE-2406 by attaching text artifact |
||||
archives(file("spring-framework-bom.txt")) |
||||
} |
||||
group = "org.springframework" |
||||
|
||||
install { |
||||
repositories.mavenInstaller { |
||||
pom.whenConfigured { |
||||
packaging = "pom" |
||||
withXml { |
||||
asNode().children().last() + { |
||||
delegate.dependencyManagement { |
||||
delegate.dependencies { |
||||
parent.moduleProjects.sort { "$it.name" }.each { p -> |
||||
if (p != project) { |
||||
delegate.dependency { |
||||
delegate.groupId(p.group) |
||||
delegate.artifactId(p.name) |
||||
delegate.version(p.version) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
dependencies { |
||||
constraints { |
||||
parent.moduleProjects.sort { "$it.name" }.each { |
||||
api it |
||||
} |
||||
} |
||||
} |
||||
|
||||
publishing { |
||||
publications { |
||||
springFramework(MavenPublication) { |
||||
artifactId = 'spring-framework-bom' |
||||
from components.javaPlatform |
||||
} |
||||
} |
||||
} |
@ -1,4 +0,0 @@
@@ -1,4 +0,0 @@
|
||||
This meta-project is used to generate a bill-of-materials POM that contains the other |
||||
projects in a dependencyManagement section. |
||||
|
||||
<https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/overview.html#overview-getting-started> |
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
apply plugin: "maven-publish" |
||||
|
||||
publishing { |
||||
publications { |
||||
springFramework(MavenPublication) { |
||||
pom { |
||||
name = project.description |
||||
description = project.description |
||||
url = "https://github.com/spring-projects/spring-framework" |
||||
organization { |
||||
name = "Spring IO" |
||||
url = "https://spring.io/projects/spring-framework" |
||||
} |
||||
licenses { |
||||
license { |
||||
name = "Apache License, Version 2.0" |
||||
url = "https://www.apache.org/licenses/LICENSE-2.0" |
||||
distribution = "repo" |
||||
} |
||||
} |
||||
scm { |
||||
url = "https://github.com/spring-projects/spring-framework" |
||||
connection = "scm:git:git://github.com/spring-projects/spring-framework" |
||||
developerConnection = "scm:git:git://github.com/spring-projects/spring-framework" |
||||
} |
||||
developers { |
||||
developer { |
||||
id = "jhoeller" |
||||
name = "Juergen Hoeller" |
||||
email = "jhoeller@pivotal.io" |
||||
} |
||||
} |
||||
issueManagement { |
||||
system = "GitHub" |
||||
url = "https://github.com/spring-projects/spring-framework/issues" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue