[
https://issues.apache.org/jira/browse/LUCENE-5249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Rowe updated LUCENE-5249:
-------------------------------
Attachment: LUCENE-5162.patch
Patch implementing the idea.
Introduces {{lucene/ivy-versions.properties}}, included in
{{lucene/ivy-settings.xml}}, where all dependency versions are stored as
properties of the form: {{/org/name = rev}}, e.g. {{/commons-io/commons-io =
2.1}}. There are two shared revs: {{jetty.version}} and {{hadoop.version}},
which are included in and interpolated as revs in
{{lucene/ivy-versions.properties}}.
I thought about using Maven coordinate-style syntax, with a colon between the
dependency's org and its name, but colons have to be escaped in property file
syntax, since the colon a metachar equivalent to '=', so it looked clunky. The
path-ish slash style works everywhere I tried it, including as cmdline
sysprops. And it provides a sort of namespace for these properties.
I also switched to loading {{lucene/ivy-versions.properties}} in the
{{-check-forbidden-java-apis}} target in {{solr/build.xml}}, to access the
{{commons-io:commons-io}} version, used in locating the appropriate definitions
file.
This patch also effectively upgrades the httpcomponents dependencies in the
{{lucene/replicator}} module to the versions used in Solr; the required
checksums are swapped in under {{lucene/licenses/}}.
{{ant precommit}} and {{ant test}} both pass after I {{rm $(find . -name
'*.jar')}}.
I'll commit in a day or so if there are no objections.
> All Lucene/Solr modules should use the same dependency versions
> ---------------------------------------------------------------
>
> Key: LUCENE-5249
> URL: https://issues.apache.org/jira/browse/LUCENE-5249
> Project: Lucene - Core
> Issue Type: Improvement
> Components: general/build
> Reporter: Steve Rowe
> Assignee: Steve Rowe
> Priority: Minor
> Attachments: LUCENE-5162.patch
>
>
> [[email protected]] wrote on the dev list:
> {quote}
> I'd like it for some things if we actually kept the versions somewhere else -
> for instance, Hadoop dependencies should match across the mr module and the
> core module.
> Perhaps we could define versions for dependencies across multiple modules
> that should probably match, in a prop file or ant file and use sys sub for
> them in the ivy files.
> For something like Hadoop, that would also make it simple to use Hadoop 1
> rather than 2 with a single sys prop override. Same with some other
> depenencies.
> {quote}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]