[ 
https://issues.apache.org/jira/browse/XALANJ-2578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe updated XALANJ-2578:
------------------------

    Description: 
I have developed Maven POM files to build Xalan-J with Maven instead of Ant 
that I'm willing to donate to the Apacha Xalan-J project.

The additions attempt to be non-intrusive, leaving the existing
ant build system untouched. For this reason, the POMs are not as lean
as they could be (see below).

I've run the minitest suite ('ant smoketest.gump'), and it all works
fine on a fresh checkout.

This patch is intended as a basis for discussion, as there are still a
few questions open:

* Will this replace the ant build? (preferably yes, we could make the
POMs much leaner by moving sources into standard Maven directories;
less maintenance)
* What will be the target version number? (see below for details)
* How do we integrate testing? (it's currently in a separate project,
and that's a good thing - but running it from Maven would be nice)

Overview
========

There is a project parent POM, which groups the project into the
following modules:
* serializer (builds serializer.jar, from the
org.apache.xml.serializer.* packages)
* xalan-impl (builds an intermediate jar from the rest of the sources)
* xalan (builds xalan.jar, using the maven shade plugin to integrate
xalan-impl and dependent libraries into an uber-jar - this replicates
the output of the ant build process)

Output artifacts (xalan.jar and serializer.jar) are placed in the
'build' directory, like in the ant build. The groupId and artifactId
are the same as the ones in Maven Central for Xalan-J 2.7.1

Details
=======

In the Maven build, dependent libraries (BCEL, java_cup, regexp) are
pulled from Maven Central and differ slightly in version from what's
checked into SVN in the lib-directory.
The same goes for the tools directory; the Maven tooling uses
artifacts from Maven central and ignores the tools directory
altogether.

Since the versioning scheme in the project differs from standard Maven
versioning (2.7.D2 for a defelopment version of 2.7.2 vs its Maven
equivalent 2.7.2-SNAPSHOT), I've left it with Maven standard for now.
The current version in the POMs is set to 2.8-SNAPSHOT, as I'd expect
a change like this to go into a minor release rather than a bugfix
release.

Because the versioning question is still open, the POMs leave
Version.java in both serializer.jar and xalan.jar alone. Depending on
what we decide to do with project versioning and whether or not we
preserve the ant build (preferably no), the way the Version classes
operate will need to change (either read the version from a generated
property file, read it from META-INF or use Maven filtering).
Currently, the ant build simple overwrites them and removes them on
clean (even though they're checked in).

  was:
I have developed Maven POM files to build Xalan-J with Maven instead of Ant. 
The additions attempt to be non-intrusive, leaving the existing
ant build system untouched. For this reason, the POMs are not as lean
as they could be (see below).

I've run the minitest suite ('ant smoketest.gump'), and it all works
fine on a fresh checkout.

This patch is intended as a basis for discussion, as there are still a
few questions open:

* Will this replace the ant build? (preferably yes, we could make the
POMs much leaner by moving sources into standard Maven directories;
less maintenance)
* What will be the target version number? (see below for details)
* How do we integrate testing? (it's currently in a separate project,
and that's a good thing - but running it from Maven would be nice)

Overview
========

There is a project parent POM, which groups the project into the
following modules:
* serializer (builds serializer.jar, from the
org.apache.xml.serializer.* packages)
* xalan-impl (builds an intermediate jar from the rest of the sources)
* xalan (builds xalan.jar, using the maven shade plugin to integrate
xalan-impl and dependent libraries into an uber-jar - this replicates
the output of the ant build process)

Output artifacts (xalan.jar and serializer.jar) are placed in the
'build' directory, like in the ant build. The groupId and artifactId
are the same as the ones in Maven Central for Xalan-J 2.7.1

Details
=======

In the Maven build, dependent libraries (BCEL, java_cup, regexp) are
pulled from Maven Central and differ slightly in version from what's
checked into SVN in the lib-directory.
The same goes for the tools directory; the Maven tooling uses
artifacts from Maven central and ignores the tools directory
altogether.

Since the versioning scheme in the project differs from standard Maven
versioning (2.7.D2 for a defelopment version of 2.7.2 vs its Maven
equivalent 2.7.2-SNAPSHOT), I've left it with Maven standard for now.
The current version in the POMs is set to 2.8-SNAPSHOT, as I'd expect
a change like this to go into a minor release rather than a bugfix
release.

Because the versioning question is still open, the POMs leave
Version.java in both serializer.jar and xalan.jar alone. Depending on
what we decide to do with project versioning and whether or not we
preserve the ant build (preferably no), the way the Version classes
operate will need to change (either read the version from a generated
property file, read it from META-INF or use Maven filtering).
Currently, the ant build simple overwrites them and removes them on
clean (even though they're checked in).


> Maven build system for Xalan-J
> ------------------------------
>
>                 Key: XALANJ-2578
>                 URL: https://issues.apache.org/jira/browse/XALANJ-2578
>             Project: XalanJ2
>          Issue Type: Improvement
>      Security Level: No security risk; visible to anyone(Ordinary problems in 
> Xalan projects.  Anybody can view the issue.) 
>          Components: Xalan
>    Affects Versions: The Latest Development Code
>            Reporter: Uwe
>            Assignee: Steven J. Hathaway
>              Labels: build, maven
>             Fix For: The Latest Development Code
>
>         Attachments: xalan-java-trunk.patch
>
>   Original Estimate: 36h
>  Remaining Estimate: 36h
>
> I have developed Maven POM files to build Xalan-J with Maven instead of Ant 
> that I'm willing to donate to the Apacha Xalan-J project.
> The additions attempt to be non-intrusive, leaving the existing
> ant build system untouched. For this reason, the POMs are not as lean
> as they could be (see below).
> I've run the minitest suite ('ant smoketest.gump'), and it all works
> fine on a fresh checkout.
> This patch is intended as a basis for discussion, as there are still a
> few questions open:
> * Will this replace the ant build? (preferably yes, we could make the
> POMs much leaner by moving sources into standard Maven directories;
> less maintenance)
> * What will be the target version number? (see below for details)
> * How do we integrate testing? (it's currently in a separate project,
> and that's a good thing - but running it from Maven would be nice)
> Overview
> ========
> There is a project parent POM, which groups the project into the
> following modules:
> * serializer (builds serializer.jar, from the
> org.apache.xml.serializer.* packages)
> * xalan-impl (builds an intermediate jar from the rest of the sources)
> * xalan (builds xalan.jar, using the maven shade plugin to integrate
> xalan-impl and dependent libraries into an uber-jar - this replicates
> the output of the ant build process)
> Output artifacts (xalan.jar and serializer.jar) are placed in the
> 'build' directory, like in the ant build. The groupId and artifactId
> are the same as the ones in Maven Central for Xalan-J 2.7.1
> Details
> =======
> In the Maven build, dependent libraries (BCEL, java_cup, regexp) are
> pulled from Maven Central and differ slightly in version from what's
> checked into SVN in the lib-directory.
> The same goes for the tools directory; the Maven tooling uses
> artifacts from Maven central and ignores the tools directory
> altogether.
> Since the versioning scheme in the project differs from standard Maven
> versioning (2.7.D2 for a defelopment version of 2.7.2 vs its Maven
> equivalent 2.7.2-SNAPSHOT), I've left it with Maven standard for now.
> The current version in the POMs is set to 2.8-SNAPSHOT, as I'd expect
> a change like this to go into a minor release rather than a bugfix
> release.
> Because the versioning question is still open, the POMs leave
> Version.java in both serializer.jar and xalan.jar alone. Depending on
> what we decide to do with project versioning and whether or not we
> preserve the ant build (preferably no), the way the Version classes
> operate will need to change (either read the version from a generated
> property file, read it from META-INF or use Maven filtering).
> Currently, the ant build simple overwrites them and removes them on
> clean (even though they're checked in).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to