ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bhatia <Bha...@OFAC.CH>
Subject resolve errors related to configuration
Date Wed, 22 Aug 2007 13:37:30 GMT

Hello,

I make an ivy file from .project and .websettings files in Eclipse where
.project is for compile-time dependencies and .websettings for run-time
dependencies. I am trying to specify these configurations in my ivy.xml file
and the logic I am using is as follows.

If a dependency is coming from a .project file, I specify conf="compile" in
my <dependency> attribute and if it is coming from a .websettings file, I
specify conf="run". If a particular dependency exists in both Eclipse files,
I specify it as conf="compile,run". Is this the right way ?

Since our projects have circular dependencies at compile-time, I also
specify the attribute transitive="true" for compile-time deps just for
clarity although I know its not really needed since by default its "true"
anyway. For run-time dependencies, I specify the attribute
transitive="false". If a particular dependency exists in both "compile" and
"run" configs, I specify transitive="false".

The following is what I am trying to achieve:
1) Resolving on a compile time config must get me compile time artifacts
transitively
2) Resolving on a run time config must get me run time artifacts only
non-transitively
3) I want the flexibility to chose which configuration I want to publish to
the repository. If its run-time, then I should be able to fetch run-time
artifacts into my web project's /WEB-INF/lib, package them into a war and
publish. Is it possible to specify this in a <publish> tag  ?

This is how I started doing all this. I dont know if its the right way to go
about it though and I am seeking your inputs on this. All that I know is
that our projects our heavily circularly dependant at compile-time.

Here it goes. To specify that web project "nr" has 2 configurations and that
all its dependencies participate in these configurations:

******************************************************************
<ivy-module version="1.0">
 <info organisation="ofac" module="nr" revision="prod"/>
<configurations>
	<conf name="compile" description="compile-time deps only" transitive="true"
visibility="public"/>
	<conf name="run" description="run-time deps only, also used for creating
and publishing an artifact" transitive="false" visibility="public"/>
</configurations>
<publications>
	<artifact name="nr" type="war"/>
	<artifact name="nr" type="source" ext="src.jar"/>
</publications>
 <dependencies>
    <dependency org="ofac" name="OFACDI" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACNR" rev="prod" conf="compile,run"
transitive="false"/>
    <dependency org="ofac" name="fa" rev="prod" conf="compile"
transitive="true">
        <artifact name="fa" type="war"/>
    </dependency>
    <dependency org="ofac" name="ph" rev="prod" conf="compile"
transitive="true">
        <artifact name="ph" type="war"/>
    </dependency>
    <dependency org="ofac" name="OFACFC" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACPool" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACTO" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACRM" rev="prod" conf="compile,run"
transitive="false"/>
    <dependency org="ofac" name="OFACFA" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACNF" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACXEDO" rev="prod" conf="compile,run"
transitive="false"/>
    <dependency org="ofac" name="OFACCZ" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACCS" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACPage" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="ad" rev="prod" conf="compile"
transitive="true">
        <artifact name="ad" type="war"/>
    </dependency>
    <dependency org="ofac" name="OFACCL" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACIM" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACAD" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACWeb" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACMN" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACWW" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACCA" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACGD" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACStandard" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACOF" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACFramework" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACCommon" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACDO" rev="prod" conf="compile"
transitive="true"/>
    <dependency org="ofac" name="OFACDL" rev="prod" conf="compile,run"
transitive="false"/>
 </dependencies>
 <conflicts>
    <manager name="ofac-cm" org="ofac"/>
    <manager name="latest-revision" org="(?!ofac).*"/>
 </conflicts>
</ivy-module>
**************************************************************************3

I am using the same logic for each artifact's ivy file in the repository
too. Is this the right way to specify my configs ?

thanks





-- 
View this message in context: http://www.nabble.com/resolve-errors-related-to-configuration-tf4311679.html#a12274854
Sent from the ivy-user mailing list archive at Nabble.com.


Mime
View raw message