[ 
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]

Reply via email to