[
https://issues.apache.org/jira/browse/IVY-814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maarten Coene resolved IVY-814.
-------------------------------
Resolution: Fixed
I've updated the IvyPatternHelper class to also use the branch when a
ModuleRevisionId is passed + added a JUnit test.
Thanks for reporting this!
> Filesystem resolver does not evaluate [branch] token when publishing
> --------------------------------------------------------------------
>
> Key: IVY-814
> URL: https://issues.apache.org/jira/browse/IVY-814
> Project: Ivy
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.0-beta-1, 2.0.0-beta-2
> Environment: Found on Mac OS X, but should be reproduced everywhere
> Reporter: Ivan "Rambius" Ivanov
> Assignee: Maarten Coene
> Fix For: 2.0-RC1
>
> Attachments: FileSystemResolver.diff, IVY-814.zip
>
>
> I have the following settings file
> {noformat}
> <ivysettings>
> <property name="repository.dir" value="${user.home}/.ivyrepo"/>
> <settings defaultResolver="local"/>
> <resolvers>
> <filesystem name="local">
> <ivy
> pattern="${repository.dir}/[organisation]/[module]/[branch]/[revision]/ivy.xml"/>
> <artifact
> pattern="${repository.dir}/[organisation]/[module]/[branch]/[revision]/[artifact].[ext]"/>
> </filesystem>
> </resolvers>
> <modules>
> <module branch="br-1" organisation="claudia.homeunix.net" name="*"/>
> </modules>
> </ivysettings>
> {noformat}
> For all project in my organisation I want to use branch br-1. However, after
> I configure ivy, download the dependencies, build my project and I attempt to
> publish it, I receive the following output:
> {noformat}
> :: publishing :: claudia.homeunix.net#hwlib
> published hwlib to
> /Users/rambus/.ivyrepo/claudia.homeunix.net/hwlib/br-1/1.0.part/hwlib.jar
> published ivy to
> /Users/rambus/.ivyrepo/claudia.homeunix.net/hwlib/br-1/1.0.part/ivy.xml
> publish commited: moved
> /Users/rambus/.ivyrepo/claudia.homeunix.net/hwlib/1.0.part
> to /Users/rambus/.ivyrepo/claudia.homeunix.net/hwlib/1.0
> {noformat}
> I use the latest from trunk updated today.
> As it can be seen the artifacts are published to the repository, but when
> they are committed the branch is skipped from the URL - the directory
> /Users/rambus/.ivyrepo/claudia.homeunix.net/hwlib/1.0 does not exist at all.
> I traced the reason of this behaviour down to
> FileSystemResolver.initTransaction(ModuleRevisionId module). There it
> initializes from the artifact pattern defined in the settings file the
> transaction's temporary directory and the transaction's destination
> directory, respectively the String variables transactionTempDir and
> transactionDestDir. The patterns are substituted using
> IvyPatternHelper.substitute(String pattern, ModuleRevisionId moduleRevision)
> and the problem lies in this method - it does not use the branch.
> I am submitting a patch of FileSystemResolver that uses
> IvyPatternHelper.substitute(String pattern, String org, String module, String
> branch, String revision, String artifact, String type, String ext, String
> conf, ArtifactOrigin origin, Map extraAttributes)
> as this is the only method that uses the branch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.