I committed the patch to fix the first error below (r990794). I managed to get past the second error by changing the packaging in the openejb-osgi module pom to 'jar' from 'bundle'. However, although the generate META-INF/MANIFEST.MF looks ok to me, I don't really understand exactly what's going on here, or what the potential impact would be so I don't want to just commit this change.
Does anyone with any knowledge on the Maven BND stuff have any thoughts on what's going on here? Is there a good test for the OSGi stuff (taking some of our artifacts and deploying them in Felix perhaps) - I think I recall Jacek putting some information on the list a while back, I'll have to fish out my notes. Jon On Mon, Aug 30, 2010 at 1:10 PM, Jonathan Gallimore < [email protected]> wrote: > Hi All, > > I'm getting a couple of build errors around the Spring and OSGi stuff. I'm > building a clean checkout without any changes. I'll have a look at this and > see if I can fix it, but the OSGi stuff usually leaves my brain hurting, so > I'd be grateful for any pointers! > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building OpenEJB :: Container :: Spring > [INFO] task-segment: [clean, install] > [INFO] > ------------------------------------------------------------------------ > [INFO] [clean:clean {execution: default-clean}] > [INFO] Deleting file set: > /Users/jon/dev/openejb-svn/openejb3/container/openejb-spring/target > (included: [**], excluded: []) > [INFO] [remote-resources:process {execution: default}] > [WARNING] org.apache.velocity.runtime.exception.ReferenceException: > reference : template = META-INF/DEPENDENCIES.vm [line 40,column 14] : $ > license.name is not a valid reference. > [WARNING] org.apache.velocity.runtime.exception.ReferenceException: > reference : template = META-INF/DEPENDENCIES.vm [line 40,column 14] : $ > license.name is not a valid reference. > [INFO] [resources:resources {execution: default-resources}] > [INFO] Using 'UTF-8' encoding to copy filtered resources. > [INFO] Copying 0 resource > [INFO] Copying 3 resources > [INFO] [dependency:copy {execution: copy}] > [INFO] Configured Artifact: > org.apache.openejb:openejb-javaagent:3.2-SNAPSHOT:jar > [INFO] Copying openejb-javaagent-3.2-SNAPSHOT.jar to > /Users/jon/dev/openejb-svn/openejb3/container/openejb-spring/target/openejb-javaagent-3.2-SNAPSHOT.jar > [INFO] [compiler:compile {execution: default-compile}] > [INFO] Compiling 24 source files to > /Users/jon/dev/openejb-svn/openejb3/container/openejb-spring/target/classes > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Compilation failure > /Users/jon/dev/openejb-svn/openejb3/container/openejb-spring/src/main/java/org/apache/openejb/spring/AbstractApplication.java:[112,78] > incompatible types > found : org.apache.openejb.core.AppContext > required: java.util.List<org.apache.openejb.DeploymentInfo> > > > and if I fix this with this patch: > > Index: > container/openejb-spring/src/main/java/org/apache/openejb/spring/AbstractApplication.java > =================================================================== > --- > container/openejb-spring/src/main/java/org/apache/openejb/spring/AbstractApplication.java > (revision > 990666) > +++ > container/openejb-spring/src/main/java/org/apache/openejb/spring/AbstractApplication.java > (working > copy) > @@ -29,6 +29,7 @@ > > import org.apache.openejb.DeploymentInfo; > import org.apache.openejb.OpenEJBException; > +import org.apache.openejb.core.AppContext; > import org.apache.openejb.core.CoreDeploymentInfo; > import org.apache.openejb.assembler.classic.AppInfo; > import org.apache.openejb.assembler.classic.Assembler; > @@ -109,7 +110,8 @@ > Assembler assembler = getAssembler(); > for (AppInfo appInfo : appInfos) { > try { > - List<DeploymentInfo> deployments = > assembler.createApplication(appInfo, > assembler.createAppClassLoader(appInfo), true); > + AppContext appContext = > assembler.createApplication(appInfo, > assembler.createAppClassLoader(appInfo), true); > + List<DeploymentInfo> deployments = appContext.getDeployments(); > if (export) { > for (DeploymentInfo deployment : deployments) { > JndiNameStrategy strategy = > createStrategy(appInfo, deployments, deployment); > > > I then get another error: > > [WARNING] Warning building bundle > org.apache.openejb:openejb-core-osgi:bundle:3.2-SNAPSHOT : Bundle uses > Require Bundle, this can generate false errors because then not enough > information is available without the required bundles > [ERROR] Error building bundle > org.apache.openejb:openejb-core-osgi:bundle:3.2-SNAPSHOT : Unresolved > references to [org.apache.openejb.core] by class(es) on the > Bundle-Classpath[Jar:dot]: > [org/apache/openejb/core/osgi/impl/Deployer.class] > > Full log below: > > Jonathan-Gallimores-MacBook-Pro:openejb-osgi jon$ mvn -Dassemble > -Dmaven.test.skip=true clean install > [INFO] Scanning for projects... > [INFO] > ------------------------------------------------------------------------ > [INFO] Building OpenEJB :: Container :: Core :: OSGi > [INFO] task-segment: [clean, install] > [INFO] > ------------------------------------------------------------------------ > [INFO] [clean:clean {execution: default-clean}] > [INFO] Deleting file set: > /Users/jon/dev/openejb-svn/openejb3/container/openejb-osgi/target (included: > [**], excluded: []) > [INFO] snapshot org.apache.openejb:deps:3.2-SNAPSHOT: checking for updates > from codehaus-snapshot > [INFO] snapshot org.apache.openejb:deps:3.2-SNAPSHOT: checking for updates > from apache-m2-snapshot > [INFO] snapshot org.apache.openejb:deps:3.2-SNAPSHOT: checking for updates > from java.net > [INFO] snapshot org.apache.openejb:deps:3.2-SNAPSHOT: checking for updates > from apache.snapshots > [INFO] Setting property: classpath.resource.loader.class => > 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. > [INFO] Setting property: velocimacro.messages.on => 'false'. > [INFO] Setting property: resource.loader => 'classpath'. > [INFO] Setting property: resource.manager.logwhenfound => 'false'. > [INFO] [remote-resources:process {execution: default}] > [WARNING] org.apache.velocity.runtime.exception.ReferenceException: > reference : template = META-INF/DEPENDENCIES.vm [line 40,column 14] : $ > license.name is not a valid reference. > [WARNING] org.apache.velocity.runtime.exception.ReferenceException: > reference : template = META-INF/DEPENDENCIES.vm [line 40,column 14] : $ > license.name is not a valid reference. > [INFO] [resources:resources {execution: default-resources}] > [INFO] Using 'UTF-8' encoding to copy filtered resources. > [INFO] Copying 6 resources > [INFO] Copying 1 resource > [INFO] Copying 3 resources > [INFO] [compiler:compile {execution: default-compile}] > [INFO] Compiling 2 source files to > /Users/jon/dev/openejb-svn/openejb3/container/openejb-osgi/target/classes > [INFO] [dependency-report:report {execution: default}] > [INFO] [bundle:manifest {execution: bundle-manifest}] > [WARNING] Include-Resource: overriding > default.openejb.conf=src/main/resources/default.openejb.conf,logging.properties=src/main/resources/logging.properties,login.config=src/main/resources/login.config,META-INF/org.apache.openejb/service-jar.xml=src/main/resources/META-INF/org.apache.openejb/service-jar.xml,META-INF/services/org/apache/activemq/broker/openejb=src/main/resources/META-INF/services/org/apache/activemq/broker/openejb,openejb-version.properties=src/main/resources/openejb-version.properties,{features.xml=src/main/filtered-resources/features.xml},META-INF/DEPENDENCIES=target/maven-shared-archive-resources/META-INF/DEPENDENCIES,META-INF/LICENSE=target/maven-shared-archive-resources/META-INF/LICENSE,META-INF/NOTICE=target/maven-shared-archive-resources/META-INF/NOTICE > with > /Users/jon/dev/openejb-svn/openejb3/container/openejb-osgi/src/main/resources > (add {maven-resources} if you want to include the maven resources) > [INFO] [resources:testResources {execution: default-testResources}] > [INFO] Using 'UTF-8' encoding to copy filtered resources. > [INFO] skip non existing resourceDirectory > /Users/jon/dev/openejb-svn/openejb3/container/openejb-osgi/src/test/resources > [INFO] Copying 3 resources > [INFO] [compiler:testCompile {execution: default-testCompile}] > [INFO] Not compiling test sources > [INFO] [surefire:test {execution: default-test}] > [INFO] Tests are skipped. > [INFO] [bundle:bundle {execution: default-bundle}] > [WARNING] Include-Resource: overriding > default.openejb.conf=src/main/resources/default.openejb.conf,logging.properties=src/main/resources/logging.properties,login.config=src/main/resources/login.config,META-INF/org.apache.openejb/service-jar.xml=src/main/resources/META-INF/org.apache.openejb/service-jar.xml,META-INF/services/org/apache/activemq/broker/openejb=src/main/resources/META-INF/services/org/apache/activemq/broker/openejb,openejb-version.properties=src/main/resources/openejb-version.properties,{features.xml=src/main/filtered-resources/features.xml},META-INF/DEPENDENCIES=target/maven-shared-archive-resources/META-INF/DEPENDENCIES,META-INF/LICENSE=target/maven-shared-archive-resources/META-INF/LICENSE,META-INF/NOTICE=target/maven-shared-archive-resources/META-INF/NOTICE > with > /Users/jon/dev/openejb-svn/openejb3/container/openejb-osgi/src/main/resources > (add {maven-resources} if you want to include the maven resources) > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Manifest-Version. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Created-By. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Built-By. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Build-Jdk. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Specification-Title. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Specification-Version. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Specification-Vendor. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Implementation-Title. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Implementation-Version. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Implementation-Vendor-Id. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > Aug 30, 2010 1:03:29 PM java.util.jar.Attributes read > WARNING: Duplicate name in Manifest: Implementation-Vendor. > Ensure that the manifest does not have duplicate entries, and > that blank lines separate individual sections in both your > manifest and in the META-INF/MANIFEST.MF entry in the jar file. > [WARNING] Warning building bundle > org.apache.openejb:openejb-core-osgi:bundle:3.2-SNAPSHOT : Bundle uses > Require Bundle, this can generate false errors because then not enough > information is available without the required bundles > [ERROR] Error building bundle > org.apache.openejb:openejb-core-osgi:bundle:3.2-SNAPSHOT : Unresolved > references to [org.apache.openejb.core] by class(es) on the > Bundle-Classpath[Jar:dot]: > [org/apache/openejb/core/osgi/impl/Deployer.class] > [ERROR] Error(s) found in bundle configuration > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] Error(s) found in bundle configuration > > [INFO] > ------------------------------------------------------------------------ > [INFO] For more information, run Maven with the -e switch > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 8 seconds > [INFO] Finished at: Mon Aug 30 13:03:29 BST 2010 > [INFO] Final Memory: 52M/106M > [INFO] > ------------------------------------------------------------------------ > > > Cheers > > Jon >
