ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Rekk <konstantin.r...@gbv.de>
Subject question: publish and deliver - how to force status in dependency
Date Thu, 18 Dec 2008 14:43:06 GMT
Hello,

I am a little confused about the generation of ivy files during (ant)
publish task (playing around with example
apache-ivy-2.0.0-rc2/src/example/multi-project/ ):

Citation from: 
http://ant.apache.org/ivy/history/latest-milestone/use/deliver.html

"If a deliver target is set, then it is called (via an antcall) for each
dependency which has not a suffisant status compared to the deliver
status set for this task. This means that if you deliver an integration
revision, no recursive delivery will be done."

Is my expectation right, that in case of using status release for
publishing as in common.xml:
    <!-- ================================= 
          target: publish              
         ================================= -->
    <target name="publish" depends="clean-build, jar" description="-->
publish this project in the ivy repository">
    	<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]" 
    			           resolver="shared"
    			           pubrevision="${version}" 
    			           status="release"
    	/>
        <echo message="project ${ant.project.name} released with version
${version}" />
    </target>

would force inclusion of dependencies with status release as well?

But look at the generated
multi-project/repository/shared/org.apache.ivy.example/console/1.0-dev-b5/ivys/ivy.xml :

<ivy-module version="1.0">
    <info organisation="org.apache.ivy.example" module="console"
revision="1.0-dev-b5" status="release" publication="20081217191943"/>
    <dependencies>
      <dependency name="version" rev="1.0-dev-b3"
revConstraint="latest.integration" conf="default"/>
      <dependency name="list" rev="1.0-dev-b3"
revConstraint="latest.integration" conf="default->standalone"/>
      <dependency name="find" rev="1.0-local-20081217183846"
revConstraint="latest.integration" conf="default->standalone"/>
      <dependency name="sizewhere" rev="1.0-dev-b3"
revConstraint="latest.integration" conf="default->standalone"/>
    </dependencies>
</ivy-module>

Please, could somebody here give me a hint, what's the best way to force
generated dependencies:
- status release -> include only release (publish on public)
- status milestone -> include only milestone and above (publish shared)
- status integration -> latest.integration and above (publish local)

Does this approach makes sense at all?

Thanks a lot!

Konstantin



Mime
View raw message