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