[
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
This patch cuts over {{ant generate-maven-artifacts}} to directly use {{mvn}}.
After applying this patch, Maven 2.2.1 (and maybe 3.0.X? - untested) must be
installed on your machine in order to run {{ant generate-maven-artifacts}}.
Other changes in this patch:
# Dropped all use of Maven Ant Tasks.
# The top-level {{ant generate-maven-artifacts}} now works and is the best way
to perform this task, since it will create a single timestamp for all
artifacts; this target can also be run from either {{solr/}} or {{lucene/}}.
# Removed the {{generate-maven-artifacts}} target from {{modules/build.xml}},
and transferred the responsibility for generating {{modules/*}} maven artifacts
to {{lucene/build.xml}}.
# The {{solr/src/webapp/}} module no longer installs or deploys its (empty)
sources jar.
# Remote Maven artifact deployment is no longer included in the Ant build -
this can be performed by the Maven build.
# {{mvn clean}} no longer removes {{solr/dist/}} or {{lucene/dist/}}, for two
reasons:
## The Ant build populates {{dist/}} with things that the Maven build should
not remove. Removing just {{dist/maven/}} won't work, because:
## I couldn't find a nice/simple way to remove a directory just once in the
reactor build. The previous patch attempted to do this from the lucene core
and solr core modules, but that solution was deleting their deployed parent
POMs, since the reactor build orders the Solr and Lucene parent POMs before the
core modules (the parent relationship requires this).
Left to do:
# Add Ant targets to test the Maven artifacts
# Backport to branch_3x
> 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
> Affects Versions: 3.1, 4.0
> Reporter: Steven Rowe
> Assignee: Steven Rowe
> Fix For: 3.1, 4.0
>
> Attachments: LUCENE-2657.patch, LUCENE-2657.patch, LUCENE-2657.patch,
> LUCENE-2657.patch, LUCENE-2657.patch, LUCENE-2657.patch, LUCENE-2657.patch,
> LUCENE-2657.patch, LUCENE-2657.patch, LUCENE-2657.patch, LUCENE-2657.patch,
> LUCENE-2657.patch, LUCENE-2657.patch
>
>
> The current Maven POM templates only contain dependency information, the bare
> bones necessary for uploading artifacts to the Maven repository.
> The full Maven POMs in the attached patch include the information necessary
> to run a multi-module Maven build, in addition to serving the same purpose as
> the current POM templates.
> Several dependencies are not available through public maven repositories. A
> profile in the top-level POM can be activated to install these dependencies
> from the various {{lib/}} directories into your local repository. From the
> top-level directory:
> {code}
> mvn -N -Pbootstrap install
> {code}
> Once these non-Maven dependencies have been installed, to run all Lucene/Solr
> tests via Maven's surefire plugin, and populate your local repository with
> all artifacts, from the top level directory, run:
> {code}
> mvn install
> {code}
> When one Lucene/Solr module depends on another, the dependency is declared on
> the *artifact(s)* produced by the other module and deposited in your local
> repository, rather than on the other module's un-jarred compiler output in
> the {{build/}} directory, so you must run {{mvn install}} on the other module
> before its changes are visible to the module that depends on it.
> To create all the artifacts without running tests:
> {code}
> mvn -DskipTests install
> {code}
> I almost always include the {{clean}} phase when I do a build, e.g.:
> {code}
> mvn -DskipTests clean install
> {code}
--
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]