Ivy: Using dynamic revisions -
i'm having problems understanding how use dynamic revisions of ivy in java projects.
currently, have following layout:
lib-a revision: 1.0.0 status: release dependencies: none lib-b revision: 2.0.0 status: release dependencies: lib-a, rev 1.0.0 project-a revision: 3.0.0 status: release dependencies: lib-b, rev 2.0.0 project-b revision: 4.0.0 status: release dependencies: lib-b, rev 2.0.0
that means keep status release
, use explicit version numbers. if change lib-a
during development, lib-a
, quite painful.
i save changes in lib-a
, update revision in ivy file 1.0.1
minor change. need update dependencies of lib-b announce revision 1.0.1 of lib-a. either update revision of lib-b
, project-a
because project-a
executable , contains integration tests need run.
the second way re-publish lib-b
updated dependencies same version. works ant on command line not netbeans ivy-beans plugin. still use cached version of ivy file of lib-b.
need clean local cache make work.
i use common build-ivy.xml
ant script in our svn repository projects. each project has build.xml
in project's root of time includes build-ivy.xml
. necessary tasks added or overwritten. i've read here , here solution might using dynamic revisions. far understand it, set revision in ivy files integration-latest
, set status in ivy files integration
. then, ivy resolve latest version automatically. set revision of modules to? omit completely? how create release version? need change ivy files , set status release
or perform deliver task before publishing module overwriting status release
if possible?
i suggest reading following tutorial on multi-module projects in ivy.
ant builds traditionally big , monolithic. need emulate maven's way of splitting large project series of smaller builds. each sub-build publishes it's artifact ivy's local repo.
ivy has lots of useful tasks kind of structure:
- buildlist - called overall main build file. use each sub-module's ivy.xml , determine proper build order (some modules depende on others)
- buildnumber - looks @ published , generate next build number in sequence
- publish - push artifacts local repo (or foreign one, if configured in ivysettings.xml file)
Comments
Post a Comment