[ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org