ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aprelev <>
Subject [GitHub] ant-ivy pull request #73: Enable XML report parser to produce qualified extr...
Date Wed, 01 Aug 2018 06:44:32 GMT
GitHub user aprelev opened a pull request:

    Enable XML report parser to produce qualified extra attributes

    ### Issue
    `${ivy.deps.changed}` is always `true` for dependencies with extra attributes.
    ### Problem
    `XmlReportParser::startElement()` creates revision IDs [as follows](
    mrid = ModuleRevisionId.newInstance(organisation, module, branch, revision,
        ExtendableItemHelper.getExtraAttributes(attributes, "extra-"));
    Here, `ExtendableItemHelper::getExtraAttributes()` method returns *unqualified* attributes
of previously resolved dependencies, which are then compared with *qualified* attributes of
currently resolved dependencies in `ConfigurationResolveReport::checkIfChanged()` [as follows](
    Set<ModuleRevisionId> previousDepSet = new HashSet<>(
    hasChanged = !previousDepSet.equals(getModuleRevisionIds());
    which effectively renders sets of dependecies *unequal*.
    ### Solutions
    One solution would be to compare unqualified attributes when [testing revision IDs for
another one would be to [produce qualified attributes](
when parsing XML report.
    I've implemented second solution (it seemed cleaner to me), and included unit-test to
demonstrate the issue. 

You can merge this pull request into a Git repository by running:

    $ git pull master

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #73
commit 1d508c14bbc68411b9b215f2e4e552fe20d3ae1a
Author: aprelev <arseny.aprelev@...>
Date:   2018-07-31T14:15:26Z

    Enable XML report parser to produce qualified extra attributes



To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message