ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arnaud Jeansen (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IVY-1565) Enable XmlModuleDescriptorParser to skip the ivy-module version check
Date Tue, 08 Aug 2017 14:30:00 GMT
Arnaud Jeansen created IVY-1565:
-----------------------------------

             Summary: Enable XmlModuleDescriptorParser to skip the ivy-module version check
                 Key: IVY-1565
                 URL: https://issues.apache.org/jira/browse/IVY-1565
             Project: Ivy
          Issue Type: Improvement
            Reporter: Arnaud Jeansen
            Priority: Minor


I have a very specific use case where I rewrite ivy files to pom files on the fly on a binary
repository manager (artifactory).
Basically, when an ivy-$version.xml file is published, I launch the equivalent of the Ant
makePom task and save a pom file in the same directory as the ivy file.

I am relying on an interesting feature from Artifactory called "user plugins", where groovy
scripts are executed on some specific events (e.g. upload of a file)
A sample implementation even exists at https://github.com/JFrogDev/artifactory-user-plugins/tree/master/descriptors/ivy2pom

However, my problem is that the binary repository manager has ivy-2.2 as its library. So any
attempt to transform later ivy module descriptors (versions 2.3 and 2.4) fail with:
{noformat}
java.text.ParseException: [invalid version 2.4 in file:/tmp/foo-5.15.9-2436013575810429206.ivy]
{noformat}

Is there any interest in providing a way to skip the version check in XmlModuleDescriptorParser$Parser#ivyModuleStarted
or enable callers to modify ALLOWED_VERSIONS and authorize later versions?

I have looked for a workaround for quite some time but:
* ALLOWED_VERSIONS is final, so there is no way to switch to a new List with the versions
I want
* ALLOWED_VERSIONS is an AbstractList, so _add_ and _addAll_ are unimplemented
* Subclassing and overriding ivyModuleStarted fails because it works with a lot of private
fields directly




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message