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 07:44:34 GMT
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>
> >>
> >>       [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>
> >>
> >>       [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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message