[
https://issues.apache.org/jira/browse/IVY-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753852#action_12753852
]
Lucas Lech commented on IVY-1120:
---------------------------------
I've been running two parallel debugging sessions - the ant task that was
invoking *ivy:buildnumber* was in first session executed directly and in
another one it was executed as dependency of some other task (somewhere down
the line of dependency graph) - few other ivy tasks, like ivy:publish have been
executed before
so in both sessions *ivy:buildnumber* has been fed with exactly the same
attributes
clearly the comparison in the matcher is broken unless there is something I'm
missing here
after replacing == with .equals & rebuilding ivy, this task started to work
properly
> IvyBuildNumber non-deterministic behaviour
> ------------------------------------------
>
> Key: IVY-1120
> URL: https://issues.apache.org/jira/browse/IVY-1120
> Project: Ivy
> Issue Type: Bug
> Components: Ant
> Affects Versions: 2.1.0-RC2
> Environment: ant 1.7.1, windows xp
> Reporter: Lucas Lech
>
> IvyBuildNumber.java -> doExecute()
> creates an inline patternMatcher with this method:
> {code:title=IvyBuildNumber.java|borderStyle=solid}
> public Matcher getMatcher(String expression) {
> if ((expression == organisation)
> || (expression == module)
> || (expression == branch)) {
> return exact.getMatcher(expression);
> }
> return regexp.getMatcher(expression);
> }
> {code}
> I'm guessing the == comparison is a typo ? Shouldn't it be saying *.equals* ?
> I've been having issues with this task - non-deterministic results - I got
> down in my debug to this place where I get wrong matcher when
> *reference address comparison* fails.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.