Just adding some more information,
the first time I run ProjectFoo, it works because ivy places my Host Name as
the ivy.revision attribute, thus fiding the "
[EMAIL PROTECTED]", the second time I
run, Ivy places as the ivy.revision attribute the value 1.0-alpha1,
consequently looking for
/home/deco/.ivy2/cache/resolved-info.projects-ProjectFoo-1.0-alpha1.xml,
obviously not finding (the file in cache is the one in red above).
Here the first run (,successful):
================ Log with -debug ===============
riding previous definition of property "ivy.version"
Setting project property: ivy.version -> 2.0.0-rc1-local-20080915151600
[ivy:publish] parameter found as attribute value:
ivy.organisation=info.projects
[ivy:publish] parameter found as attribute value: ivy.module=ProjectFoo
[ivy:publish] parameter found as attribute value:
[EMAIL PROTECTED] * // First time it uses the Host Name*
[ivy:publish] parameter not found: ivy.deliver.branch
[ivy:publish] parameter found as attribute value:
ivy.deliver.revision=1.0-alpha1
[ivy:publish] parameter found as attribute value:
ivy.deliver.ivy.pattern=/home/deco/workspace/ProjectFoo/dist/[artifact].[ext]
[ivy:publish] parameter found as attribute value: ivy.status=release
[ivy:publish] parameter not found: ivy.delivery.list.file
+Task: property
[property] Loading /tmp/delivery.properties
[property] Unable to find property file: /tmp/delivery.properties
:: delivering :: info.projects#ProjectFoo;[EMAIL PROTECTED] :: 1.0-alpha1 ::
release :: Mon Sep 15 16:14:15 GMT 2008
delivering ivy file to /home/deco/workspace/ProjectFoo/dist/ivy.xml
:: publishing :: info.projects#ProjectFoo
Publishing from /home/deco/workspace/ProjectFoo/dist/project-foo-linux.zip
to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-linux.zip
Added folder: r1954 by 'ivy' at Mon Sep 15 16:12:34 GMT 2008
Added folder: r1955 by 'ivy' at Mon Sep 15 16:12:35 GMT 2008
Publishing from /tmp/ivytemp64349sha1 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-linux.zip.sha1
Publishing from /tmp/ivytemp64351md5 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-linux.zip.md5
published project-foo-linux to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-linux.zip
Publishing from /home/deco/workspace/ProjectFoo/dist/project-foo-windows.zip
to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-windows.zip
Publishing from /tmp/ivytemp64354sha1 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-windows.zip.sha1
Publishing from /tmp/ivytemp64356md5 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-windows.zip.md5
published project-foo-windows to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/zips/project-foo-windows.zip
Publishing from /home/deco/workspace/ProjectFoo/dist/ivy.xml to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/ivys/ivy.xml
Added folder: r1962 by 'ivy' at Mon Sep 15 16:12:48 GMT 2008
Publishing from /tmp/ivytemp64359sha1 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/ivys/ivy.xml.sha1
Publishing from /tmp/ivytemp64361md5 to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/ivys/ivy.xml.md5
published ivy to
https://195.227.0.189/svn/deco/shared/info.projects/ProjectFoo/1.0-alpha1/ivys/ivy.xml
[echo] project Project - Foo - Release released with version 1.0-alpha1
[antcall] Exiting /home/deco/workspace/ProjectFoo/build.xml.
BUILD SUCCESSFUL
Total time: 1 minute 4 seconds
On Fri, Sep 12, 2008 at 4:28 PM, Paulo Santos <[EMAIL PROTECTED]>wrote:
> Hello all,
>
> I'm having trouble with ivy files in cache. Ivy looks for an ivy file in
> cache with the pattern "resolved-<organisation>-<module>-<revision>.xml"
> when publishing.
>
> Now, data from two projects, ProjectBar works, while ProjectFoo doesn't.
>
> In the successful project (ProjectBar), publishing finds the file. Here is
> the debug output:
>
> Overriding previous definition of property "ivy.revision"
> Setting project property: ivy.revision -> 1.0-dev-b4 //
> Current version
> Setting project property: ivy.new.revision -> 1.0-dev-b5 //
> New version
> Setting project property: ivy.build.number -> 4
> Setting project property: ivy.new.build.number -> 5
> version:
> [property] Loading
> /home/deco/workspace/ProjectBar/build/classes/ProjectBar.properties
> Setting project property: version -> 1.0-dev-b5
> publish-no-test:
> [ivy:publish] parameter found as ivy variable:
> ivy.organisation=info.projects
> [ivy:publish] parameter found as ivy variable:
> ivy.module=ProjectBar
> [ivy:publish] parameter found as ivy variable:
> [EMAIL PROTECTED] // Hey!! How is my host name as the
> old revision???
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.revision=1.0-dev-b5
> [ivy:publish] parameter found as attribute value:
> ivy.status=release
> [ivy:publish] parameter found as attribute value:
> ivy.organisation=info.projects
> [ivy:publish] parameter found as attribute value:
> ivy.module=ProjectBar
> [ivy:publish] parameter found as attribute value:
> [EMAIL PROTECTED] // Really don't get it!
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.revision=1.0-dev-b5
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.ivy.pattern=/home/deco/workspace/ProjectBar/dist/[artifact].[ext]
> [ivy:publish] parameter found as attribute value:
> ivy.status=release
> [ivy:publish] parameter not found: ivy.delivery.list.file
> +Task: property
> [property] Loading /tmp/delivery.properties
> [property] Unable to find property file: /tmp/delivery.properties
> [ivy:publish] :: delivering ::
> info.projects#ProjectBar;[EMAIL PROTECTED] :: 1.0-dev-b5 :: release :: Thu
> Sep 11 16:15:23 GMT 2008
> [ivy:publish] options = status=release pubdate=Thu Sep 11
> 16:15:23 GMT 2008 validate=true resolveDynamicRevisions=true resolveId=null
>
> ...
>
> Ok, really didn't quite understand, but actually works because all ivy
> files with the 'resolved' prefix that are written to my cache, have as
> revision my host name "[EMAIL PROTECTED]"; so ivy is able to find the
> file "[EMAIL PROTECTED]".
>
> In the second project (ProjectFoo) ivy doesn't find the file, here the
> debug output:
>
> Overriding previous definition of property "ivy.revision"
> Setting project property: ivy.revision -> 1.0-alpha1 //
> OK, current version
> Setting project property: ivy.new.revision -> 1.0-alpha2 //
> New version, so far so good.
> Setting project property: ivy.build.number -> 1
> Setting project property: ivy.new.build.number -> 2
> version:
> [property] Loading
> /home/deco/workspace/ProjectFoo/dist/ProjectFoo.properties
> Setting project property: version -> 1.0-alpha2
> publish:
> [echo] /home/deco/workspace/ProjectFoo/dist
> [ivy:publish] parameter found as ivy variable:
> ivy.organisation=info.projects
> [ivy:publish] parameter found as ivy variable:
> ivy.module=ProjectFoo
> [ivy:publish] parameter found as ivy variable:
> ivy.revision=1.0-alpha1 // Uau!!! Where is the 'trick' with the
> Host Name
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.revision=1.0-alpha2
> [ivy:publish] parameter found as attribute value:
> ivy.status=release
> [ivy:publish] parameter found as attribute value:
> ivy.organisation=info.projects
> [ivy:publish] parameter found as attribute value:
> ivy.module=ProjectFoo
> [ivy:publish] parameter found as attribute value:
> ivy.revision=1.0-alpha1 // actually found the right version.
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.revision=1.0-alpha2
> [ivy:publish] parameter found as attribute value:
> ivy.deliver.ivy.pattern=/home/deco/workspace/ProjectFoo/dist/[artifact].[ext]
> [ivy:publish] parameter found as attribute value:
> ivy.status=release
> [ivy:publish] parameter not found: ivy.delivery.list.file
> +Task: property
> [property] Loading /tmp/delivery.properties
> [property] Unable to find property file: /tmp/delivery.properties
> [ivy:publish] :: delivering :: info.projects#ProjectFoo;1.0-alpha1
> :: 1.0-alpha2 :: release :: Thu Sep 11 16:41:00 GMT 2008
> [ivy:publish] options = status=release pubdate=Thu Sep 11
> 16:41:00 GMT 2008 validate=true resolveDynamicRevisions=true resolveId=null
> [antcall] Exiting /home/deco/workspace/ProjectFoo/build.xml.
>
> BUILD FAILED
> /home/deco/workspace/ProjectFoo/build.xml:51: The following error
> occurred while executing this line:
> /home/deco/workspace/Release/release.xml:59: impossible to publish
> artifacts for info.projects#ProjectFoo;1.0-alpha1:
> info.projects#ProjectFoo;1.0-alpha1: java.lang.IllegalStateException: ivy
> file not found in cache for info.projects#ProjectFoo;1.0-alpha1: please
> resolve dependencies before delivering
> (/home/deco/.ivy2/cache/resolved-info.projects-ProjectFoo-1.0-alpha1.xml)
> at
> org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:541)
> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:418)
> at
> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
> at org.apache.tools.ant.Task.perform(Task.java:348)
> at org.apache.tools.ant.Target.execute(Target.java:357)
> at org.apache.tools.ant.Target.performTasks(Target.java:385)
> at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1298)
> at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> at
> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
> at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
> at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
> at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
> Caused by: /home/deco/workspace/Release/release.xml:59: impossible
> to publish artifacts for info.projects#ProjectFoo;1.0-alpha1:
> info.projects#ProjectFoo;1.0-alpha1:
> java.lang.IllegalStateException: ivy file not found in cache
> for info.projects#ProjectFoo;1.0-alpha1: please resolve dependencies before
> delivering (
> /home/deco/.ivy2/cache/resolved-info.projects-ProjectFoo-1.0-alpha1.xml)
>
> // Unfortunately, the file in cache is '
> [EMAIL PROTECTED]' and ivy is looking
> for 'resolved-info.projects-ProjectFoo-1.0-alpha1.xml'.
>
>
> Can anyone tell, what am I doing wrong, or if this is actually a bug?
>
> Thanks,
>
> Paulo
>
>
> Below are the "version" and "publish" targets for both projects
> ==============================================================
> ====================== ProjectFoo ===============================
> ==============================================================
> <target name="ivy-new-version" unless="ivy.new.revision">
> <!-- default module version prefix value -->
> <property name="module.version.prefix"
> value="${marketing.version.target}-${version.classifier}" />
>
> <!-- asks to ivy an available version number -->
> <ivy:info file="${ivy.file}" />
> <ivy:buildnumber
> organisation="${ivy.organisation}" module="${ivy.module}"
> revision="${module.version.prefix}" defaultBuildNumber="1"
> revSep=""/>
> </target>
>
> <target name="version" depends="ivy-new-version">
> <!-- create version file in classpath for later inclusion in jar
> -->
> <mkdir dir="${dist.root}"/>
> <echo message="version=${ivy.new.revision}" file="${dist.root}/${
> ant.project.name}.properties" append="false" />
> <!-- load generated version properties file -->
> <property file="${dist.root}/${ant.project.name}.properties" />
> </target>
>
>
> <target name="publish" depends="version" description="--> publish this
> project in the shared repository">
> <ivy:publish artifactspattern="${dist.root}/[artifact].[ext]"
> resolver="ivysvn"
> pubrevision="${version}"
> status="release"
> forcedeliver="true"
> />
> <echo message="project ${ant.project.name} released with version
> ${version}" />
> </target>
> ==============================================================
> ====================== /ProjectFoo ==============================
> ==============================================================
>
> ==============================================================
> ====================== ProjectBar ===============================
> ==============================================================
> <target name="ivy-new-version" unless="ivy.new.revision">
> <!-- default module version prefix value -->
> <property name="module.version.prefix"
> value="${module.version.target}-dev-b" />
>
> <!-- asks to ivy an available version number -->
> <ivy:info file="${ivy.file}" />
> <ivy:buildnumber
> organisation="${ivy.organisation}" module="${ivy.module}"
> revision="${module.version.prefix}" defaultBuildNumber="1"
> revSep=""/>
> </target>
>
> <target name="version" depends="ivy-new-version">
> <!-- create version file in classpath for later inclusion in jar
> -->
> <!-- <mkdir dir="${build.classes}"/>-->
> <echo message="version=${ivy.new.revision}"
> file="${build.classes}/${ant.project.name}.properties" append="false" />
> <!-- load generated version properties file -->
> <property file="${build.classes}/${ant.project.name}.properties"
> />
> </target>
>
> <target name="publish-no-test" depends="jar, version"
> description="--> publish this project in the shared repository">
> <ivy:publish artifactspattern="${dist.root}/[artifact].[ext]"
> resolver="ivysvn"
> pubrevision="${version}"
> status="release"
> />
> <echo message="project ${ant.project.name} released with
> version ${version}" />
> </target>
> ==============================================================
> ====================== /ProjectBar ==============================
> ==============================================================
>