[
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-branch_3x.patch
LUCENE-2657.patch
Patches implementing my proposal to place the Maven POMs in
{{dev-tools/maven/}} and add a new top-level Ant target {{get-maven-poms}},
which is invoked by {{generate-maven-artifacts}}. {{generate-maven-artifacts}}
remains in the top-level {{build.xml}}, as well as in {{lucene/}}, {{solr/}},
and {{modules/}} (trunk only).
I couldn't figure out a way for {{generate-maven-artifacts}} under child
directories {{lucene/}}, {{solr/}} and {{modules/}} to depend on the top-level
{{get-maven-poms}} target, so I instead have {{generate-maven-artifacts}} in
the child directories explicitly run the {{get-maven-poms}} target via the
{{<ant>}} task. As a result, running {{generate-maven-artifacts}} from the top
level will cause {{get-maven-poms}} to be run once for each child directory,
but the repeated copy operation doesn't hurt anything, and the process is quick.
Unless there are objections, I will commit this tomorrow.
> 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-branch_3x.patch,
> LUCENE-2657-branch_3x.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, 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]