RE: Building a project and it's SNAPSHOT dependencies
Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Building a project and it's SNAPSHOT dependencies
Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building a project and it's SNAPSHOT dependencies
Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Building a project and it's SNAPSHOT dependencies
Ok, I understand. Well, you can still use the maven:maven tag... -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 10:00 To: Maven Users List Subject: Re: Building a project and it's SNAPSHOT dependencies Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ _ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building a project and it's SNAPSHOT dependencies
ok, thanks got it working now. 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Ok, I understand. Well, you can still use the maven:maven tag... -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 10:00 To: Maven Users List Subject: Re: Building a project and it's SNAPSHOT dependencies Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ _ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building a project and it's SNAPSHOT dependencies
Wim, Could you post your resulting goal(s) here so that others seeking to do the same can benefit from your work ? Thanks, Jim Wim Deblauwe [EMAIL PROTECTED] 06/15/2005 06:34 AM Please respond to Maven Users List To Maven Users List users@maven.apache.org cc Subject Re: Building a project and it's SNAPSHOT dependencies ok, thanks got it working now. 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Ok, I understand. Well, you can still use the maven:maven tag... -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 10:00 To: Maven Users List Subject: Re: Building a project and it's SNAPSHOT dependencies Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} !--attainGoal name=build:withdeps /-- /j:if /j:forEach attainGoal name=jar:install/ /goal This works to find out what modules need to be build, but then I am stuck. I want to start my goal build:withdeps in the directory of the dependency so that one gets build (and if it also has snapshot dependencies, those get build first). Is there a way to do this? regards, Wim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ _ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Building a project and it's SNAPSHOT dependencies
Oops, forgot one last thing: 'artifact:install' is a custom goal that checks the multiproject type and then executes 'jar:install' or 'war:install' or whatever. 2005/6/15, Wim Deblauwe [EMAIL PROTECTED]: Sure, this is what I have put in my maven.xml: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echo/ant:echo ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} ant:echo${dep.class.name}/ant:echo j:set var=idString value=${dep.id}/ j:set var=splittedStrings value=${idString.split(':')}/ j:forEach items=${splittedStrings} var=string indexVar=stringNr j:if test=${stringNr == 0} j:set var=group value=${string}/ /j:if j:if test=${stringNr == 1} j:set var=module value=${string}/ /j:if /j:forEach ant:echoGroup: ${group}/ant:echo ant:echoModule: ${module}/ant:echo ant:echoStarting build in dir: ${basedir}/../../../${group}/${module}/build/ant:echo maven:maven descriptor=${basedir}/../../../${group}/${module}/build/project.xml goals=build:withdeps/ /j:if /j:forEach ant:echoDone building SNAPSHOT dependencies, now building actual module.../ant:echo attainGoal name=artifact:install/ /goal Some important remarks: - It only runs when using JDK 1.5 because I use the new split() function. This can probably easily be changed to use substring() and indexOf() functions. - the maven:maven/ tag will require your attention. You need a way to go from your current directory (with your project.xml) to the directory of the dependent module's project.xml. This will depend on how you structure your modules. hope it helps, Wim 2005/6/15, Jim Mochel [EMAIL PROTECTED]: Wim, Could you post your resulting goal(s) here so that others seeking to do the same can benefit from your work ? Thanks, Jim Wim Deblauwe [EMAIL PROTECTED] 06/15/2005 06:34 AM Please respond to Maven Users List To Maven Users List users@maven.apache.org cc Subject Re: Building a project and it's SNAPSHOT dependencies ok, thanks got it working now. 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Ok, I understand. Well, you can still use the maven:maven tag... -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 10:00 To: Maven Users List Subject: Re: Building a project and it's SNAPSHOT dependencies Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07
Re: Building a project and it's SNAPSHOT dependencies
Sure, this is what I have put in my maven.xml: goal name=build:withdeps description=Builds your module and all it's SNAPSHOT dependencies ant:echo/ant:echo ant:echoBuilding this module (${pom.id}) with all it's SNAPSHOT dependencies/ant:echo ant:echo/ant:echo ant:echo message=There are ${size(pom.dependencies)} artifacts for this project/ j:forEach items=${pom.dependencies} var=dep indexVar=depNumber ant:echo message=Dependency ${depNumber}: ${dep.artifact}/ ant:echo${dep.version}/ant:echo ant:echoSNAPSHOT present? ${dep.version.contains('SNAPSHOT')}/ant:echo j:if test=${dep.version.contains('SNAPSHOT')} ant:echo${dep.class.name}/ant:echo j:set var=idString value=${dep.id}/ j:set var=splittedStrings value=${idString.split(':')}/ j:forEach items=${splittedStrings} var=string indexVar=stringNr j:if test=${stringNr == 0} j:set var=group value=${string}/ /j:if j:if test=${stringNr == 1} j:set var=module value=${string}/ /j:if /j:forEach ant:echoGroup: ${group}/ant:echo ant:echoModule: ${module}/ant:echo ant:echoStarting build in dir: ${basedir}/../../../${group}/${module}/build/ant:echo maven:maven descriptor=${basedir}/../../../${group}/${module}/build/project.xml goals=build:withdeps/ /j:if /j:forEach ant:echoDone building SNAPSHOT dependencies, now building actual module.../ant:echo attainGoal name=artifact:install/ /goal Some important remarks: - It only runs when using JDK 1.5 because I use the new split() function. This can probably easily be changed to use substring() and indexOf() functions. - the maven:maven/ tag will require your attention. You need a way to go from your current directory (with your project.xml) to the directory of the dependent module's project.xml. This will depend on how you structure your modules. hope it helps, Wim 2005/6/15, Jim Mochel [EMAIL PROTECTED]: Wim, Could you post your resulting goal(s) here so that others seeking to do the same can benefit from your work ? Thanks, Jim Wim Deblauwe [EMAIL PROTECTED] 06/15/2005 06:34 AM Please respond to Maven Users List To Maven Users List users@maven.apache.org cc Subject Re: Building a project and it's SNAPSHOT dependencies ok, thanks got it working now. 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Ok, I understand. Well, you can still use the maven:maven tag... -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 10:00 To: Maven Users List Subject: Re: Building a project and it's SNAPSHOT dependencies Well, I use the multiproject plugin, but this builds *all* modules. I can ofcourse tweak this to include or exclude as many as I want but this is not convenient for what I want. I want to build a project with all it's dependent (and only it's dependent modules, not others) snapshot dependencies. I want this to be sure I have the latest of everything when I build my project. Note that all my modules are at the same level: + modules | + -- module1 + -- module2 + -- module3 Suppose module3 only depends on module1. Using multiproject would build all 3. I want to have a system that when I am in the module3 directory, I tell maven to build with a special command and it would first do a jar:install of module1 and of module3. regards, Wim 2005/6/15, Vincent Massol [EMAIL PROTECTED]: Wim, You should use the multiproject plugin for that. Now to do what you want you need to use the maven:maven tag to spawn a maven process. -Vincent -Original Message- From: Wim Deblauwe [mailto:[EMAIL PROTECTED] Sent: mercredi 15 juin 2005 09:07 To: Maven Users List Subject: Building a project and it's SNAPSHOT dependencies Hi, I'm writing a jelly script for building a project and also building it's dependencies in 1 go. I currently do this: goal name=build:withdeps description=Builds your module and all it's