Re: How to bootstrap Maven

2012-01-09 Thread Daniel Schepler
On Sunday, January 08, 2012 03:37:23 PM Ludovic Claude wrote:
 Hello Daniel,
 
 You have done an excellent job here to bootstrap the build of Maven 3. I

Umm, I was working with the source packages from unstable, which afaict still 
has Maven 2.

 cannot think of anothwe way of doing it. It's a pity that Maven 3

OK.  At least I didn't need to resort to the brute force of dump all the 
sources into one directory and compile it all together, then build a single 
sumo jar file.  Which wouldn't even really work in this case given the 
necessity for Plexus component and Maven plugin descriptors in individual jar 
files.

 requires so much bootstrapping, I have packaged Maven 2.2.2 and was very
 careful to avoid such bootstrapping. But it's a long exercise to convert
 a Maven build into an Ant build, even with the help of maven-ant-helper.
 
 I have started to remove the need to use Maven for building some of
 those packages (currently plexus-compiler builds without Maven in the
 latest commit in Git). I'm also improving mh_make --ant (from
 maven-debian-helper) to assist the generation of all packaging files
 required to build and package a Maven project with Ant. It should be
 ready in a few days, then we can run this tool on the packages that you
 have bootstrapped and remove this circular build dependency on Maven.

Good to hear.

 Your problem with maven-scm should also be fixed by fully converting the
 build of maven-scm to Ant, as there seem to be some internal build
 dependency that is not met by your simple build script.

I'm not really sure about that.  As it turned out, if I installed all the jars 
that did build (which was everything except for the Maven plugin), and then 
reran the build, then it succeeded.  So, it would be interesting to try this 
experiment: in a vanilla pbuilder chroot, install all the build dependencies 
of maven-scm, then force the removal of libmaven-scm-java (the wagon-scm 
provider shouldn't be needed or used for Debian package builds anyway) and see 
if one can reproduce the error.

So anyway, I've about finished this phase of the bootstrapping, and pbuildd is 
doing yet another rebuild of all the packages.  Next, I need to figure out how 
to bootstrap the osgi-compendium - geronimo-jpa-2.0-spec - geronimo-osgi-
support - osgi-compendium and bnd - bindex circular dependencies, and 
spring-build's self-build-depends, to get a full libxbean-java build.  And the 
whole jbossas4 / hibernate tangle, to get a full excalibur-logger build.  And 
aspectj's self-build-depends (that one looks like it might be a self-hosting 
compiler type of thing, for which I can have pbuildd download a prebuilt 
libaspectj-java, if necessary).
-- 
Daniel Schepler

__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Re: How to bootstrap Maven

2012-01-08 Thread Ludovic Claude
Hello Daniel,

You have done an excellent job here to bootstrap the build of Maven 3. I
cannot think of anothwe way of doing it. It's a pity that Maven 3
requires so much bootstrapping, I have packaged Maven 2.2.2 and was very
careful to avoid such bootstrapping. But it's a long exercise to convert
a Maven build into an Ant build, even with the help of maven-ant-helper.

I have started to remove the need to use Maven for building some of
those packages (currently plexus-compiler builds without Maven in the
latest commit in Git). I'm also improving mh_make --ant (from
maven-debian-helper) to assist the generation of all packaging files
required to build and package a Maven project with Ant. It should be
ready in a few days, then we can run this tool on the packages that you
have bootstrapped and remove this circular build dependency on Maven.

Your problem with maven-scm should also be fixed by fully converting the
build of maven-scm to Ant, as there seem to be some internal build
dependency that is not met by your simple build script.

Ludovic

On 07/01/2012 23:14, Daniel Schepler wrote:
 In my overall pbuildd project, the idea is to bootstrap the Debian archive 
 from the package sources and a minimal starting chroot, using cycle breaker 
 scripts where necessary.  As part of that project, I'm trying to figure out 
 how 
 one would bootstrap the Maven packages (and those of their dependencies which 
 use maven-debian-helper).  So far I have a big long pseudocode script which 
 has gotten me a significant part of the way towards that goal.  The idea is 
 to 
 make heavy use of maven-ant-helper, plus building just selected parts of 
 large 
 compound packages like wagon, doxia, etc.
 
 The questions I have right now are:
 
 1. Is there some much simpler way to do this that I'm missing?
 2. When I get to maven-scm, I run into this build error -- this is a log 
 where 
 I tried adding maven.test.skip=true to debian/maven.properties in order to 
 verify that it's not a test skipping ahead in the dependency chain that's 
 causing this.
 
 ...
 [INFO] 
 
 [INFO] Building Maven SCM TFS Provider
 [INFO]task-segment: [package]
 [INFO] 
 
 [INFO] [resources:resources {execution: default-resources}]
 [WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
 resources, i.e. build is platform dependent!
 [INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
 scm-providers/maven-scm-provider-tfs/src/main/resources
 [INFO] [compiler:compile {execution: default-compile}]
 [INFO] Compiling 19 source files to /tmp/maven-scm/maven-scm-1.3/maven-scm-
 providers/maven-scm-provider-tfs/target/classes
 [INFO] [plexus:descriptor {execution: default}]
 [INFO] Discovered 1 component descriptors(s)
 [INFO] [resources:testResources {execution: default-testResources}]
 [WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
 resources, i.e. build is platform dependent!
 [INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
 scm-providers/maven-scm-provider-tfs/src/test/resources
 [INFO] [compiler:testCompile {execution: default-testCompile}]
 [INFO] Not compiling test sources
 [INFO] [surefire:test {execution: default-test}]
 [INFO] Tests are skipped.
 [INFO] [jar:jar {execution: default-jar}]
 [INFO] Building jar: /tmp/maven-scm/maven-scm-1.3/maven-scm-providers/maven-
 scm-provider-tfs/target/maven-scm-provider-tfs-1.3.jar
 [INFO] 
 
 [INFO] Building Maven SCM Standard Providers
 [INFO]task-segment: [package]
 [INFO] 
 
 [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
 [INFO] 
 
 [INFO] Building Maven SCM Client
 [INFO]task-segment: [package]
 [INFO] 
 
 [INFO] [plexus:merge-descriptors {execution: merge}]
 [INFO] [resources:resources {execution: default-resources}]
 [WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
 resources, i.e. build is platform dependent!
 [INFO] Copying 1 resource
 [INFO] [compiler:compile {execution: default-compile}]
 [INFO] Compiling 1 source file to /tmp/maven-scm/maven-scm-1.3/maven-scm-
 client/target/classes
 [INFO] [resources:testResources {execution: default-testResources}]
 [WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
 resources, i.e. build is platform dependent!
 [INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
 scm-client/src/test/resources
 [INFO] [compiler:testCompile {execution: default-testCompile}]
 [INFO] Not compiling test sources
 [INFO] 

How to bootstrap Maven

2012-01-07 Thread Daniel Schepler
In my overall pbuildd project, the idea is to bootstrap the Debian archive 
from the package sources and a minimal starting chroot, using cycle breaker 
scripts where necessary.  As part of that project, I'm trying to figure out how 
one would bootstrap the Maven packages (and those of their dependencies which 
use maven-debian-helper).  So far I have a big long pseudocode script which 
has gotten me a significant part of the way towards that goal.  The idea is to 
make heavy use of maven-ant-helper, plus building just selected parts of large 
compound packages like wagon, doxia, etc.

The questions I have right now are:

1. Is there some much simpler way to do this that I'm missing?
2. When I get to maven-scm, I run into this build error -- this is a log where 
I tried adding maven.test.skip=true to debian/maven.properties in order to 
verify that it's not a test skipping ahead in the dependency chain that's 
causing this.

...
[INFO] 

[INFO] Building Maven SCM TFS Provider
[INFO]task-segment: [package]
[INFO] 

[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
scm-providers/maven-scm-provider-tfs/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 19 source files to /tmp/maven-scm/maven-scm-1.3/maven-scm-
providers/maven-scm-provider-tfs/target/classes
[INFO] [plexus:descriptor {execution: default}]
[INFO] Discovered 1 component descriptors(s)
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
scm-providers/maven-scm-provider-tfs/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Not compiling test sources
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /tmp/maven-scm/maven-scm-1.3/maven-scm-providers/maven-
scm-provider-tfs/target/maven-scm-provider-tfs-1.3.jar
[INFO] 

[INFO] Building Maven SCM Standard Providers
[INFO]task-segment: [package]
[INFO] 

[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] 

[INFO] Building Maven SCM Client
[INFO]task-segment: [package]
[INFO] 

[INFO] [plexus:merge-descriptors {execution: merge}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to /tmp/maven-scm/maven-scm-1.3/maven-scm-
client/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (ANSI_X3.4-1968 actually) to copy filtered 
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /tmp/maven-scm/maven-scm-1.3/maven-
scm-client/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Not compiling test sources
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /tmp/maven-scm/maven-scm-1.3/maven-scm-
client/target/maven-scm-client-1.3.jar
[INFO] 

[INFO] Building Maven SCM Plugin
[INFO]task-segment: [package]
[INFO] 

[INFO] 

[ERROR] BUILD ERROR
[INFO] 

[INFO] Failed to resolve artifact.

Missing:
--
1) org.apache.maven.scm:maven-scm-providers-standard:pom:1.3
  Path to dependency: 
1) org.apache.maven.plugins:maven-scm-plugin:maven-plugin:1.3
2) org.apache.maven.scm:maven-scm-providers-standard:pom:1.3

--
1 required artifact is missing.

for artifact: 
  org.apache.maven.plugins:maven-scm-plugin:maven-plugin:1.3

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)



NOTE: Maven is executing in offline mode. Any artifacts not already in your 
local
repository