Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but the
 trunk still has Plexus in it. I'd like to have a look at what Maven 3
 will look like when finished (from a code perspective).


The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)

The Plexus container compatibility layer is here:

  http://svn.sonatype.org/spice/trunk/spice-inject

Note that because this supports Plexus components
on top of Guice/JSR330 there's actually no changes
needed to Maven 3 to run it on top of Guice - that's
all handled by the compatibility layer, you can even
mix JSR330 and Plexus components/annotations.

Below is the patch to build M3 with the replacement
container - note you'll need to build the spice-inject
project beforehand, unless you use the Sonatype
forge repository to get the latest snapshots:

  https://repository.sonatype.org/content/groups/forge

Changing future plugins / Maven to use pure JSR330
annotations is a separate discussion that will happen
on the dev list - first I need to write up our experience
at Sonatype with using a JSR330 component model*
so people have something concrete to discuss.

[* apologies to the dev-list for delays in writing this up]

HTH

Index: maven-repository/pom.xml
===
--- maven-repository/pom.xml(revision 951813)
+++ maven-repository/pom.xml(working copy)
@@ -39,8 +39,8 @@
   artifactIdmaven-compat/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 dependency
   groupIdorg.codehaus.plexus/groupId
Index: apache-maven/pom.xml
===
--- apache-maven/pom.xml(revision 951813)
+++ apache-maven/pom.xml(working copy)
@@ -43,8 +43,8 @@
   artifactIdmaven-compat/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 !-- CLI --
 dependency
Index: maven-compat/pom.xml
===
--- maven-compat/pom.xml(revision 951813)
+++ maven-compat/pom.xml(working copy)
@@ -53,8 +53,8 @@
   artifactIdplexus-interpolation/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 dependency
   groupIdorg.codehaus.plexus/groupId
Index: maven-model-builder/pom.xml
===
--- maven-model-builder/pom.xml(revision 951813)
+++ maven-model-builder/pom.xml(working copy)
@@ -41,8 +41,8 @@
   artifactIdmaven-model/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
   scopetest/scope
 /dependency
   /dependencies
Index: pom.xml
===
--- pom.xml(revision 951813)
+++ pom.xml(working copy)
@@ -44,6 +44,7 @@
 plexusVersion1.5.4/plexusVersion
 plexusInterpolationVersion1.11/plexusInterpolationVersion
 plexusUtilsVersion2.0.4/plexusUtilsVersion
+spiceInjectVersion1.2.1-SNAPSHOT/spiceInjectVersion
 wagonVersion1.0-beta-6/wagonVersion
 securityDispatcherVersion1.3/securityDispatcherVersion
 cipherVersion1.4/cipherVersion
@@ -240,15 +241,9 @@
 version${plexusUtilsVersion}/version
   /dependency
   dependency
-groupIdorg.codehaus.plexus/groupId
-artifactIdplexus-container-default/artifactId
-version${plexusVersion}/version
-exclusions
-  exclusion
-groupIdjunit/groupId
-artifactIdjunit/artifactId
-  /exclusion
-/exclusions
+groupIdorg.sonatype.spice/groupId
+artifactIdspice-inject-plexus/artifactId
+version${spiceInjectVersion}/version
   /dependency
   dependency
 groupIdorg.codehaus.plexus/groupId
Index: maven-core/pom.xml
===
--- maven-core/pom.xml(revision 951813)
+++ maven-core/pom.xml(working copy)

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
Stuart, a couple of things re the below: 

1) The first URL downloads spice-inject and the whole Guice. Question:
was Guice extended for this compatibility layer? What actually is the
compatibility layer? Is it just spice or the whole lot? If it's just
spice, could we avoid from build the whole Guice and have the
dependencies downloaded from the net? 

2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds). However
I was looking for the source code. 

To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit. 

I understand that there is a compatibility layer, and I can build that
(after knowing if I have to build the whole Guice as well with it). I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL with
Guice support, and if this case I'd like a precise URL for it. 

Thanks for your time.

M.


On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds, but the
  trunk still has Plexus in it. I'd like to have a look at what Maven 3
  will look like when finished (from a code perspective).
 
 
 The idea is for Guice to replace the Plexus container
 by using a compatibility layer to inject requirements
 into components. (Plexus classworlds is more about
 classloader isolation, which is orthogonal to injection
 and may or may not be replaced in the near future)
 
 The Plexus container compatibility layer is here:
 
   http://svn.sonatype.org/spice/trunk/spice-inject
 
 Note that because this supports Plexus components
 on top of Guice/JSR330 there's actually no changes
 needed to Maven 3 to run it on top of Guice - that's
 all handled by the compatibility layer, you can even
 mix JSR330 and Plexus components/annotations.
 
 Below is the patch to build M3 with the replacement
 container - note you'll need to build the spice-inject
 project beforehand, unless you use the Sonatype
 forge repository to get the latest snapshots:
 
   https://repository.sonatype.org/content/groups/forge
 
 Changing future plugins / Maven to use pure JSR330
 annotations is a separate discussion that will happen
 on the dev list - first I need to write up our experience
 at Sonatype with using a JSR330 component model*
 so people have something concrete to discuss.
 
 [* apologies to the dev-list for delays in writing this up]
 
 HTH
 
 Index: maven-repository/pom.xml
 ===
 --- maven-repository/pom.xml(revision 951813)
 +++ maven-repository/pom.xml(working copy)
 @@ -39,8 +39,8 @@
artifactIdmaven-compat/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  dependency
groupIdorg.codehaus.plexus/groupId
 Index: apache-maven/pom.xml
 ===
 --- apache-maven/pom.xml(revision 951813)
 +++ apache-maven/pom.xml(working copy)
 @@ -43,8 +43,8 @@
artifactIdmaven-compat/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  !-- CLI --
  dependency
 Index: maven-compat/pom.xml
 ===
 --- maven-compat/pom.xml(revision 951813)
 +++ maven-compat/pom.xml(working copy)
 @@ -53,8 +53,8 @@
artifactIdplexus-interpolation/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  dependency
groupIdorg.codehaus.plexus/groupId
 Index: maven-model-builder/pom.xml
 ===
 --- maven-model-builder/pom.xml(revision 951813)
 +++ maven-model-builder/pom.xml(working copy)
 @@ -41,8 +41,8 @@
artifactIdmaven-model/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
scopetest/scope
  /dependency
/dependencies
 Index: pom.xml
 

[ANN] Maven JXR and Maven JXR Plugin 2.2 Released

2010-06-06 Thread Dennis Lundberg
The Maven team is pleased to announce the release of the Maven JXR and
Maven JXR Plugin, version 2.2.

The JXR Plugin produces a cross-reference of the project's sources. The
generated reports make it easier for the user to reference or find
specific lines of code. It is also handy when used with the PMD Plugin
for referencing errors found in the code.

http://maven.apache.org/jxr/

http://maven.apache.org/plugins/maven-jxr-plugin/

You should specify the version in your project's plugin configuration in
the reporting section of the POM:

plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-jxr-plugin/artifactId
 version2.2/version
/plugin


Release Notes - Maven JXR - Version 2.2

** Bug
* [JXR-51] - Javadoc link broken for site:stage
* [JXR-52] - Dont generate xref report if project has pom packaging
and src/main exists
* [JXR-53] - Add a link to test javadoc
* [JXR-55] - Add dedicated resource bundle for English
* [JXR-57] - Change type of outputDirectory parameter to java.io.File

** Improvement
* [JXR-56] - Add german translation
* [JXR-60] - use ${project.build.sourceEncoding} as default value
for inputEncoding parameter
* [JXR-81] - Add implements to keyword filter
* [JXR-82] - Add jxr_linenumber class to generated line number anchors

** New Feature
* [JXR-67] - use ${project.reporting.outputEncoding} as default
value for outputEncoding parameter and default to UTF-8
* [JXR-77] - Add Swedish translation

** Wish
* [JXR-62] - Make file encoding default to platform encoding


Enjoy,

-The Maven team

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



Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, a couple of things re the below:

 1) The first URL downloads spice-inject and the whole Guice. Question:
 was Guice extended for this compatibility layer? What actually is the
 compatibility layer? Is it just spice or the whole lot?


The first URL is the umbrella project that provides the
compatibility layer - it contains a patched version of
Guice because we needed to tweak and experiment
with certain behavior during development, and handle
some corner-cases wrt. Nexus

Most changes have been committed into Guice trunk.
There's only one patch left needed for Maven, which is
the type converter feature and this should go in soon.
(diff vanilla.src vs. src to see the remaining patches)

We're still keeping our patched tree around for further
experimentation / point-releases because Guice 2.1
has not yet been officially released - otherwise you'd
need to download and build Guice from scratch too.

spice-inject also contains various modules that provide
classpath scanning and Plexus-like features on top of
Guice - these modules are combined into the two main
distro jars: spice-inject-bean and spice-inject-plexus
for convenience sake. [ these are not going back into
Guice as they're external extensions ]

spice-inject-bean provides a component model on top
of JSR330 (component scanning, dynamic collections)
- see the examples module for, well, an example ;)

spice-inject-plexus adds support for Plexus

to replace the Plexus container in Maven3 you need:

  spice-inject-bean-1.2.1-SNAPSHOT.jar
  spice-inject-plexus-1.2.1-SNAPSHOT.jar
  guice-patches-2.1.4-SNAPSHOT-noaop.jar

at least until the type converter patches go into Guice

If it's just spice, could we avoid from build the whole Guice and have the
 dependencies downloaded from the net?


if you just want to download the dependencies then add
that second URL (the Sonatype Forge) as a snapshot
repository in your settings.xml, apply the patch from the
end of my original email to Maven 3 trunk, and do a build

2) The second URL points to a Maven repository. You were talking of a
 replacement container (which I thought of as being classworlds). However
 I was looking for the source code.


for the new container source code see 1) ... specifically
guice-bean / guice-plexus which form most of the code
[ it's modular so there's no single project source tree ]

also look at the example to see JSR330 in practice

To summarise, I'd like to have the URLs only to the source code needed
 to build Maven 3 with the Guice bit.


you already have it... build 1) and you have everything
needed - as explained you still need the patch of Guice
for now, but won't in the future

or just use 2) to download the binary snapshots


 I understand that there is a compatibility layer, and I can build that
 (after knowing if I have to build the whole Guice as well with it). I
 understand that there is a replacement container (but I don't have a
 precise URL to the SVN code for it); I'd like to know if the Maven 3
 trunk builds already on top of the above, or if I need another URL with
 Guice support, and if this case I'd like a precise URL for it.


Maven 3 trunk still builds with Plexus at the moment,
but if you take the patch from the bottom of my earlier
email and apply it to Maven 3 then it will build with the
new artifacts

or just grab a snapshot build of Maven 3, remove the
Plexus container jar and add the three artifacts listed
above...

Thanks for your time.

 M.


 On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
  On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Hi,
  
   Can somebody point me to the Maven 3 branch with Google guice? I
   undertsand that Google guice will replace Plexus classworlds, but the
   trunk still has Plexus in it. I'd like to have a look at what Maven 3
   will look like when finished (from a code perspective).
  
 
  The idea is for Guice to replace the Plexus container
  by using a compatibility layer to inject requirements
  into components. (Plexus classworlds is more about
  classloader isolation, which is orthogonal to injection
  and may or may not be replaced in the near future)
 
  The Plexus container compatibility layer is here:
 
http://svn.sonatype.org/spice/trunk/spice-inject
 
  Note that because this supports Plexus components
  on top of Guice/JSR330 there's actually no changes
  needed to Maven 3 to run it on top of Guice - that's
  all handled by the compatibility layer, you can even
  mix JSR330 and Plexus components/annotations.
 
  Below is the patch to build M3 with the replacement
  container - note you'll need to build the spice-inject
  project beforehand, unless you use the Sonatype
  forge repository to get the latest snapshots:
 
https://repository.sonatype.org/content/groups/forge
 
  Changing future plugins / Maven to use pure JSR330
  annotations is a separate discussion that will happen
  on the 

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
Stuart, thank you for your email. Do you think that future emails
related to the process below (mainly if I found any difficulties in
building the whole thing plus observations, suggestions, etc) should be
addressed to the dev mailing list?

M.

On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
 On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, a couple of things re the below:
 
  1) The first URL downloads spice-inject and the whole Guice. Question:
  was Guice extended for this compatibility layer? What actually is the
  compatibility layer? Is it just spice or the whole lot?
 
 
 The first URL is the umbrella project that provides the
 compatibility layer - it contains a patched version of
 Guice because we needed to tweak and experiment
 with certain behavior during development, and handle
 some corner-cases wrt. Nexus
 
 Most changes have been committed into Guice trunk.
 There's only one patch left needed for Maven, which is
 the type converter feature and this should go in soon.
 (diff vanilla.src vs. src to see the remaining patches)
 
 We're still keeping our patched tree around for further
 experimentation / point-releases because Guice 2.1
 has not yet been officially released - otherwise you'd
 need to download and build Guice from scratch too.
 
 spice-inject also contains various modules that provide
 classpath scanning and Plexus-like features on top of
 Guice - these modules are combined into the two main
 distro jars: spice-inject-bean and spice-inject-plexus
 for convenience sake. [ these are not going back into
 Guice as they're external extensions ]
 
 spice-inject-bean provides a component model on top
 of JSR330 (component scanning, dynamic collections)
 - see the examples module for, well, an example ;)
 
 spice-inject-plexus adds support for Plexus
 
 to replace the Plexus container in Maven3 you need:
 
   spice-inject-bean-1.2.1-SNAPSHOT.jar
   spice-inject-plexus-1.2.1-SNAPSHOT.jar
   guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
 at least until the type converter patches go into Guice
 
 If it's just spice, could we avoid from build the whole Guice and have the
  dependencies downloaded from the net?
 
 
 if you just want to download the dependencies then add
 that second URL (the Sonatype Forge) as a snapshot
 repository in your settings.xml, apply the patch from the
 end of my original email to Maven 3 trunk, and do a build
 
 2) The second URL points to a Maven repository. You were talking of a
  replacement container (which I thought of as being classworlds). However
  I was looking for the source code.
 
 
 for the new container source code see 1) ... specifically
 guice-bean / guice-plexus which form most of the code
 [ it's modular so there's no single project source tree ]
 
 also look at the example to see JSR330 in practice
 
 To summarise, I'd like to have the URLs only to the source code needed
  to build Maven 3 with the Guice bit.
 
 
 you already have it... build 1) and you have everything
 needed - as explained you still need the patch of Guice
 for now, but won't in the future
 
 or just use 2) to download the binary snapshots
 
 
  I understand that there is a compatibility layer, and I can build that
  (after knowing if I have to build the whole Guice as well with it). I
  understand that there is a replacement container (but I don't have a
  precise URL to the SVN code for it); I'd like to know if the Maven 3
  trunk builds already on top of the above, or if I need another URL with
  Guice support, and if this case I'd like a precise URL for it.
 
 
 Maven 3 trunk still builds with Plexus at the moment,
 but if you take the patch from the bottom of my earlier
 email and apply it to Maven 3 then it will build with the
 new artifacts
 
 or just grab a snapshot build of Maven 3, remove the
 Plexus container jar and add the three artifacts listed
 above...
 
 Thanks for your time.
 
  M.
 
 
  On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
   On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
  
Hi,
   
Can somebody point me to the Maven 3 branch with Google guice? I
undertsand that Google guice will replace Plexus classworlds, but the
trunk still has Plexus in it. I'd like to have a look at what Maven 3
will look like when finished (from a code perspective).
   
  
   The idea is for Guice to replace the Plexus container
   by using a compatibility layer to inject requirements
   into components. (Plexus classworlds is more about
   classloader isolation, which is orthogonal to injection
   and may or may not be replaced in the near future)
  
   The Plexus container compatibility layer is here:
  
 http://svn.sonatype.org/spice/trunk/spice-inject
  
   Note that because this supports Plexus components
   on top of Guice/JSR330 there's actually no changes
   needed to Maven 3 to run it on top of Guice - that's
   all handled by the compatibility layer, you can even
   mix 

Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, thank you for your email. Do you think that future emails
 related to the process below (mainly if I found any difficulties in
 building the whole thing plus observations, suggestions, etc) should be
 addressed to the dev mailing list?


yep, this is more of a dev discussion


 M.

 On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
  On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Stuart, a couple of things re the below:
  
   1) The first URL downloads spice-inject and the whole Guice. Question:
   was Guice extended for this compatibility layer? What actually is the
   compatibility layer? Is it just spice or the whole lot?
 
 
  The first URL is the umbrella project that provides the
  compatibility layer - it contains a patched version of
  Guice because we needed to tweak and experiment
  with certain behavior during development, and handle
  some corner-cases wrt. Nexus
 
  Most changes have been committed into Guice trunk.
  There's only one patch left needed for Maven, which is
  the type converter feature and this should go in soon.
  (diff vanilla.src vs. src to see the remaining patches)
 
  We're still keeping our patched tree around for further
  experimentation / point-releases because Guice 2.1
  has not yet been officially released - otherwise you'd
  need to download and build Guice from scratch too.
 
  spice-inject also contains various modules that provide
  classpath scanning and Plexus-like features on top of
  Guice - these modules are combined into the two main
  distro jars: spice-inject-bean and spice-inject-plexus
  for convenience sake. [ these are not going back into
  Guice as they're external extensions ]
 
  spice-inject-bean provides a component model on top
  of JSR330 (component scanning, dynamic collections)
  - see the examples module for, well, an example ;)
 
  spice-inject-plexus adds support for Plexus
 
  to replace the Plexus container in Maven3 you need:
 
spice-inject-bean-1.2.1-SNAPSHOT.jar
spice-inject-plexus-1.2.1-SNAPSHOT.jar
guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
  at least until the type converter patches go into Guice
 
  If it's just spice, could we avoid from build the whole Guice and have
 the
   dependencies downloaded from the net?
  
 
  if you just want to download the dependencies then add
  that second URL (the Sonatype Forge) as a snapshot
  repository in your settings.xml, apply the patch from the
  end of my original email to Maven 3 trunk, and do a build
 
  2) The second URL points to a Maven repository. You were talking of a
   replacement container (which I thought of as being classworlds).
 However
   I was looking for the source code.
  
 
  for the new container source code see 1) ... specifically
  guice-bean / guice-plexus which form most of the code
  [ it's modular so there's no single project source tree ]
 
  also look at the example to see JSR330 in practice
 
  To summarise, I'd like to have the URLs only to the source code needed
   to build Maven 3 with the Guice bit.
  
 
  you already have it... build 1) and you have everything
  needed - as explained you still need the patch of Guice
  for now, but won't in the future
 
  or just use 2) to download the binary snapshots
 
 
   I understand that there is a compatibility layer, and I can build that
   (after knowing if I have to build the whole Guice as well with it). I
   understand that there is a replacement container (but I don't have a
   precise URL to the SVN code for it); I'd like to know if the Maven 3
   trunk builds already on top of the above, or if I need another URL with
   Guice support, and if this case I'd like a precise URL for it.
  
 
  Maven 3 trunk still builds with Plexus at the moment,
  but if you take the patch from the bottom of my earlier
  email and apply it to Maven 3 then it will build with the
  new artifacts
 
  or just grab a snapshot build of Maven 3, remove the
  Plexus container jar and add the three artifacts listed
  above...
 
  Thanks for your time.
  
   M.
  
  
   On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
 wrote:
   
 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but
 the
 trunk still has Plexus in it. I'd like to have a look at what Maven
 3
 will look like when finished (from a code perspective).

   
The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)
   
The Plexus container compatibility layer is here:
   
  http://svn.sonatype.org/spice/trunk/spice-inject
   
Note 

Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
Hi Stuart,
Any objections If I create a branch in asf svn repo ?


2010/6/6 Stuart McCulloch mccu...@gmail.com:
 On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, thank you for your email. Do you think that future emails
 related to the process below (mainly if I found any difficulties in
 building the whole thing plus observations, suggestions, etc) should be
 addressed to the dev mailing list?


 yep, this is more of a dev discussion


 M.

 On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
  On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Stuart, a couple of things re the below:
  
   1) The first URL downloads spice-inject and the whole Guice. Question:
   was Guice extended for this compatibility layer? What actually is the
   compatibility layer? Is it just spice or the whole lot?
 
 
  The first URL is the umbrella project that provides the
  compatibility layer - it contains a patched version of
  Guice because we needed to tweak and experiment
  with certain behavior during development, and handle
  some corner-cases wrt. Nexus
 
  Most changes have been committed into Guice trunk.
  There's only one patch left needed for Maven, which is
  the type converter feature and this should go in soon.
  (diff vanilla.src vs. src to see the remaining patches)
 
  We're still keeping our patched tree around for further
  experimentation / point-releases because Guice 2.1
  has not yet been officially released - otherwise you'd
  need to download and build Guice from scratch too.
 
  spice-inject also contains various modules that provide
  classpath scanning and Plexus-like features on top of
  Guice - these modules are combined into the two main
  distro jars: spice-inject-bean and spice-inject-plexus
  for convenience sake. [ these are not going back into
  Guice as they're external extensions ]
 
  spice-inject-bean provides a component model on top
  of JSR330 (component scanning, dynamic collections)
  - see the examples module for, well, an example ;)
 
  spice-inject-plexus adds support for Plexus
 
  to replace the Plexus container in Maven3 you need:
 
    spice-inject-bean-1.2.1-SNAPSHOT.jar
    spice-inject-plexus-1.2.1-SNAPSHOT.jar
    guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
  at least until the type converter patches go into Guice
 
  If it's just spice, could we avoid from build the whole Guice and have
 the
   dependencies downloaded from the net?
  
 
  if you just want to download the dependencies then add
  that second URL (the Sonatype Forge) as a snapshot
  repository in your settings.xml, apply the patch from the
  end of my original email to Maven 3 trunk, and do a build
 
  2) The second URL points to a Maven repository. You were talking of a
   replacement container (which I thought of as being classworlds).
 However
   I was looking for the source code.
  
 
  for the new container source code see 1) ... specifically
  guice-bean / guice-plexus which form most of the code
  [ it's modular so there's no single project source tree ]
 
  also look at the example to see JSR330 in practice
 
  To summarise, I'd like to have the URLs only to the source code needed
   to build Maven 3 with the Guice bit.
  
 
  you already have it... build 1) and you have everything
  needed - as explained you still need the patch of Guice
  for now, but won't in the future
 
  or just use 2) to download the binary snapshots
 
 
   I understand that there is a compatibility layer, and I can build that
   (after knowing if I have to build the whole Guice as well with it). I
   understand that there is a replacement container (but I don't have a
   precise URL to the SVN code for it); I'd like to know if the Maven 3
   trunk builds already on top of the above, or if I need another URL with
   Guice support, and if this case I'd like a precise URL for it.
  
 
  Maven 3 trunk still builds with Plexus at the moment,
  but if you take the patch from the bottom of my earlier
  email and apply it to Maven 3 then it will build with the
  new artifacts
 
  or just grab a snapshot build of Maven 3, remove the
  Plexus container jar and add the three artifacts listed
  above...
 
  Thanks for your time.
  
   M.
  
  
   On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
 wrote:
   
 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but
 the
 trunk still has Plexus in it. I'd like to have a look at what Maven
 3
 will look like when finished (from a code perspective).

   
The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)
   
The Plexus 

Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 22:16, Olivier Lamy ol...@apache.org wrote:

 Hi Stuart,
 Any objections If I create a branch in asf svn repo ?


sure, fine with me

2010/6/6 Stuart McCulloch mccu...@gmail.com:
  On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, thank you for your email. Do you think that future emails
  related to the process below (mainly if I found any difficulties in
  building the whole thing plus observations, suggestions, etc) should be
  addressed to the dev mailing list?
 
 
  yep, this is more of a dev discussion
 
 
  M.
 
  On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
   On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
  
Stuart, a couple of things re the below:
   
1) The first URL downloads spice-inject and the whole Guice.
 Question:
was Guice extended for this compatibility layer? What actually is
 the
compatibility layer? Is it just spice or the whole lot?
  
  
   The first URL is the umbrella project that provides the
   compatibility layer - it contains a patched version of
   Guice because we needed to tweak and experiment
   with certain behavior during development, and handle
   some corner-cases wrt. Nexus
  
   Most changes have been committed into Guice trunk.
   There's only one patch left needed for Maven, which is
   the type converter feature and this should go in soon.
   (diff vanilla.src vs. src to see the remaining patches)
  
   We're still keeping our patched tree around for further
   experimentation / point-releases because Guice 2.1
   has not yet been officially released - otherwise you'd
   need to download and build Guice from scratch too.
  
   spice-inject also contains various modules that provide
   classpath scanning and Plexus-like features on top of
   Guice - these modules are combined into the two main
   distro jars: spice-inject-bean and spice-inject-plexus
   for convenience sake. [ these are not going back into
   Guice as they're external extensions ]
  
   spice-inject-bean provides a component model on top
   of JSR330 (component scanning, dynamic collections)
   - see the examples module for, well, an example ;)
  
   spice-inject-plexus adds support for Plexus
  
   to replace the Plexus container in Maven3 you need:
  
 spice-inject-bean-1.2.1-SNAPSHOT.jar
 spice-inject-plexus-1.2.1-SNAPSHOT.jar
 guice-patches-2.1.4-SNAPSHOT-noaop.jar
  
   at least until the type converter patches go into Guice
  
   If it's just spice, could we avoid from build the whole Guice and
 have
  the
dependencies downloaded from the net?
   
  
   if you just want to download the dependencies then add
   that second URL (the Sonatype Forge) as a snapshot
   repository in your settings.xml, apply the patch from the
   end of my original email to Maven 3 trunk, and do a build
  
   2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds).
  However
I was looking for the source code.
   
  
   for the new container source code see 1) ... specifically
   guice-bean / guice-plexus which form most of the code
   [ it's modular so there's no single project source tree ]
  
   also look at the example to see JSR330 in practice
  
   To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit.
   
  
   you already have it... build 1) and you have everything
   needed - as explained you still need the patch of Guice
   for now, but won't in the future
  
   or just use 2) to download the binary snapshots
  
  
I understand that there is a compatibility layer, and I can build
 that
(after knowing if I have to build the whole Guice as well with it).
 I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL
 with
Guice support, and if this case I'd like a precise URL for it.
   
  
   Maven 3 trunk still builds with Plexus at the moment,
   but if you take the patch from the bottom of my earlier
   email and apply it to Maven 3 then it will build with the
   new artifacts
  
   or just grab a snapshot build of Maven 3, remove the
   Plexus container jar and add the three artifacts listed
   above...
  
   Thanks for your time.
   
M.
   
   
On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
  wrote:

  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds,
 but
  the
  trunk still has Plexus in it. I'd like to have a look at what
 Maven
  3
  will look like when finished (from a code perspective).
 

 The idea is for Guice to replace the Plexus container
 by using a 

Re: Custom metadata in a POM?

2010-06-06 Thread Jason van Zyl
Nexus can utilize anything contained in the repository. Whether a piece of 
metadata exists alongside the artifact or within it, a Nexus plugin could be 
created to process the information. So you don't need to change the way Grails 
plugins are packaged in order to extract the metadata and make it available. We 
know from experience that Nexus is perfect for plugin systems :-)

On Jun 4, 2010, at 4:28 PM, Les Hazlewood wrote:

 Is this possible?  So, in addition to stuff like developers, is it
 possible to add additional metadata?
 
 I'm asking because the Grails development team is exploring the
 possibility of using a Maven repository (e.g. Nexus) to host Grails
 plugins.  A Grails plugin is a .zip file, but the Grails environment
 (and the global Grails Plugin Portal
 http://www.grails.org/plugin/home) need to read Grails-specific
 metadata about that .zip without having to download the .zip first.
 I'm proposing that the POM could serve that purpose *if* POMs can hold
 additional metadata somehow.
 
 Any ideas?
 
 Thanks,
 
 Les
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 

Thanks,

Jason

--
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
-






Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
stuff is here :
http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/

Thanks !

2010/6/6 Stuart McCulloch mccu...@gmail.com:
 On 6 June 2010 22:16, Olivier Lamy ol...@apache.org wrote:

 Hi Stuart,
 Any objections If I create a branch in asf svn repo ?


 sure, fine with me

 2010/6/6 Stuart McCulloch mccu...@gmail.com:
  On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, thank you for your email. Do you think that future emails
  related to the process below (mainly if I found any difficulties in
  building the whole thing plus observations, suggestions, etc) should be
  addressed to the dev mailing list?
 
 
  yep, this is more of a dev discussion
 
 
  M.
 
  On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
   On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
  
Stuart, a couple of things re the below:
   
1) The first URL downloads spice-inject and the whole Guice.
 Question:
was Guice extended for this compatibility layer? What actually is
 the
compatibility layer? Is it just spice or the whole lot?
  
  
   The first URL is the umbrella project that provides the
   compatibility layer - it contains a patched version of
   Guice because we needed to tweak and experiment
   with certain behavior during development, and handle
   some corner-cases wrt. Nexus
  
   Most changes have been committed into Guice trunk.
   There's only one patch left needed for Maven, which is
   the type converter feature and this should go in soon.
   (diff vanilla.src vs. src to see the remaining patches)
  
   We're still keeping our patched tree around for further
   experimentation / point-releases because Guice 2.1
   has not yet been officially released - otherwise you'd
   need to download and build Guice from scratch too.
  
   spice-inject also contains various modules that provide
   classpath scanning and Plexus-like features on top of
   Guice - these modules are combined into the two main
   distro jars: spice-inject-bean and spice-inject-plexus
   for convenience sake. [ these are not going back into
   Guice as they're external extensions ]
  
   spice-inject-bean provides a component model on top
   of JSR330 (component scanning, dynamic collections)
   - see the examples module for, well, an example ;)
  
   spice-inject-plexus adds support for Plexus
  
   to replace the Plexus container in Maven3 you need:
  
     spice-inject-bean-1.2.1-SNAPSHOT.jar
     spice-inject-plexus-1.2.1-SNAPSHOT.jar
     guice-patches-2.1.4-SNAPSHOT-noaop.jar
  
   at least until the type converter patches go into Guice
  
   If it's just spice, could we avoid from build the whole Guice and
 have
  the
dependencies downloaded from the net?
   
  
   if you just want to download the dependencies then add
   that second URL (the Sonatype Forge) as a snapshot
   repository in your settings.xml, apply the patch from the
   end of my original email to Maven 3 trunk, and do a build
  
   2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds).
  However
I was looking for the source code.
   
  
   for the new container source code see 1) ... specifically
   guice-bean / guice-plexus which form most of the code
   [ it's modular so there's no single project source tree ]
  
   also look at the example to see JSR330 in practice
  
   To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit.
   
  
   you already have it... build 1) and you have everything
   needed - as explained you still need the patch of Guice
   for now, but won't in the future
  
   or just use 2) to download the binary snapshots
  
  
I understand that there is a compatibility layer, and I can build
 that
(after knowing if I have to build the whole Guice as well with it).
 I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL
 with
Guice support, and if this case I'd like a precise URL for it.
   
  
   Maven 3 trunk still builds with Plexus at the moment,
   but if you take the patch from the bottom of my earlier
   email and apply it to Maven 3 then it will build with the
   new artifacts
  
   or just grab a snapshot build of Maven 3, remove the
   Plexus container jar and add the three artifacts listed
   above...
  
   Thanks for your time.
   
M.
   
   
On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
  wrote:

  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds,
 but
  the
  trunk still has Plexus in it. I'd like to have a look at what
 Maven
  3
  will 

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
 Thanks !
 
Hi Oliver, I take it this branch contains everything that's needed,
right? I mean Maven-3, the Plexus-Guice adapter and all required
dependencies in the POM. Correct?

Thanks.

M.


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



Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
yup.
It build fine and it works for some builds I have tested since I have
installed it (at least on my laptop :-) ) .


2010/6/6 Jemos Infra jemos.in...@googlemail.com:
 On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/

 Thanks !

 Hi Oliver, I take it this branch contains everything that's needed,
 right? I mean Maven-3, the Plexus-Guice adapter and all required
 dependencies in the POM. Correct?

 Thanks.

 M.


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





-- 
Olivier
http://twitter.com/olamy
http://fr.linkedin.com/in/olamy
http://www.viadeo.com/fr/profile/olivier.lamy7

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



Re: Custom metadata in a POM?

2010-06-06 Thread Les Hazlewood
Yep, Nexus would be fantastic for this - we're basically trying to
come up with the most efficient mechanism to do the following:

1.  A Grails developer releases a plugin.  This process first entails
(ideally) Grails uploading it to a Maven repo (i.e. Nexus).
2.  Grails (during its 'release-plugin' command) next 'pings' the
global Grails Plugin Portal (http://www.grails.org/plugin/home) with
the location of the released artifact(s).
3.  The Plugin Portal downloads the plugin metadata when it can based
on the location specified in #2 and updates its website pages to
ensure that any searches in the Portal reflect the new release.

The key here is #3 - finding the best way for the Portal to
most-efficiently download and read in the plugin metadata without
having to download the entire plugin release.zip.  The Portal has to
support this for hundreds of plugins every day - it has to be as lean
as possible.

Best,

Les

On Sun, Jun 6, 2010 at 7:38 AM, Jason van Zyl ja...@sonatype.com wrote:
 Nexus can utilize anything contained in the repository. Whether a piece of 
 metadata exists alongside the artifact or within it, a Nexus plugin could be 
 created to process the information. So you don't need to change the way 
 Grails plugins are packaged in order to extract the metadata and make it 
 available. We know from experience that Nexus is perfect for plugin systems 
 :-)

 On Jun 4, 2010, at 4:28 PM, Les Hazlewood wrote:

 Is this possible?  So, in addition to stuff like developers, is it
 possible to add additional metadata?

 I'm asking because the Grails development team is exploring the
 possibility of using a Maven repository (e.g. Nexus) to host Grails
 plugins.  A Grails plugin is a .zip file, but the Grails environment
 (and the global Grails Plugin Portal
 http://www.grails.org/plugin/home) need to read Grails-specific
 metadata about that .zip without having to download the .zip first.
 I'm proposing that the POM could serve that purpose *if* POMs can hold
 additional metadata somehow.

 Any ideas?

 Thanks,

 Les

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


 Thanks,

 Jason

 --
 Jason van Zyl
 Founder,  Apache Maven
 http://twitter.com/jvanzyl
 -






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



Re: Branch with Google guice?

2010-06-06 Thread nicolas de loof
Can we use the CI server to check how this branch supports the IT test
harnesss ? It could make us more confident / help to detect
incompatibilities when switching to Guive will become a concrete option.

Nicolas

2010/6/6 Olivier Lamy ol...@apache.org

 yup.
 It build fine and it works for some builds I have tested since I have
 installed it (at least on my laptop :-) ) .


 2010/6/6 Jemos Infra jemos.in...@googlemail.com:
  On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
  stuff is here :
  http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
  Thanks !
 
  Hi Oliver, I take it this branch contains everything that's needed,
  right? I mean Maven-3, the Plexus-Guice adapter and all required
  dependencies in the POM. Correct?
 
  Thanks.
 
  M.
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 



 --
 Olivier
 http://twitter.com/olamy
 http://fr.linkedin.com/in/olamy
 http://www.viadeo.com/fr/profile/olivier.lamy7

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




Re: Branch with Google guice?

2010-06-06 Thread Kristian Rosenvold
I have been running this patch on my CI (including m3 IT's) for quite
some time now, and it works really well here. Obviously, the more the
merrier!

But then again, from a user's perspective this change really adds very
little to the excitement. It's supposed to be a transparent change
without any feature changes and as far as I can see that's exactly what
it is.

Kristian





sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
 Can we use the CI server to check how this branch supports the IT test
 harnesss ? It could make us more confident / help to detect
 incompatibilities when switching to Guive will become a concrete option.
 
 Nicolas
 
 2010/6/6 Olivier Lamy ol...@apache.org
 
  yup.
  It build fine and it works for some builds I have tested since I have
  installed it (at least on my laptop :-) ) .
 
 
  2010/6/6 Jemos Infra jemos.in...@googlemail.com:
   On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
   stuff is here :
   http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
  
   Thanks !
  
   Hi Oliver, I take it this branch contains everything that's needed,
   right? I mean Maven-3, the Plexus-Guice adapter and all required
   dependencies in the POM. Correct?
  
   Thanks.
  
   M.
  
  
   -
   To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
   For additional commands, e-mail: users-h...@maven.apache.org
  
  
 
 
 
  --
  Olivier
  http://twitter.com/olamy
  http://fr.linkedin.com/in/olamy
  http://www.viadeo.com/fr/profile/olivier.lamy7
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 



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



Re: Command line output when running JUnit 4 test suite

2010-06-06 Thread Peter Niederwieser


klauer wrote:
 
 The Maven Surefire plugin allows you to explicitly set a single test or
 set of tests using wildcard matching:
 
I'm aware of -Dtest, but that's not what I want.


klauer wrote:
 And as for your better command line output,  why not just use the
 command line
 to output the test right there:
 mvn test -Dtest=MyTest; cat
 target/surefire-reports/com.thingMyTest.txt
 
This will only give me feedback (plus lots of noise) once the whole suite
has completed, which is exactly what I'm trying to avoid.

Cheers,
Peter

-- 
View this message in context: 
http://old.nabble.com/Command-line-output-when-running-JUnit-4-test-suite-tp28786362p28793392.html
Sent from the Maven - Users mailing list archive at Nabble.com.


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



maven test cannot load cross-module resources/properties ?

2010-06-06 Thread smallufo
I have a maven mantained project with some modules . One module contains one
XML file and one parsing class :Parser.java.

Second module depends on the first module. There is a class that extends the
parsing class in the first module , but maven seems cannot test the class in
the second module. Maven test reports :

java.lang.NullPointerException

 at java.util.Properties.loadFromXML(Properties.java:851)

 at foo.firstModule.Parser.init(Parser.java:92)

 at foo.secondModule.Program.init(Program.java:84)

In Parser.java (in the first module) , it uses Properties and InputStream
to read/parse an XML file :

InputStream xmlStream = getClass().getResourceAsStream(Data.xml);
Properties properties = new Properties();

properties.loadFromXML(xmlStream);

The data.xml is located in first module's resources/foo/firstModule
directory , and it tests OK in the first module.

Here is my full code :

This is Parser in the first module :

package foo.firstModule;

import java.io.IOException;
import java.io.InputStream;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;

public class Parser
{

  private Properties properties;

  public Parser()

  {

InputStream xmlStream = getClass().getResourceAsStream(Data.xml);

properties = new Properties();

try

{

  properties.loadFromXML(xmlStream);

}

catch (InvalidPropertiesFormatException e)

{

  e.printStackTrace();

}

catch (IOException e)

{

  e.printStackTrace();

}

  }

  public Properties getProperties()

  {

return properties;

  }
}

This is Parser's test case , passed .

package foo.firstModule;

import junit.framework.TestCase;

public class ParserTest extends TestCase
{

  public void testParser()

  {

Parser p = new Parser();

assertEquals(64 , p.getProperties().size());

  }
}

This is ParserExtend in the secondModule , which extends Parser in the
firstModule :

package foo.secondModule;

import java.util.Properties;

import foo.firstModule.Parser;

public class ParserExtend extends Parser
{

  private Properties properties;

  public ParserExtend()

  {

this.properties = getProperties();

  }

  public int getSize()

  {

return properties.size();

  }
}

This is ParserExtend's test case :

package foo.secondModule;

import junit.framework.TestCase;

public class ParserExtendTest extends TestCase
{

  public void testParserExtend()

  {

ParserExtend pe = new ParserExtend();

assertEquals(64 , pe.getSize());

  }
}

The above test case failed because
*Properties.loadFromXML*(Properties.java:851)
throws NPE

However , if I don't extend Parser , just new the Parser :

package foo.secondModule;

import java.util.Properties;

import foo.firstModule.Parser;

public class ParserInit
{

  private Properties properties;

  public ParserInit()

  {

Parser p = new Parser();

this.properties = p.getProperties();

  }

  public int getSize()

  {

return properties.size();

  }
}

and this is the test case :

package foo.secondModule;

import junit.framework.TestCase;

public class ParserInitTest extends TestCase
{

  public void testParserInit()

  {

ParserInit pi = new ParserInit();

assertEquals(64 , pi.getSize());

  }
}

The test case passes !

This is my whole test scenario. It seems it 's maven and junit's classloader
problem.

Anybody able to find how to pass the ParserExtend's test case ? Thanks in
advanced.


can't change outputDirectory for maven-surefire-report-plugin

2010-06-06 Thread Anthony Jurado Jr


Using the following configuration,  the site reports end up
C:/opt/builds/releases/${branch}/${module}/siteReports as I expect.  The
test reports, however, keep getting placed under target/surefire-reports.
I've tried with and without the reportsDirectory and I've tried reversing
the order of the maven-site-plugin and the maven-surefire-report-plugin.
Can somebody please tell me how I can make the maven-surefire-report-plugin
put the reports in a directory that I specify?

  reporting
plugins
  plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-site-plugin/artifactId
version2.0.1/version
configuration
  outputDirectoryC:/opt/builds/releases/${branch}/$
{module}/siteReports/outputDirectory
/configuration
  /plugin
  plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-surefire-report-plugin/artifactId
version2.5/version
inheritedfalse/inherited
configuration
  reportsDirectoryC:/opt/builds/releases/${branch}/$
{module}/testReports/reportsDirectory
  outputDirectoryC:/opt/builds/releases/${branch}/$
{module}/testReports/outputDirectory
/configuration
  /plugin
/plugins
  /reporting

Many thanks,
Tony


Re: maven test cannot load cross-module resources/properties ?

2010-06-06 Thread Anders Hammar
Could it be that it is looking for Data.xml at path
foo/secondModule/Data.xml. I'm guessing that this is a plain Java thing and
not related to Maven.

/Anders

On Mon, Jun 7, 2010 at 04:30, smallufo small...@gmail.com wrote:

 I have a maven mantained project with some modules . One module contains
 one
 XML file and one parsing class :Parser.java.

 Second module depends on the first module. There is a class that extends
 the
 parsing class in the first module , but maven seems cannot test the class
 in
 the second module. Maven test reports :

 java.lang.NullPointerException

  at java.util.Properties.loadFromXML(Properties.java:851)

  at foo.firstModule.Parser.init(Parser.java:92)

  at foo.secondModule.Program.init(Program.java:84)

 In Parser.java (in the first module) , it uses Properties and InputStream
 to read/parse an XML file :

 InputStream xmlStream = getClass().getResourceAsStream(Data.xml);
 Properties properties = new Properties();

 properties.loadFromXML(xmlStream);

 The data.xml is located in first module's resources/foo/firstModule
 directory , and it tests OK in the first module.

 Here is my full code :

 This is Parser in the first module :

 package foo.firstModule;

 import java.io.IOException;
 import java.io.InputStream;
 import java.util.InvalidPropertiesFormatException;
 import java.util.Properties;

 public class Parser
 {

  private Properties properties;

  public Parser()

  {

InputStream xmlStream = getClass().getResourceAsStream(Data.xml);

properties = new Properties();

try

{

  properties.loadFromXML(xmlStream);

}

catch (InvalidPropertiesFormatException e)

{

  e.printStackTrace();

}

catch (IOException e)

{

  e.printStackTrace();

}

  }

  public Properties getProperties()

  {

return properties;

  }
 }

 This is Parser's test case , passed .

 package foo.firstModule;

 import junit.framework.TestCase;

 public class ParserTest extends TestCase
 {

  public void testParser()

  {

Parser p = new Parser();

assertEquals(64 , p.getProperties().size());

  }
 }

 This is ParserExtend in the secondModule , which extends Parser in the
 firstModule :

 package foo.secondModule;

 import java.util.Properties;

 import foo.firstModule.Parser;

 public class ParserExtend extends Parser
 {

  private Properties properties;

  public ParserExtend()

  {

this.properties = getProperties();

  }

  public int getSize()

  {

return properties.size();

  }
 }

 This is ParserExtend's test case :

 package foo.secondModule;

 import junit.framework.TestCase;

 public class ParserExtendTest extends TestCase
 {

  public void testParserExtend()

  {

ParserExtend pe = new ParserExtend();

assertEquals(64 , pe.getSize());

  }
 }

 The above test case failed because
 *Properties.loadFromXML*(Properties.java:851)
 throws NPE

 However , if I don't extend Parser , just new the Parser :

 package foo.secondModule;

 import java.util.Properties;

 import foo.firstModule.Parser;

 public class ParserInit
 {

  private Properties properties;

  public ParserInit()

  {

Parser p = new Parser();

this.properties = p.getProperties();

  }

  public int getSize()

  {

return properties.size();

  }
 }

 and this is the test case :

 package foo.secondModule;

 import junit.framework.TestCase;

 public class ParserInitTest extends TestCase
 {

  public void testParserInit()

  {

ParserInit pi = new ParserInit();

assertEquals(64 , pi.getSize());

  }
 }

 The test case passes !

 This is my whole test scenario. It seems it 's maven and junit's
 classloader
 problem.

 Anybody able to find how to pass the ParserExtend's test case ? Thanks in
 advanced.