ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xavier MARTIN <zeflas...@gmail.com>
Subject Re: Weird behavior with status
Date Thu, 01 Dec 2011 23:19:45 GMT
Hello Kirby,

Thanks for the answer, but it's still not working.
I have slim down my ant and my ivy to the bare minimum ( I think ) but
still the behavior is the same.
Only the last status of the statuses will be resolved, not the other ones.

I have updated the wuestion on stackoverflow to be more consise, with
simple ant and ivy files (no varaiables, ... )
I still can't get the latest milestone or release :/

Thanks for any help you can provide...
----------------------------------------------------------------------
Xavier MARTIN aka zeflasher or xxlm
Visit my website if you love flash:
http://www.webbymx.net
http://dev.webbymx.net
----------------------------------------------------------------------


On Fri, Dec 2, 2011 at 9:01 AM, Kirby Files <kfiles@masergy.com> wrote:

> Here's what I said at stackoverflow:
>
> Wow, that looks like a very strange overloading of the dependency
> construct. I would stick with a simpler ivy.xml, with a single dependency
> upon moduleB. Just change the rev attribute at runtime using a property
> file. That is, coalesce all of your dependencies into:
>
>   <dependency org="com.org" name="moduleB" rev="${dependency.rev.moduleB}*
> *"
>
> conf="build-release->default;**build-milestone->default;**
> build-devs->default">
>
>            <artifact name="shared" type="swc" ext="swc" />
>            <artifact name="shared" type="src" ext="src.zip" />
>   </dependency>
>
> You can even supply a default value to the property (for IvyDE, for
> example) in your ivy-settings.xml:
>
> <property name="dependency.rev.moduleB"
>          value="latest.integration"
>          override="false"/>
>
> Thanks,
> ---
> Kirby Files
> Software Architect
> Masergy Communications
> kfiles@masergy.com
>
>
> Xavier MARTIN wrote on 12/01/2011 05:40 AM:
>
>  Hello,
>>
>> I'm relatively new to IVY and have been playing with it successfully the
>> past 2 months.
>> Few days ago I had the need of using configurations and statuses in my ivy
>> files.
>>
>> I've expected a weird behavior, or probably haven't set up the things the
>> right way.
>> To make it fast, it seems that IVY will only be able to find artifacts for
>> the last status of the statuses.
>> It doesn't matter if I use custom ones or the default ones.
>>
>> For instance for the default ones, it will find artifact witht the
>> integration status but not the milestone or release ones.
>>
>>
>> Now the details (copied from stackoverflow where I've asked the question
>> also)
>> http://stackoverflow.com/**questions/8336843/using-**
>> status-in-ivy-works-for-the-**less-stable-one-ie-**integration-not-for-t<http://stackoverflow.com/questions/8336843/using-status-in-ivy-works-for-the-less-stable-one-ie-integration-not-for-t>
>>
>>
>> I am trying desperately to have this working. I've spent the whole day on
>> it and can't find what's wrong.
>>
>> What I want to achieve is using different artifact depending on the
>> configuration used. The configuration are build-release, build-milestone
>> and build-devs.
>>
>> Here is my ivysettings.xml file
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ivysettings>
>>     <property name="upload.url" value="http://domain.com" />
>>
>>     <credentials
>>         host="domain.com"
>>         realm="Sonatype Nexus Repository Manager"
>>         username="deployment"
>>         passwd="deployment"
>>     />
>>
>>     <settings defaultResolver="main" />
>>
>>     <resolvers>
>>         <chain name="main" returnFirst="false">
>>             <filesystem
>>                 name="local"
>>                 checkmodified="true">
>>                 <artifact
>> pattern="${repository.dir}/[**organisation]/[module]/[**
>> revision]/[artifact].[ext]"
>> />
>>             </filesystem>
>>             <ibiblio name="public" m2compatible="true" root="
>> http://as-artifacts.org/**content/groups/public-**actionscript<http://as-artifacts.org/content/groups/public-actionscript>"
>> />
>>             <ibiblio
>>                 name="sonar6"
>>                 m2compatible="true"
>>                 root="http://domain.com"
>>
>> pattern="[organisation]/[**module]/[revision]/[artifact].**[ext]" />
>>         </chain>
>>         <url name="publishing" m2compatible="true">
>>             <artifact
>> pattern="${upload.url}/[**organisation]/[module]/[**
>> revision]/[artifact].[ext]"
>> />
>>         </url>
>>     </resolvers>
>> </ivysettings>
>>
>> and here is my ivy.xml file
>>
>> <ivy-module
>>     version="2.0"
>>     xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
>> "
>>     xsi:noNamespaceSchemaLocation=**"http://ant.apache.org/ivy/**
>> schemas/ivy.xsd <http://ant.apache.org/ivy/schemas/ivy.xsd>
>> "
>>
>>>
>>>
>>     <info
>>         organisation="com.org"
>>         module="amodule"
>>         status="integration"
>>     />
>>
>>     <configurations>
>>         <conf name="build-release" description="Dependencies used for
>> release (remote dependencies, status release)"/>
>>         <conf name="build-milestone" description="Dependencies used for
>> test (remote dependencies, status milestone)" />
>>         <conf name="build-devs" description="Dependencies used for
>> development (local/remote dependencies, status integration)" />
>>     </configurations>
>>
>>     <publications>
>>         <artifact type="swf" ext="swf" />
>>         <artifact type="src" ext="src.zip" />
>>     </publications>
>>
>>     <dependencies>
>> <!-- Default dependencies -->
>>     <!-- Tink flex spark update, stored on google code-->
>>         <dependency org="ws.tink" name="flex4_spark" rev="1">
>>            <artifact name="tweenlite" type="swc" ext="swc" url="
>> http://tink.googlecode.com/**files/tink_flex4_spark.swc<http://tink.googlecode.com/files/tink_flex4_spark.swc>
>> "/>
>>         </dependency>
>>
>>     <!-- Tweenlite -->
>>         <dependency org="com.greensock.as3" name="tweenlite" rev="11.691">
>>            <artifact name="tweenlite" type="swc" ext="swc" />
>>            <artifact name="tweenlite" type="src" ext="src.zip" />
>>         </dependency>
>>
>> <!-- Specific dependencies depending on build (integration, milestone or
>> release -->
>> <!-- DEVELOPMENT -->
>>     <!-- moduleB -->
>>         <dependency org="com.org" name="moduleB" rev="latest.integration"
>> changing="true" conf="build-devs->default">
>>             <artifact name="shared" type="swc" ext="swc" />
>>             <artifact name="shared" type="src" ext="src.zip" />
>>         </dependency>
>>
>>
>> <!-- INTEGRATION (IE TESTING)-->
>>     <!-- moduleB -->
>>         <dependency org="com.org" name="moduleB" rev="latest.milestone"
>> changing="true" conf="build-milestone->**default">
>>             <artifact name="shared" type="swc" ext="swc" />
>>             <artifact name="shared" type="src" ext="src.zip" />
>>         </dependency>
>>
>> <!-- RELEASE -->
>>     <!-- moduleB -->
>>         <dependency org="com.org" name="moduleB" rev="latest.release"
>> conf="build-release->default">
>>             <artifact name="shared" type="swc" ext="swc" />
>>             <artifact name="shared" type="src" ext="src.zip" />
>>         </dependency>
>>     </dependencies>
>> </ivy-module>
>>
>> So as you can see depending on the configuration used, different version
>> of
>> the moduleB will be used. This is because the build script is run by: -
>> developers - autobuild (for testing) - autobuild (for release) A flag is
>> set in ant to tell which conf to use.
>>
>> Now, if the conf used is build-devs, meaning using the latest.integration
>> revision for moduleB it will work and download it. If the conf
>> build-milestone is used so get the moduleB using latest.milestone
>> revision,
>> the artifact won't be found, although listed
>>
>> :: problems summary ::
>> :::: WARNINGS
>>         module not found: com.org#moduleB;latest.**milestone<http://com.org#moduleB;latest.milestone>
>>
>>     ==== local: tried
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.src.zip(src)<http://com.org#moduleB;latest.milestone%21moduleB.src.zip%28src%29>
>> **:
>>
>>       C:/repository/com.org/moduleB/**revision]/moduleB.src.zip<http://com.org/moduleB/revision%5D/moduleB.src.zip>
>>
>>       [0.0.5.0 (MD)]<-- this is the milestone release
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.swc<http://com.org#moduleB;latest.milestone%21moduleB.swc>
>> :
>>
>>       C:/repository/com.org/moduleB/**[revision]/moduleB.swc<http://com.org/moduleB/%5Brevision%5D/moduleB.swc>
>>
>>       [0.0.5.0 (MD)]
>>
>>     ==== public: tried
>>
>>
>> http://as-artifacts.org/**content/groups/public-**
>> actionscript/com/org/moduleB/[**revision]/moduleB-[revision].**pom<http://as-artifacts.org/content/groups/public-actionscript/com/org/moduleB/%5Brevision%5D/moduleB-%5Brevision%5D.pom>
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.swc<http://com.org#moduleB;latest.milestone%21moduleB.swc>
>> :
>>
>>
>> http://as-artifacts.org/**content/groups/public-**
>> actionscript/com/org/moduleB/[**revision]/moduleB-[revision].**swc<http://as-artifacts.org/content/groups/public-actionscript/com/org/moduleB/%5Brevision%5D/moduleB-%5Brevision%5D.swc>
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.src.zip(src)<http://com.org#moduleB;latest.milestone%21moduleB.src.zip%28src%29>
>> **:
>>
>>
>> http://as-artifacts.org/**content/groups/public-**
>> actionscript/com/org/moduleB/[**revision]/moduleB-[revision].**src.zip<http://as-artifacts.org/content/groups/public-actionscript/com/org/moduleB/%5Brevision%5D/moduleB-%5Brevision%5D.src.zip>
>>
>>     ==== domain.com: tried
>>
>>       http://domain.com/com/org/**moduleB/[revision]/moduleB.pom<http://domain.com/com/org/moduleB/%5Brevision%5D/moduleB.pom>
>>
>>       [0.0.1.0 (unreachable)]
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.src.zip(src)<http://com.org#moduleB;latest.milestone%21moduleB.src.zip%28src%29>
>> **:
>>
>>       http://domain.com/com/org/**moduleB/[revision]/moduleB.**src.zip<http://domain.com/com/org/moduleB/%5Brevision%5D/moduleB.src.zip>
>>
>>       [0.0.1.0 (MD)]
>>
>>       -- artifact com.org#moduleB;latest.**milestone!moduleB.swc<http://com.org#moduleB;latest.milestone%21moduleB.swc>
>> :
>>
>>       http://domain.com/com/org/**moduleB/[revision]/moduleB.swc<http://domain.com/com/org/moduleB/%5Brevision%5D/moduleB.swc>
>>
>>       [0.0.1.0 (MD)]
>>
>> This is the ivy.xml in my local repository
>> (C:\repository\com.sonar6.**thor\shared\0.0.5.0)
>>
>> <ivy-module version="2.0" xmlns:xsi="
>> http://www.w3.org/2001/**XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>"
>> xsi:noNamespaceSchemaLocation=**"
>> http://ant.apache.org/ivy/**schemas/ivy.xsd<http://ant.apache.org/ivy/schemas/ivy.xsd>
>> ">
>>
>>     <info organisation="com.org" module="moduleB" revision="0.0.5.0"
>> status="milestone" publication="20111201174403"/>
>>
>>     <configurations>
>>         <conf name="build-release" description="Dependencies used for
>> release (remote dependencies, status release)"/>
>>         <conf name="build-milestone" description="Dependencies used for
>> test (remote dependencies, status milestone)"/>
>>         <conf name="build-devs" description="Dependencies used for
>> development (local/remote dependencies, status integration)"/>
>>     </configurations>
>>
>>     <publications>
>>         <artifact type="swc" ext="swc"/>
>>         <artifact type="src" ext="src.zip"/>
>>     </publications>
>>
>>     <dependencies>
>> <!-- Default dependencies -->
>>     <!-- Flash Console -->
>>         <dependency org="com.junkbyte" name="Console" rev="2.51">
>>            <artifact name="Console" type="swc" ext="swc"/>
>>            <artifact name="Console" type="src" ext="src.zip"/>
>>         </dependency>
>>
>>     <!-- Robotlegs -->
>>         <dependency org="org.robotlegs" name="robotlegs-framework"
>> rev="1.4.0">
>>             <artifact name="robotlegs-framework" type="swc" ext="swc"/>
>>             <artifact name="robotlegs-framework" type="src"
>> ext="src.zip"/>
>>         </dependency>
>>
>>     <!-- Signals -->
>>         <dependency org="org.osflash" name="as3-signals" rev="0.8">
>>             <artifact name="as3-signals" type="swc" ext="swc"/>
>>             <artifact name="as3-signals" type="src" ext="src.zip"/>
>>         </dependency>
>>
>>     <!-- Signal extension for Robotleg -->
>>         <dependency org="org.robotlegs.plugins"
>> name="signals-extension-**command" rev="0.5">
>>            <artifact name="signals-extension-**command" type="swc"
>> ext="swc"/>
>>            <artifact name="signals-extension-**command" type="src"
>> ext="src.zip"/>
>>         </dependency>
>>
>>     </dependencies>
>> </ivy-module>
>>
>> Now the FUN PART! Before using the defaults statuses from IVY I used mine.
>> It had the exact same behavior (that's why I tried the defaults one then).
>> The fun bits is that if I had
>>
>> <statuses default="status-dev">
>>     <status name="status-stable" integration="false"/>
>>     <status name="status-test" integration="false"/>
>>     <status name="status-dev" integration="true" />
>> </statuses>
>>
>> The only latest.[status] working will be for status-dev. Now if I change
>> the status order to
>>
>> <statuses default="status-dev">
>>     <status name="status-stable" integration="false"/>
>>     <status name="status-dev" integration="true" />
>>     <status name="status-test" integration="false"/>
>> </statuses>
>>
>> The only one working will be status-test.
>>
>> So I wonder if I'm hitting a bug in IVY, but I think I probably have done
>> something wrong.
>> I'm using ant 1.8.0 and IVY 2.2.0 with JDK 1.6.0
>>
>> Thanks for any help you could provide :)
>>
>> Xavier
>>
>>
>>
>> ------------------------------**------------------------------**
>> ----------
>> Xavier MARTIN aka zeflasher or xxlm
>> Visit my website if you love flash:
>> http://www.webbymx.net
>> http://dev.webbymx.net
>> ------------------------------**------------------------------**
>> ----------
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message