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 Fri, 02 Dec 2011 08:49:42 GMT
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.org#moduleB;latest.**milestone%21moduleB.src.zip%28src%29>
>> <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>
>> <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>
>> <http://com.org#moduleB
>> >> ;latest.milestone%21moduleB.swc>
>> >> :
>> >>
>> >>
>> >> C:/repository/com.org/moduleB/**[revision]/moduleB.swc<http://com.org/moduleB/**%5Brevision%5D/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://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.org#moduleB;latest.**milestone%21moduleB.src.zip%28src%29>
>> <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.org#moduleB;latest.**milestone%21moduleB.src.zip%28src%29>
>> <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://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
>> >> ------------------------------**------------------------------**
>> >> ----------
>> >>
>> >
>> >
>>
>
>

Mime
View raw message