Skip to content

Commit

Permalink
Merge pull request #126 from nebula-plugins/defer-publishing-evaluation
Browse files Browse the repository at this point in the history
defer publishing configuration after project evaluation
  • Loading branch information
rpalcolea authored Mar 27, 2019
2 parents f92d00d + 7f43bc9 commit 2f2c62b
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 63 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/
plugins {
id 'nebula.plugin-plugin' version '9.2.4'
id 'nebula.plugin-plugin' version '9.1.1'
id 'org.ysb33r.gradletest' version '0.5.4'
id 'java-gradle-plugin'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,47 +33,49 @@ class IvyResolvedDependenciesPlugin extends AbstractResolvedDependenciesPlugin {
void apply(Project project) {
project.plugins.apply IvyBasePublishPlugin

project.publishing {
publications {
withType(IvyPublication) {
descriptor.withXml { XmlProvider xml ->
project.plugins.withType(JavaBasePlugin) {
def dependencies = xml.asNode()?.dependencies?.dependency
dependencies?.each { Node dep ->
String scope = dep.@conf
String group = dep.@org
String name = dep.@name
project.afterEvaluate {
project.publishing {
publications {
withType(IvyPublication) {
descriptor.withXml { XmlProvider xml ->
project.plugins.withType(JavaBasePlugin) {
def dependencies = xml.asNode()?.dependencies?.dependency
dependencies?.each { Node dep ->
String scope = dep.@conf
String group = dep.@org
String name = dep.@name

if (scope == 'compile->default') {
scope = 'compile'
}
if (scope == 'compile->default') {
scope = 'compile'
}

if (scope == 'provided->default' || scope == 'runtime->default') {
scope = 'runtime'
}
if (scope == 'provided->default' || scope == 'runtime->default') {
scope = 'runtime'
}

if (scope == 'test->default') {
scope = 'test'
}
if (scope == 'test->default') {
scope = 'test'
}

if (scope.contains('->')) {
scope = scope.split('->')[0]
}
if (scope.contains('->')) {
scope = scope.split('->')[0]
}

def mvid = selectedModuleVersion(project, scope, group, name)
if (!mvid) {
return // continue loop if a dependency is not found in dependencyMap
}
def mvid = selectedModuleVersion(project, scope, group, name)
if (!mvid) {
return // continue loop if a dependency is not found in dependencyMap
}

if (dep.@rev) {
def version = dep.@rev as String
VersionSelector selector = parseSelector(version)
setVersionConstraint(selector, version, dep, mvid)
} else {
//no requested version we use selected
dep.@rev = mvid.version
if (dep.@rev) {
def version = dep.@rev as String
VersionSelector selector = parseSelector(version)
setVersionConstraint(selector, version, dep, mvid)
} else {
//no requested version we use selected
dep.@rev = mvid.version
}
updateReplacedModules(mvid, group, name, dep)
}
updateReplacedModules(mvid, group, name, dep)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,40 +30,42 @@ class MavenResolvedDependenciesPlugin extends AbstractResolvedDependenciesPlugin
void apply(Project project) {
project.plugins.apply MavenBasePublishPlugin

project.publishing {
publications {
withType(MavenPublication) {
pom.withXml { XmlProvider xml->
project.plugins.withType(JavaBasePlugin) {
def dependencies = xml.asNode()?.dependencies?.dependency
dependencies?.each { Node dep ->
String scope = dep.scope.text()
String group = dep.groupId.text()
String name = dep.artifactId.text()
project.afterEvaluate {
project.publishing {
publications {
withType(MavenPublication) {
pom.withXml { XmlProvider xml->
project.plugins.withType(JavaBasePlugin) {
def dependencies = xml.asNode()?.dependencies?.dependency
dependencies?.each { Node dep ->
String scope = dep.scope.text()
String group = dep.groupId.text()
String name = dep.artifactId.text()

ModuleVersionIdentifier mvid
if (scope == 'provided') {
scope = 'runtime'
mvid = selectedModuleVersion(project, scope, group, name)
if (!mvid) {
scope = 'compileOnly'
ModuleVersionIdentifier mvid
if (scope == 'provided') {
scope = 'runtime'
mvid = selectedModuleVersion(project, scope, group, name)
if (!mvid) {
scope = 'compileOnly'
mvid = selectedModuleVersion(project, scope, group, name)
}
} else {
mvid = selectedModuleVersion(project, scope, group, name)
}
} else {
mvid = selectedModuleVersion(project, scope, group, name)
}

if (!mvid) {
return // continue loop if a dependency is not found in dependencyMap
}
if (!mvid) {
return // continue loop if a dependency is not found in dependencyMap
}

def versionNode = dep.version
if (!versionNode) {
dep.appendNode('version')
def versionNode = dep.version
if (!versionNode) {
dep.appendNode('version')
}
dep.groupId[0].value = mvid.group
dep.artifactId[0].value = mvid.name
dep.version[0].value = mvid.version
}
dep.groupId[0].value = mvid.group
dep.artifactId[0].value = mvid.name
dep.version[0].value = mvid.version
}
}
}
Expand Down

0 comments on commit 2f2c62b

Please sign in to comment.