Re: How the dependencies of 3rd parties' bundles are managed ?

2009-11-15 Thread David Jencks


On Nov 15, 2009, at 9:05 PM, Ivan wrote:


Hi,
   The dependencies of Geronimo plugins are managed by  
DependencyManager, it will start all the dependent bundles before  
starting the plugin bundle. But how are dependencies of those 3rd  
parties' bundles managed ? For example, wadi-core needs to import  
some CGLIB's packages,  how does Geronimo make sure that cglib  
bundle is started before wadi-core ? In the schema of geronimo- 
plugin.xml, I found the dependencyType could still has depdency  
children list. Is this for that use ? But I did not find that  
DependencyManager handles it.


the dependency nesting is an unfortunate leftover from my attempt to  
get a one-classloader-per-jar system to work.  I need to remove it  
from trunk.


Only geronimo plugins include the geronimo-plugin.xml that the  
dependency manager reads.  The car-maven-plugin is supposed to follow  
maven transitive dependencies to fill this out so all required bundles  
will be loaded.  The needed bundles are all supposed to end up as top  
level dependencies in geronimo-plugin.xml.


Since many projects rely on jars that are not osgi bundles, we often  
need to exclude the original dependencies in the dependencyManagement  
for the 3rd party jar and explicitly include a suitable bundle as a  
direct dependency in an appropriate pom.


hope this helps
david jencks


--
Ivan




How the dependencies of 3rd parties' bundles are managed ?

2009-11-15 Thread Ivan
Hi,
   The dependencies of Geronimo plugins are managed by DependencyManager, it
will start all the dependent bundles before starting the plugin bundle. But
how are dependencies of those 3rd parties' bundles managed ? For example,
wadi-core needs to import some CGLIB's packages,  how does Geronimo make
sure that cglib bundle is started before wadi-core ? In the schema of
geronimo-plugin.xml, I found the dependencyType could still has depdency
children list. Is this for that use ? But I did not find that
DependencyManager handles it.
-- 
Ivan


Re: OpenJPA 2.0 usable with Geronimo 2.2

2009-11-15 Thread David Jencks


On Nov 15, 2009, at 12:38 PM, frapien wrote:



I was surprised to see  a Open JPA 2.0 plug in for Geronimo 2.2 under
http://geronimo.apache.org/plugins/openjpa2/
Geronimo Plugins, OpenJPA2 :: CAR   2.2-M3-SNAPSHOT
I thought  JPA 2.0 will be supported feature only for Geronimo 3.0
Are there any other plans?


It will be some time before geronimo 3 is usable enough to try out  
openjpa2, but its easy enough to install it as a plugin in geronimo  
2.2 thus this plugin for those that wish to try it out with an  
otherwise javaee 5 server.


thanks
david jencks


Thanks, Frank

--
View this message in context: 
http://old.nabble.com/OpenJPA-2.0-usable-with-Geronimo-2.2-tp26363054s134p26363054.html
Sent from the Apache Geronimo - Dev mailing list archive at  
Nabble.com.






Re: Geronimo 2.2 Release Status

2009-11-15 Thread David Jencks


On Nov 15, 2009, at 12:23 PM, frapien wrote:



How are the plans? Will Geronimo 2.2 get out this year?
Are there any open isues? Releaseplan speaks from Proposed Release  
date:

3Q2009


I'm hoping to get it out for a vote this week.  There are often more  
problems than can be imagined getting a release candidate ready so  
we'll see how it goes.


thanks
david jencks


http://cwiki.apache.org/GMOxPMGT/geronimo-22-release-status.html
Thanks for information
Frank
--
View this message in context: 
http://old.nabble.com/Geronimo-2.2-Release-Status-tp26362916s134p26362916.html
Sent from the Apache Geronimo - Dev mailing list archive at  
Nabble.com.






[jira] Created: (GERONIMO-4952) Figure out how to use User Admin service in Geronimo 3.0

2009-11-15 Thread Ivan (JIRA)
Figure out how to use User Admin service in Geronimo 3.0


 Key: GERONIMO-4952
 URL: https://issues.apache.org/jira/browse/GERONIMO-4952
 Project: Geronimo
  Issue Type: New Feature
  Security Level: public (Regular issues)
  Components: osgi, security
Affects Versions: 3.0
Reporter: Ivan
 Fix For: 3.0


In OSGI world, User Admin service is used for authentication and authorization, 
while in classic Java environment, JACC is used, should figure out how we could 
use it in new Geronimo 3.0. From my view, for authentication, we might define a 
login module which delegates to user admin service. For authorization, did not 
have clear idea now,

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



OpenJPA 2.0 usable with Geronimo 2.2

2009-11-15 Thread frapien

I was surprised to see  a Open JPA 2.0 plug in for Geronimo 2.2 under
http://geronimo.apache.org/plugins/openjpa2/
Geronimo Plugins, OpenJPA2 :: CAR   2.2-M3-SNAPSHOT
I thought  JPA 2.0 will be supported feature only for Geronimo 3.0
Are there any other plans?
Thanks, Frank

-- 
View this message in context: 
http://old.nabble.com/OpenJPA-2.0-usable-with-Geronimo-2.2-tp26363054s134p26363054.html
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.



Geronimo 2.2 Release Status

2009-11-15 Thread frapien

How are the plans? Will Geronimo 2.2 get out this year?
Are there any open isues? Releaseplan speaks from Proposed Release date:
3Q2009
http://cwiki.apache.org/GMOxPMGT/geronimo-22-release-status.html
Thanks for information
Frank
-- 
View this message in context: 
http://old.nabble.com/Geronimo-2.2-Release-Status-tp26362916s134p26362916.html
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.



OK: GERONIMO 2.2 ActiveMQ5 CAMEL2 integration

2009-11-15 Thread frapien

I tested with the new plugin
GSH> deploy/install-plugin 
activemq-webconsole-tomcat-2.2-20091104.002204-4.car
http://localhost:8080/activemq-console/
all work's fine
thanks for help & hints, frank









-- 
View this message in context: 
http://old.nabble.com/GERONIMO-2.2-ActiveMQ5-CAMEL2-integration-tp26126819s134p26362720.html
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.



[BUILD] branches/2.2: Failed for Revision: 836392

2009-11-15 Thread gawor
Geronimo Revision: 836392 built with tests included
 
See the full build-1400.log file at 
http://people.apache.org/builds/geronimo/server/binaries/2.2/20091115/build-1400.log
 
 
See the unit test reports at 
http://people.apache.org/builds/geronimo/server/binaries/2.2/20091115/unit-test-reports
 

2) org.apache.axis2:axis2-saaj:jar:1.5

  Try downloading the file manually from the project website.

  Then, install it using the command: 
  mvn install:install-file -DgroupId=org.apache.axis2 
-DartifactId=axis2-saaj -Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
  mvn deploy:deploy-file -DgroupId=org.apache.axis2 -DartifactId=axis2-saaj 
-Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] 
-DrepositoryId=[id]

  Path to dependency: 
1) org.apache.geronimo.modules:geronimo-axis2:jar:2.2-SNAPSHOT
2) org.apache.axis2:axis2-jaxws:jar:1.5
3) org.apache.axis2:axis2-saaj:jar:1.5

--
2 required artifacts are missing.

for artifact: 
  org.apache.geronimo.modules:geronimo-axis2:jar:2.2-SNAPSHOT

from the specified remote repositories:
  ibiblio.org (http://repo.exist.com/maven2),
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots)


at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:576)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: 
org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
--
1) org.apache.woden:woden-impl-dom:jar:1.0M8

  Try downloading the file manually from the project website.

  Then, install it using the command: 
  mvn install:install-file -DgroupId=org.apache.woden 
-DartifactId=woden-impl-dom -Dversion=1.0M8 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
  mvn deploy:deploy-file -DgroupId=org.apache.woden 
-DartifactId=woden-impl-dom -Dversion=1.0M8 -Dpackaging=jar 
-Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
1) org.apache.geronimo.modules:geronimo-axis2:jar:2.2-SNAPSHOT
2) org.apache.axis2:axis2-kernel:jar:1.5
3) org.apache.woden:woden-impl-dom:jar:1.0M8

2) org.apache.axis2:axis2-saaj:jar:1.5

  Try downloading the file manually from the project website.

  Then, install it using the command: 
  mvn install:install-file -DgroupId=org.apache.axis2 
-DartifactId=axis2-saaj -Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
  mvn deploy:deploy-file -DgroupId=org.apache.axis2 -DartifactId=axis2-saaj 
-Dversion=1.5 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] 
-DrepositoryId=[id]

  Path to dependency: 
1) org.apache.geronimo.modules:geronimo-axis2:jar:2.2-SNAPSHOT
2) org.apache.axis2:axis2-jaxws:jar:1.5
3) org.apache.axis2:axis2-saaj:jar:1.5

--
2 required artifacts are missing.

for artifact: 
  org.apache.geronimo.modules:geronimo-axis2:jar:2.2-SNAPSHOT

from the specified remote repositories:
  ibiblio.org (http://repo.exist.com/maven2),
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots)


at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:324)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively

RE: Toplink plugin for geronimo

2009-11-15 Thread Fei LI
Hi Kevan,
 
This is a very good subject. I am an experienced Java/J2EE application 
developer but only have the experience how to use a Web server, never develop a 
Web server.
 
I can try. But I do not know how it can work out. So many things new to learn. 
If you can find a supervisor for me, it would be awesome. He give me a 
direction and I implement his idea. We can work together. It will be much fast 
than I act alone. How do you think?
 
Another topic I am very interested is concurrency programming. I made 
commercial one 8 years ago and people still use it, but I know it was not good 
one after I read the book "Java Concurrency in practice". Now I believe I can 
do much, much better on this topic.
 
Thanks
 
Fei Li
 



From: Kevan Miller [mailto:kevan.mil...@gmail.com]
Sent: Sat 14/11/2009 7:59 AM
To: dev@geronimo.apache.org
Subject: Re: Toplink plugin for geronimo



On Nov 13, 2009, at 10:02 AM, Fei LI wrote:


Yes, I vote for it strongly. But if IBM takes an anti-Oracle position, 
then I do not know.


That's not how it works in an Apache community. If users are interested in the 
capability and someone in the community is interested in developing (and 
supporting) it, barring architectural/technical/legal objections, it will 
happen. A plugin, on it's own, would not generate much in the way of 
architectural/technical objections... If the plugin was driving a lot of 
changes in other parts of the server, then there might be some objections. But, 
I doubt that would happen... So, assuming there aren't legal/licensing issues, 
there's nothing preventing this...

Perhaps you're interested in helping to develop it? ;-)

--kevan


[BUILD] trunk: Failed for Revision: 836363

2009-11-15 Thread gawor
Geronimo Revision: 836363 built with tests included
 
See the full build-0900.log file at 
http://people.apache.org/builds/geronimo/server/binaries/trunk/20091115/build-0900.log
 
 
See the unit test reports at 
http://people.apache.org/builds/geronimo/server/binaries/trunk/20091115/unit-test-reports
 

[INFO] 
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unable to get 
dependency information: Unable to read the metadata file for artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
 for project 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
  
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_3-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots)

Path to dependency: 
1) org.apache.geronimo.framework:geronimo-kernel:bundle:3.0-SNAPSHOT


at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:576)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: 
Unable to get dependency information: Unable to read the metadata file for 
artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
 for project 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
  
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_3-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots)

Path to dependency: 
1) org.apache.geronimo.framework:geronimo-kernel:bundle:3.0-SNAPSHOT


at 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:432)
at 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:300)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:288)
at 
org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependencies(DefaultPluginManager.java:1417)
at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:407)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
... 16 more
Caused by: 
org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException: Unable 
to read the metadata file for artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle

[jira] Closed: (GERONIMO-4900) MissingDependencyException while deploying EAR in Clustering Environment

2009-11-15 Thread Amit Puri (JIRA)

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

Amit Puri closed GERONIMO-4900.
---


I am closing this JIRA. Thanks a lot Ashish.

Thanks
Amit

> MissingDependencyException while deploying EAR in Clustering Environment
> 
>
> Key: GERONIMO-4900
> URL: https://issues.apache.org/jira/browse/GERONIMO-4900
> Project: Geronimo
>  Issue Type: Bug
>  Security Level: public(Regular issues) 
>  Components: Clustering
>Affects Versions: 2.1.4
>Reporter: Amit Puri
>Assignee: Kevan Miller
> Fix For: 2.1.5
>
> Attachments: ClusterTestEAR.ear, Geronimo4900.patch
>
>
> 1. Installed two geronimo instances A and B at different paths
> 2. Made the following changes to Geronimo A
>For var\config\config-substitutions.properties
>clusterNodeName=NODE --> clusterNodeName=NODE-A
>For var\config\config.xml, add the following contents to module: 
> org.apache.geronimo.configs/farming/2.1.4/car
> -
>  name="org.apache.geronimo.configs/farming/2.1.4/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.4/car,j2eeType=NodeInfo,name=NODE-B"
>  gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
> NODE-B
>  propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"
>  name="extendedJMXConnectorInfo">
>  class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo" 
> xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"; 
> xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"; xmlns="">
> system
> manager
> rmi
> localhost
> 1109
> JMXConnector
> false
>   
> 
> -
> 3. Made the following changes to Geronimo B
>For var\config\config-substitutions.properties
>clusterNodeName=NODE --> clusterNodeName=NODE-B
>PortOffset=0 --> PortOffset=10
>For var\config\config.xml, add the following contents to module: 
> org.apache.geronimo.configs/farming/2.1.4/car
> -
>  name="org.apache.geronimo.configs/farming/2.1.4/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.4/car,j2eeType=NodeInfo,name=NODE-A"
>  gbeanInfo="org.apache.geronimo.farm.config.BasicNodeInfo">
> NODE-A
>  propertyEditor="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfoEditor"
>  name="extendedJMXConnectorInfo">
>  class="org.apache.geronimo.farm.config.BasicExtendedJMXConnectorInfo" 
> xmlns:ns4="http://geronimo.apache.org/xml/ns/attributes-1.2"; 
> xmlns:ns="http://geronimo.apache.org/xml/ns/deployment/javabean-1.0"; xmlns="">
> system
> manager
> rmi
> localhost
> 1099
> JMXConnector
> false
>   
> 
> -
> 4. Started both Geronimo A and B
> 5. Ran the following commands in Geronimo_A_Path\bin
>deploy --user system --password manager start 
> org.apache.geronimo.configs/farming/2.1.4/car
>deploy --user system --password manager --port 1109 start 
> org.apache.geronimo.configs/farming/2.1.4/car
> 6. Deployed one sample ClusterTestEAR.ear in Geronimo_A_Path\bin
> deploy --user system --password manager deploy --targets  
> org.apache.geronimo.configs/farming/2.1.4/car?ServiceModule=org.apache.geronimo.configs/farming/2.1.4/car,j2eeType=ConfigurationStore,name=MasterConfigurationStore
>  PATH_SAMPLE\ClusterTestEAR.ear
> Output:
> A) Errors in Geronimo A geronimo.log
>  INFO  [BasicClusterConfigurationStoreClient] Upload of configuration 
> [default/ClusterTestEAR_G_SLAVE/1.0/ear] - [File(s) transferred to server.  
> Resuming deployment operation.]
>  INFO  [BasicClusterConfigurationController] Exception while starting 
> configuration [default/ClusterTestEAR_G_SLAVE/1.0/ear] on [NODE-B]. Ignoring.
> org.apache.geronimo.kernel.config.LifecycleException: load of 
> default/ClusterTestEAR_G_SLAVE/1.0/ear failed
> Caused by: 
> org.apache.geronimo.kernel.config.InvalidConfigException: Error starting 
> configuration gbean default/ClusterTestEAR_G_SLAVE/1.0/ear
>   at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.load(KernelConfigurationManager.java:181)
>   at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:313)
>   

Re: Geronimo 3.0: verifying generated manifests

2009-11-15 Thread David Jencks

very cool!

FWIW, I have no object to requiring maven 3 for trunk as long as we  
can get the build to work more or less as well as it does now.  If  
that helps with osgi-maven tooling I'd say the sooner the better.


thanks
david jencks

On Nov 14, 2009, at 9:05 PM, Jarek Gawor wrote:


Hey,

I added a small plugin that verifies the generated manifest against
the dependencies (bundles). It uses the eclipse API to validate the
manifest so it's following the OSGi rules. Hopefully, this should help
us detect problems sooner at build time. For example, it catches a
problem where the code uses some class from non-exported package. The
complication would be successful but at runtime you would see
resolution problems.

Right now the plugin is only enabled for modules in framework but we
could enable it for all plugins. Also, any problems are reported as
warnings (so it doesn't break the build).

Also, the plugin contains display-manifest goal that displays import
and export packages in the manifest. I just got tired of reading the
manifest file in emacs (yes, i know I could open it in IDE too). To
display the import/export packages run the following (once the code is
compiled and the manifest files are generated):

mvn org.apache.geronimo.buildsupport:geronimo-osgi-plugin:display- 
manifest


Btw, the plugin borrows a bunch of code from the Tuscany Maven Eclipse
Compiler module. And I might eventually donate this plugin back to
Tuscany.

Side note: The Eclipse JDT compiler supports specifying "access rules"
on each classpath component. With these access rules you can specify
which classes or packages the compiler can see. The Export-Package
header in manifest of the dependencies could be translated into the
right set of access rules. With that in place we could catch the
package visibility issues right at compile time. The
plexus-compiler-eclipse and Tuscany's maven-eclipse-compiler compiler
plugins for maven-compiler-plugin do not support access rules. The
tycho-compiler-jdt compiler plugin has some support for it but they
are not automatically derived from the dependencies - must be passed
explicitly. Tycho's maven-osgi-compiler-plugin has support for access
rules but requires Maven 3.0 and I think it needs Eclipse specific
build files. Anyway, maybe this is something we want to look into in
the future. For now the manifest checking should be good enough.

Jarek




[BUILD] trunk: Failed for Revision: 836336

2009-11-15 Thread gawor
Geronimo Revision: 836336 built with tests included
 
See the full build-0300.log file at 
http://people.apache.org/builds/geronimo/server/binaries/trunk/20091115/build-0300.log
 
 
See the unit test reports at 
http://people.apache.org/builds/geronimo/server/binaries/trunk/20091115/unit-test-reports
 


[INFO] 
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unable to get 
dependency information: Unable to read the metadata file for artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
 for project 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
  
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_3-SNAPSHOT

from the specified remote repositories:
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots),
  central (http://repo1.maven.org/maven2)

Path to dependency: 
1) org.apache.geronimo.framework:geronimo-kernel:bundle:3.0-SNAPSHOT


at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:576)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: 
Unable to get dependency information: Unable to read the metadata file for 
artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
 for project 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle:2.1_3_3-SNAPSHOT
  
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_3-SNAPSHOT

from the specified remote repositories:
  codehaus.snapshots (http://snapshots.repository.codehaus.org),
  apache.snapshots (http://repository.apache.org/snapshots),
  central (http://repo1.maven.org/maven2)

Path to dependency: 
1) org.apache.geronimo.framework:geronimo-kernel:bundle:3.0-SNAPSHOT


at 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:432)
at 
org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:300)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:288)
at 
org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependencies(DefaultPluginManager.java:1417)
at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:407)
at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
... 16 more
Caused by: 
org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException: Unable 
to read the metadata file for artifact 
'org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar': Cannot 
find parent: org.apache.servicemix.bundles:bundles-pom for project: 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:bundle