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

Reply via email to