Hello,
I have a project that consists of several subprojects. One of these subprojects
uses the application plugin. I want to upload all archives to my nexus
repository, using the maven plugin.
Because the maven and application plugin do not play nice (due to both adding
an
'install' task to the project, i decided to just let the root project have the
maven plugin, and let it collect all jars for publishing.
Here's the relevant part of the build script of the rootProject:
// collect all artifacts here
artifacts {
subprojects.each {project ->
project.tasks.withType(Jar).each {archiveTask ->
archives archiveTask
}
}
}
uploadArchives {
def nexusRepositories = "http://172.20.2.2:8081/nexus/content/repositories"
repositories.mavenDeployer {
//releases and snapshots are uploaded to different repos
repository(url: "${nexusRepositories}/releases") {
authentication(userName: "foo", password: "bar")
}
snapshotRepository(url: "${nexusRepositories}/snapshots") {
authentication(userName: "foo", password: "bar")
}
// because we deal with multiple artifacts in 1 project,
// add a filter for each single jar
subprojects.each { project ->
addFilter(project.name) {artifact, file ->
artifact.name == project.name
}
// i'd love to do some pom configuration here, but then the
// subprojects would need the maven plugin
}
}
}
My problem is (as pointed out in the build script) that i can't adjust the poms
of the subproject, because that would require the maven plugin for those
subprojects, which would conflict with my subproject that uses the application
plugin.
I suppose i could rename the "install" task of the application plugin to
"installApp" or something similar, but this would require me to build a custom
version of gradle, and distribute it among all my teammembers.
Another option is to drop the application plugin, and define my own "run" and
"distZip" tasks, but maybe someone else knows a workaround?
Thanks,
Rolf
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email