[ 
https://issues.apache.org/jira/browse/IVY-1141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12901203#action_12901203
 ] 

Tyler Wall commented on IVY-1141:
---------------------------------

This may be of use to some of you...

My plan was to use "branch" to denote a specific release "stream".  

I use a qualifier to determine whether the publish came from a trunk or branch 
within that stream. 

i.e. 

1.0-alpha maps to a trunk publish triggered by Hudson on commit. 
1.1-dev maps to a branch publish by a developer working toward 1.1-alpha
1.1.2-rc maps to a release trunk created from a 1.1 developer trunk with 2 
fixes merged in from release branches.

Developer Stream

src/dev/ABC/trunk
src/dev/ABC/branches
src/dev/ABC/tags
src/dev/DEF/trunk
src/dev/DEF/branches
src/dev/DEF/tags
...

Release Stream 1

src/release/1/ABC-1.1-rc/trunk
src/release/1/ABC-1.1-rc/branches
src/release/1/ABC-1.1-rc/tags
src/release/1/DEF-2.0-rc//trunk
src/release/1/DEF-2.0-rc/branches
src/release/1/DEF-2.0-rc/tags

The work around was to create a separate Ivy repository for each release.  If a 
project was checked out from a release stream, the ivy settings would be 
overridden to point at another repository for the specific release.  This had 
the same effect as limiting the dynamic revisions to a branch so as developers 
worked in a release stream they were not effected by new versions not part of 
the stable release.

All projects committed to a trunk needed to set their dependency revisions to 
latest.alpha.  This would pull in trunk level dependencies or higher.  Branches 
could use latest.dev if they wanted to subscribe to other branches.  At 
scheduled points in time a release stream is made from the head of all trunks 
and built to populate the release baseline ivy repository.  

Tyler

> dependencies failed using branch attribute (and extra attrubutes)
> -----------------------------------------------------------------
>
>                 Key: IVY-1141
>                 URL: https://issues.apache.org/jira/browse/IVY-1141
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.0
>         Environment: windows 
>            Reporter: Daniel Schwager
>
> *** Investigation
> i tried to use the branch attribute inside my projekt DEV like this:
>       <ivy-module version="1.1">
>               <info ... module="DEV" ....
>               <dependency org="testng" name="testng" 
>                       branch="mybranch1" rev="latest.integration"  
>                       conf="compile,tests->default"/>
>               .....
> If I now try to resolve my dependencies, it failed
> because ivy 2.1.0 try to resolve the latest version (5.6) of testng/testng
> which has NO branch-keyword inside it's ivy.xml. The ivy.xml
> of version testng/testng/4.6 contains the following:
> <ivy-module version="1.1">
>     <info
>         organisation="testng" module="testng"
>         branch="mybranch1"  revision="4.6.1.2"
>         status="release"         
>         publication="20060227000000">
>       .....
> It looks like the resolver skip this 4.6.1.2 version (which is the only one 
> containing the 
> branch attribute "mybranch1") and try to download the 5.6 (containing NO 
> branch attribute !). 
> I go the following error message:
> [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
> ...
>       ---------------------------------------------------------------------
> [ivy:resolve] :: problems summary ::
> [ivy:resolve] :::: WARNINGS
> [ivy:resolve]                 ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve]                 ::          UNRESOLVED DEPENDENCIES         ::
> [ivy:resolve]                 ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve]                 :: testng#testng#mybranch1;latest.integration: 
> several problems occured while resolving dependency: 
> testng#testng#mybranch1;latest.integration {compile=[default], 
> tests=[default]}:
> [ivy:resolve]         java.text.ParseException: inconsistent module 
> descriptor file found in 'I:\testng\testng\5.6\ivy.xml': bad branch name: 
> expected='mybranch1' found='null'; 
> [ivy:resolve]         java.text.ParseException: inconsistent module 
> descriptor file found in 
> 'http://ivyrepos.dtnet.de/testng/testng/5.6/ivy.xml': bad branch name: 
> expected='mybranch1' found='null'; 
> [ivy:resolve]                 ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve] 
> [ivy:resolve] :::: ERRORS
> [ivy:resolve]                 shared-filesystem: bad branch name found in 
> I:\testng\testng\5.6\ivy.xml: expected='mybranch1 found='null'
> [ivy:resolve]                 shared-web: bad branch name found in 
> http://ivyrepos.dtnet.de/testng/testng/5.6/ivy.xml: expected='mybranch1 
> found='null'
> [ivy:resolve] 
> [ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
> *** Make it reproducable
> I create a VERY small sample project (build.xml & ivy.xml)
> using a sample ivyrepos on our server.
> Could somebody look closer to the problem by downloading the project from
>     http://www.opensource-online.org/fileadmin/swd/ivy/ivy-test.zip
> To run, yust unzip and start "ant -f build.xml" and you can see the failure:
> [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve]           ::          UNRESOLVED DEPENDENCIES         ::
> [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve]           :: testng#testng#mybranch1;latest.integration: 
> java.text.ParseException: inconsistent module descriptor file found in 'http:/
> www.opensource-online.org/fileadmin/swd/ivy/testng/testng/5.6/ivy.xml': bad 
> branch name: expected='mybranch1' found='';
> [ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:resolve]
> [ivy:resolve] :::: ERRORS
> [ivy:resolve]           default: bad branch name found in 
> http://www.opensource-online.org/fileadmin/swd/ivy/testng/testng/5.6/ivy.xml: 
> expected='myb
> anch1 found=''
> [ivy:resolve]
> [ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
> *** Same problem using extra attributes instead auf branch attribute
> if tried a workaround not using the branch-keyword but defining a own extra 
> atrribute like this:
> <ivy-module version="2.0" xmlns:swd="http://softwaredemo.de/ivy/extra";>
>  ...
>               <dependency org="testng" name="testng"  swd:suite="mybranch-e2" 
> rev="latest.integration"  
>                                       conf="compile,tests->default"/>
> But this tells me a similar result - also a failure.
> regards
> Danny
> P.S.: refer also to 
> http://old.nabble.com/dependencies-failed-using-branch-attribute-td26411302.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to