Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
On 2010-10-08, Jean-Louis Boudart wrote: At the beggining of the documentation you say In addition you will need a minimal POM for your jar. Are you planning to maintain dependencies in both ivy.xml / pom.xml manually? This is intended for projects that don't use Ivy for dependency management but are looking at Ivy as a solution to publish to the ASF Maven repository - like Ant itself. Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org
Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
On 2010-10-08, Maarten Coene wrote: The ivy:makepom task has been greatly enhanced in Ivy 2.2.0. It is now possible to specify a custom pom template containing information about the license, SCM, plugins, developers, ... OK, I'll enhance the page and say you should use the makepom task if you are already using Ivy. From what Jean-Louis and you say the deliver task is completely redundant since publish will take care of everything anyway (for the usecase of that page). Here is how Ivy publishes itself to the Nexus repository. ivy:publish organisation=org.apache.ivy module=ivy revision=${build.version} srcivypattern=${basedir}/build/artifact/ivy.xml artifactspattern=${basedir}/build/distrib/maven2/[revision]/[artifact]-[revision](-[classifier]).[ext] publishivy=false conf=core settingsRef=upload.settingsId resolver=nexus !-- The standard maven2 artifacts -- artifact name=ivy ext=pom type=ivy / artifact name=ivy ext=jar type=sources classifier=sources / artifact name=ivy ext=jar type=javadoc classifier=javadoc / /ivy:publish We declare some additional artifacts (like the generated pom and the sources/javadocs) inside the ivy:publish task because the ivy.xml doesn't contain them. I didn't know this was possible. Should add that to the page. In addition, the ivysetting-release.xml configures Ivy to automatically create a PGP signature of the artifacts. So there is no need to declare them any longer as artifact. and this as well. Please double-check the changes I'll make to the wiki page in a few minutes. I'll go affline for about a week, so there'll be plenty of time for feedback before the content goes to the main site. Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org
Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
Hi there, ivy:deliver is used to generate the ivy.xml before publication based on the last resolved informations. Why are we generating an ivy.xml here ? Because when publishing, ivy adds some attributes in the generated ivy.xml file (like publication date, publication revision, publication branch). One other goal of the ivy:deliver is to replace dynamic revisions in project dependencies (if you use latest.revision, or [2.2.+[ or stuff like that in your dependencies). To sum up ivy:deliver fixes every dynamic value in the ivy.xml file to make it reproducible. ivy:publish can make the deliver process if you haven't do it explictly before. So you can consider ivy:deliver as optionnal. In some cases, invoking explicitly ivy:deliver is required : - If you want to do some post processing on ivy.xml file before publishing - If you're using recursive delivery HTH 2010/10/8 Stefan Bodewig bode...@apache.org Hi, I have one issue that is slowly bubbling up on my TODO list: I promised to provide Ant+Ivy content for http://www.apache.org/dev/publishing-maven-artifacts.html Rather than starting a lengthy thread on this list, I've created a Wiki page http://wiki.apache.org/ant/PublishingMavenArtifactsWithAntAndIvy Please review what I've written, in particular the Ivy specific parts since I'm really a newbie when it comes to Ivy. If anybody could explain to me why we use the deliver task at all, I'd be grateful. Thanks Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org
Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
At the beggining of the documentation you say In addition you will need a minimal POM for your jar. Are you planning to maintain dependencies in both ivy.xml / pom.xml manually? Ivy offers a task that can generate a pom.xml from a given ivy.xml ( http://ant.apache.org/ivy/history/trunk/use/makepom.html). However the support is quite limited and provided many limations. I'll get back later with some additional informations on the limitations and already possible alternatives. Stay tuned :p 2010/10/8 Jean-Louis Boudart jeanlouis.boud...@gmail.com Hi there, ivy:deliver is used to generate the ivy.xml before publication based on the last resolved informations. Why are we generating an ivy.xml here ? Because when publishing, ivy adds some attributes in the generated ivy.xml file (like publication date, publication revision, publication branch). One other goal of the ivy:deliver is to replace dynamic revisions in project dependencies (if you use latest.revision, or [2.2.+[ or stuff like that in your dependencies). To sum up ivy:deliver fixes every dynamic value in the ivy.xml file to make it reproducible. ivy:publish can make the deliver process if you haven't do it explictly before. So you can consider ivy:deliver as optionnal. In some cases, invoking explicitly ivy:deliver is required : - If you want to do some post processing on ivy.xml file before publishing - If you're using recursive delivery HTH 2010/10/8 Stefan Bodewig bode...@apache.org Hi, I have one issue that is slowly bubbling up on my TODO list: I promised to provide Ant+Ivy content for http://www.apache.org/dev/publishing-maven-artifacts.html Rather than starting a lengthy thread on this list, I've created a Wiki page http://wiki.apache.org/ant/PublishingMavenArtifactsWithAntAndIvy Please review what I've written, in particular the Ivy specific parts since I'm really a newbie when it comes to Ivy. If anybody could explain to me why we use the deliver task at all, I'd be grateful. Thanks Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org
Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
Hello Stefan, I have been too busy to do any ant related work since a few months but I hope to catch up now. Your wiki page is very good. I also had promised to work on this how to to a colleague of maven or of the repository but did not deliver :( Thanks for this, Antoine On 10/8/2010 9:58 AM, Stefan Bodewig wrote: Hi, I have one issue that is slowly bubbling up on my TODO list: I promised to provide Ant+Ivy content for http://www.apache.org/dev/publishing-maven-artifacts.html Rather than starting a lengthy thread on this list, I've created a Wiki pagehttp://wiki.apache.org/ant/PublishingMavenArtifactsWithAntAndIvy Please review what I've written, in particular the Ivy specific parts since I'm really a newbie when it comes to Ivy. If anybody could explain to me why we use the deliver task at all, I'd be grateful. Thanks Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org
Re: Review Needed for Publishing Maven Artifacts with Ivy Doc
The ivy:makepom task has been greatly enhanced in Ivy 2.2.0. It is now possible to specify a custom pom template containing information about the license, SCM, plugins, developers, ... Here is how Ivy publishes itself to the Nexus repository. ivy:makepom ivyfile=${artifacts.build.dir}/ivy.xml pomfile=${m2.distrib.dir}/ivy-${build.version}.pom templatefile=${basedir}/src/etc/makepom/pom.template mapping conf=core scope=compile/ mapping conf=test scope=test/ /ivy:makepom ivy:settings id=upload.settingsId file=ivysettings-release.xml / ivy:resolve file=${basedir}/build/artifact/ivy.xml transitive=false / ivy:publish organisation=org.apache.ivy module=ivy revision=${build.version} srcivypattern=${basedir}/build/artifact/ivy.xml artifactspattern=${basedir}/build/distrib/maven2/[revision]/[artifact]-[revision](-[classifier]).[ext] publishivy=false conf=core settingsRef=upload.settingsId resolver=nexus !-- The standard maven2 artifacts -- artifact name=ivy ext=pom type=ivy / artifact name=ivy ext=jar type=sources classifier=sources / artifact name=ivy ext=jar type=javadoc classifier=javadoc / /ivy:publish We declare some additional artifacts (like the generated pom and the sources/javadocs) inside the ivy:publish task because the ivy.xml doesn't contain them. In addition, the ivysetting-release.xml configures Ivy to automatically create a PGP signature of the artifacts. So there is no need to declare them any longer as artifact. Maarten - Original Message From: Jean-Louis Boudart jeanlouis.boud...@gmail.com To: Ant Developers List dev@ant.apache.org Sent: Fri, October 8, 2010 5:03:37 PM Subject: Re: Review Needed for Publishing Maven Artifacts with Ivy Doc At the beggining of the documentation you say In addition you will need a minimal POM for your jar. Are you planning to maintain dependencies in both ivy.xml / pom.xml manually? Ivy offers a task that can generate a pom.xml from a given ivy.xml ( http://ant.apache.org/ivy/history/trunk/use/makepom.html). However the support is quite limited and provided many limations. I'll get back later with some additional informations on the limitations and already possible alternatives. Stay tuned :p 2010/10/8 Jean-Louis Boudart jeanlouis.boud...@gmail.com Hi there, ivy:deliver is used to generate the ivy.xml before publication based on the last resolved informations. Why are we generating an ivy.xml here ? Because when publishing, ivy adds some attributes in the generated ivy.xml file (like publication date, publication revision, publication branch). One other goal of the ivy:deliver is to replace dynamic revisions in project dependencies (if you use latest.revision, or [2.2.+[ or stuff like that in your dependencies). To sum up ivy:deliver fixes every dynamic value in the ivy.xml file to make it reproducible. ivy:publish can make the deliver process if you haven't do it explictly before. So you can consider ivy:deliver as optionnal. In some cases, invoking explicitly ivy:deliver is required : - If you want to do some post processing on ivy.xml file before publishing - If you're using recursive delivery HTH 2010/10/8 Stefan Bodewig bode...@apache.org Hi, I have one issue that is slowly bubbling up on my TODO list: I promised to provide Ant+Ivy content for http://www.apache.org/dev/publishing-maven-artifacts.html Rather than starting a lengthy thread on this list, I've created a Wiki page http://wiki.apache.org/ant/PublishingMavenArtifactsWithAntAndIvy Please review what I've written, in particular the Ivy specific parts since I'm really a newbie when it comes to Ivy. If anybody could explain to me why we use the deliver task at all, I'd be grateful. Thanks Stefan - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org -- Jean Louis Boudart Independent consultant Project Lead http://www.easyant.org - To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org