Ok I have tried again and have set up a project (attached)

moduleB is the module being publish (already published 3 times 0.0.1 as integration, 0.0.2 as release, and 0.0.3 as milestone, using the ant/ivy task.

moduleA is the module getting the dependency (moduleB).

And I hit the same problem, it works for integration but not for milestone or release.

If you can have a look and let me know what I have done wrong that would be awesome :)

Thanks again for your help.

PS: you will have to edit the path of the local repository in both ivysettings.xml files.
----------------------------------------------------------------------
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 8:44 PM, Xavier MARTIN <zeflasher@gmail.com> wrote:
Hello Kirby,

I have also tried this (at the beginning) and it was also not working.
I will create a test project and will see how it goes. And if I encounter the weird behavior I will be able to attached the whole thing for people to have a look at.

Thanks again a lot for your advices.

Cheers,

----------------------------------------------------------------------
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 5:31 PM, Kirby Files <Kfiles@masergy.com> wrote:
I just noticed on StackOverflow that you're actually editing the status of the published module in its ivy.xml *in the repo*. Are you clearing all Ivy caches after doing this? Because Ivy's never going to notice a change to the ivy.xml if you didn't change the revision. Ivy's caching strategy assumes that modules, once published, don't change their metadata.

If I were you, I'd really try to experiment in a more serious way: follow the full workflow, as you would in a production setting. That is, publish moduleB with a given revision and status; change the revision and status and publish a second version. Then setup your dependencies as I mentioned, setting the properties as appropriate in your build target. I would stick with the default statuses at first, and only add custom statuses once you've successfully tested that.

Thanks,
  --kirby

-----Original Message-----
From: Xavier MARTIN [mailto:zeflasher@gmail.com]
Sent: Thursday, December 01, 2011 6:20 PM
To: ivy-user@ant.apache.org
Subject: Re: Weird behavior with status

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-fo
>> r-t<http://stackoverflow.com/questions/8336843/using-status-in-ivy-wo
>> rks-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.g
>> ooglecode.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.mile
>> stone>
>>
>>     ==== local: tried
>>
>>       -- artifact
>> com.org#moduleB;latest.**milestone!moduleB.src.zip(src)<http://com.or
>> g#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<ht
>> tp://as-artifacts.org/content/groups/public-actionscript/com/org/modu
>> leB/%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<ht
>> tp://as-artifacts.org/content/groups/public-actionscript/com/org/modu
>> leB/%5Brevision%5D/moduleB-%5Brevision%5D.swc>
>>
>>       -- artifact
>> com.org#moduleB;latest.**milestone!moduleB.src.zip(src)<http://com.or
>> g#moduleB;latest.milestone%21moduleB.src.zip%28src%29>
>> **:
>>
>>
>> http://as-artifacts.org/**content/groups/public-**
>> actionscript/com/org/moduleB/[**revision]/moduleB-[revision].**src.zi
>> p<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://dom
>> ain.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.or
>> g#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://dom
>> ain.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
>> ------------------------------**------------------------------**
>> ----------
>>
>
>