Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

good ivy tutorial for local repository? [closed]

Tags:

ant

ivy

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.

like image 453
Jason S Avatar asked Jul 29 '09 14:07

Jason S


2 Answers

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.

Added: Publishing from within ANT

<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> 
like image 80
Mark O'Connor Avatar answered Sep 20 '22 17:09

Mark O'Connor


don't know if you're using SVN, if this is the case this may help:

http://code.google.com/p/ivysvn/

like image 23
Marc Avatar answered Sep 24 '22 17:09

Marc