[ 
https://issues.apache.org/jira/browse/LUCENE-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steven Rowe updated LUCENE-2657:
--------------------------------

    Attachment: LUCENE-2657.patch

First cut at Maven POMs for Lucene and Solr.

The following script, which installs non-mavenized artifacts into the user's 
local Maven repository, must be run before the Maven build works:

{code}
 mvn install:install-file -DgroupId=com.ibm.icu -DartifactId=icu4j 
-Dversion=4.4 -Dpackaging=jar -Dfile=modules/analysis/icu/lib/icu4j-4_4.jar
 mvn install:install-file -DgroupId=xerces -DartifactId=xercesImpl 
-Dversion=2.9.1-patched-XERCESJ-1257 -Dpackaging=jar 
-Dfile=lucene/contrib/benchmark/lib/xerces-2.9.1-patched-XERCESJ-1257.jar
 mvn install:install-file -DgroupId=com.sleepycat -DartifactId=berkeleydb 
-Dversion=4.7.25 -Dpackaging=jar -Dfile=lucene/contrib/db/bdb/lib/db-4.7.25.jar
 mvn install:install-file -DgroupId=com.sleepycat -DartifactId=berkeleydb-je 
-Dversion=3.3.93 -Dpackaging=jar 
-Dfile=lucene/contrib/db/bdb-je/lib/je-3.3.93.jar
 mvn install:install-file -DgroupId=org.apache.solr 
-DartifactId=solr-commons-csv -Dversion=4.0-SNAPSHOT -Dpackaging=jar 
-Dfile=solr/lib/commons-csv-1.0-SNAPSHOT-r966014.jar
 mvn install:install-file -DgroupId=org.apache.solr -DartifactId=solr-noggit 
-Dversion=r944541 -Dpackaging=jar -Dfile=solr/lib/apache-solr-noggit-r944541.jar
 mvn install:install-file -DgroupId=org.apache.tika -DartifactId=tika-core 
-Dversion=0.8-SNAPSHOT -Dpackaging=jar 
-Dfile=solr/contrib/extraction/lib/tika-core-0.8-SNAPSHOT.jar
 jar xvf solr/contrib/extraction/lib/tika-parsers-0.8-SNAPSHOT.jar 
META-INF/maven/org.apache.tika/tika-parsers/pom.xml
 mvn install:install-file 
-Dfile=solr/contrib/extraction/lib/tika-parsers-0.8-SNAPSHOT.jar 
-DpomFile=META-INF/maven/org.apache.tika/tika-parsers/pom.xml
 rm -rf META-INF
 {code}

Everything compiles (using {{mvn -DskipTests clean install}}).  Except for two 
Solr tests, all tests pass. The two tests that fail for me (on Win Vista 64, 
Sun JDK 1.6.0_13) are: JettyWebAppTest and Solr Cell's 
ExtractingRequestHandlerTest.testArabicPDF().

I have added configurations for running appassembler-maven-plugin (to produce 
run-time windows and linux scripts with lib/ dirs containing dependencies) for 
all classes with main() functions that are intended as tools rather than static 
tests.

I haven't tried using the POMs as project configuration for IntelliJ, so I'm 
not sure how that will go.

This is a work-in-progress.  Please test and let me know if you find problems, 
or would like to see more stuff added, or if you think the design is all wrong.

One challenge worth noting is that Maven disallows aggregator POMs (those with 
a {{<modules>}} section directing nested Maven invocations) from producing any 
artifacts other than the POM itself.  As a result, the 4 or 5 locations in the 
Lucene/Solr build that have "mixed content" (to borrow the XML term for mixed 
nested element and text content) have to be fudged; e.g. the Lucene and Solr 
core POMs are located in {{lucene/src/}} and {{solr/src/}}, because the 
aggregator POMs at {{lucene/}} and {{solr/}} can't produce binary artifacts.  
(The conventional Maven way to address this kind of issue is to make the "core" 
modules be siblings of the nested modules.)

> Replace Maven POM templates with full POMs, and change documentation 
> accordingly
> --------------------------------------------------------------------------------
>
>                 Key: LUCENE-2657
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2657
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Steven Rowe
>            Assignee: Steven Rowe
>             Fix For: 3.1, 4.0
>
>         Attachments: LUCENE-2657.patch
>
>
> The current Maven POM templates only contain dependency information, the bare 
> bones necessary for uploading artifacts to the Maven repository.
> Full Maven POMs will include the information necessary to run a multi-module 
> Maven build, in addition to serving the same purpose as the current POM 
> templates.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to