Can anyone point me at a good tutorial for making & using a local repository with Ivy? (Please don't point me at the Ivy docs, the tutorials are rather confusing)
I need to make a local repository to include .jar files that aren't necessarily available through the public maven repositories.
Creating a local ivy repository is straight forward, maven is not required. Here's an example of publishing some text files using ivy as a standalone program.
I have 3 files I want to publish:
src/English.txt src/Spanish.txt src/Irish.txt
The ivy file src/ivy.xml details the name of the module and a list of the artifacts being published. (Release index)
<ivy-module version="2.0"> <info organisation="myorg" module="hello"/> <publications> <artifact name="English" ext="txt" type="doc"/> <artifact name="Irish" ext="txt" type="doc"/> <artifact name="Spanish" ext="txt" type="doc"/> </publications> </ivy-module>
You'll also need an ivy settings file to tell ivy where the repository is located
<ivysettings> <property name="repo.dir" value=".../repo"/> <settings defaultResolver="internal"/> <resolvers> <filesystem name="internal"> <ivy pattern="${repo.dir}/[module]/ivy-[revision].xml" /> <artifact pattern="${repo.dir}/[module]/[artifact]-[revision].[ext]" /> </filesystem> </resolvers> </ivysettings>
Finally run ivy to publish the released version 1.0:
java -jar $IVY -settings config/ivysettings.xml \ -ivy src/ivy.xml \ -publish internal \ -publishpattern "src/[artifact].[ext]" \ -revision 1.0 \ -status release \ -overwrite
Note the publish pattern. It tells ivy where the files to be published are located.
<target name="publish" depends="clean,package" description="Publish this build into repository"> <ivy:publish pubrevision="${pub.version}" status="${pub.status}" resolver="${pub.resolver}" > <artifacts pattern="${build.dir}/dist/[artifact].[ext]"/> </ivy:publish> </target>
don't know if you're using SVN, if this is the case this may help:
http://code.google.com/p/ivysvn/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With