2008/9/11 Brad Cox, Ph.D. <[EMAIL PROTECTED]> > tap tap...is this thing on? >
you posted your first question a mere 8 hours ago - some of us are in a different timezone and have a stack of items to work through before we can read+process+reply to emails, so please wait before repeatedly posting the same question under different subjects :) Brad Cox, Ph.D. wrote: > >> Reposted; first one got buried somewhere. >> >> I'm using felix's maven plugin to build OSGI apps in eclipse. I understand >> OSGI overall but the tools chain is driving me nuts. >> >> What I don't understand is the interaction between pom.xml, the felix >> maven plugin, MANIFEST.MF, and the "Organize Manifest Wizard" in eclipse. >> And should META-INF be in the bundle root or src/main/resources? Putting a >> copy in src/... does seem to be noticed there but breaks everything, >> including command line builds. Apparently due to a broken >> com.ibm.icu.something according to posted bugs. >> >> My mental model is the pom is the input and MANIFEST.MF is produced by >> felix maven plugin based on that pom. This model seems inaccurate somehow. >> Felix maven plugin's output is voluminous with lots of broken references >> which eclipse's "organize manifest wizard" seems there to repair. Where do >> the bogus references come from? In practice, it seems necessary for me to do >> further repairs to MANIFEST.MF by hand, but these seem to somehow persist >> after I change the pom (thus the conflict with my mental model). >> >> There also seems to be vast differences between running mvn install in the >> command line and running the same thing in eclipse. Using the command line >> then importing into eclipse results in bundles that are broken in eclipse >> and another round of whack a mole to sort things out again. This often >> results in multiply-defined jar errors with the same jar in "PDE >> Dependencies" and "Maven Dependencies". Removing PDE dependencies in build >> settings seems to sort that out; sometimes. >> >> The specific problem I'm struggling with is >> org.osgi.framework.BundleException: The activator >> com.gestalt.soakit.core.CoreActivator for bundle soakit.core is invalid when >> that class is definitely defined. I think this means there's a conflict >> between the BundleActivator class from OSGI vs Equinox, but nothing I've >> tried seems to repair it (importing org.eclipse.osgi.everything, not >> org.osgi.whatever). >> >> The main problem here is that I'm confused about how the tools chain >> works; broken mental model. Can someone set me straight? >> >> Here's one of the key poms. >> >> <?xml version="1.0" encoding="UTF-8"?> >> <project >> xmlns="http://maven.apache.org/POM/4.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/maven-v4_0_0.xsd" >> > >> <modelVersion>4.0.0</modelVersion> >> <groupId>soakit</groupId> >> <artifactId>soakit.core</artifactId> >> <version>1.0-SNAPSHOT</version> >> <name>soakit.core</name> >> <description>SoaKit Core Abstraction Layer. Defines interfaces and >> abstract classes for the components defined in sub-modules. Provides a >> factory class for defining soakit composites with an XML configuration >> file.</description> >> <packaging>bundle</packaging> >> >> <parent> >> <groupId>soakit</groupId> >> <artifactId>soakit</artifactId> >> <version>1.0-SNAPSHOT</version> >> </parent> >> >> <dependencies> >> <dependency> >> <groupId>commons-collections</groupId> >> <artifactId>commons-collections</artifactId> >> <version>3.2</version> >> </dependency> >> <dependency> >> <groupId>jdom</groupId> >> <artifactId>jdom</artifactId> >> <version>1.0</version> >> </dependency> >> <dependency> >> <groupId>javax.xml.parsers</groupId> >> <artifactId>jaxp-api</artifactId> >> <version>1.4</version> >> </dependency> >> <dependency> >> <groupId>javax.xml.ws</groupId> >> <artifactId>jaxws-api</artifactId> >> <version>2.1-1</version> >> </dependency> >> <dependency> >> <groupId>xerces</groupId> >> <artifactId>xercesImpl</artifactId> >> <version>2.8.1</version> >> </dependency> >> <dependency> >> <groupId>org.eclipse</groupId> >> <artifactId>osgi</artifactId> >> <version>3.4.0.v20080605-1900</version> >> </dependency> >> <dependency> >> <groupId>jaxen</groupId> >> <artifactId>jaxen</artifactId> >> <version>1.1-beta-9</version> >> </dependency> >> </dependencies> >> >> <build> >> <resources> >> <resource> >> <directory>src/main/resources</directory> >> </resource> >> <resource> >> <directory>.</directory> >> <includes> >> <include>plugin.xml</include> >> </includes> >> </resource> >> </resources> >> >> <plugins> >> <plugin> >> <artifactId>maven-eclipse-plugin</artifactId> >> <configuration> >> <pde>true</pde> >> </configuration> >> </plugin> >> <plugin> >> <groupId>org.apache.felix</groupId> >> <artifactId>maven-bundle-plugin</artifactId> >> <version>1.4.3</version> >> <extensions>true</extensions> >> <configuration> >> <unpackBundle>true</unpackBundle> >> <manifestLocation>META-INF</manifestLocation> >> <instructions> >> <Bundle-Version>${pom.version}</Bundle-Version> >> <Bundle-Name>${artifactId}</Bundle-Name> >> <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName> >> <Bundle-Description>Soakit Core >> Bundle</Bundle-Description> >> >> <Bundle-Activator>com.gestalt.soakit.core.CoreActivator</Bundle-Activator> >> >> <Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency> >> <Embed-Transitive>true</Embed-Transitive> >> <Embed-Directory>target/dependency</Embed-Directory> >> <_failok/> >> >> <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment> >> >> <Import-Package> >> ., >> *;-split-package:=merge-first, >> >> org.apache.commons.collections.*;-split-package:=merge-first;version="3.2" >> >> org.apache.commons.collections.iterators.*;-split-package:=merge-first;version="3.2", >> >> >> org.jdom;-split-package:=merge-first;version="1.0", >> >> org.jdom.*;-split-package:=merge-first;version="1.0", >> >> org.jdom.input.*;-split-package:=merge-first;version="1.0", >> >> org.jdom.output.*;-split-package:=merge-first;version="1.0", >> >> org.apache.xerces.parsers;-split-package:=merge-first, >> <!-- >> javax.*;-split-package:=merge-first, >> javax.jws.*;-split-package:=merge-first, >> javax.xml.bind.*;-split-package:=merge-first, >> javax.annotation.*;-split-package:=merge-first, >> javax.xml.soap.*;-split-package:=merge-first, >> javax.xml.stream.*;-split-package:=merge-first, >> javax.activation.*;-split-package:=merge-first, >> --> >> </Import-Package> >> <Export-Package> >> ., >> *;-split-package:=merge-first, >> >> >> org.apache.commons.collections.*;-split-package:=merge-first;version="3.2", >> >> org.apache.commons.collections.iterators.*;-split-package:=merge-first;version="3.2", >> >> >> org.jdom;-split-package:=merge-first;version="1.0", >> >> org.jdom.*;-split-package:=merge-first;version="1.0", >> >> org.jdom.input.*;-split-package:=merge-first;version="1.0", >> >> org.jdom.output.*;-split-package:=merge-first;version="1.0", >> >> org.apache.xerces.parsers.*;-split-package:=merge-first, >> >> com.gestalt.soakit.core.*;-split-package;=merge-first, >> <!-- >> javax.*;-split-package:=merge-first, >> javax.jws.*;-split-package:=merge-first, >> javax.xml.bind;-split-package:=merge-first, >> javax.annotation;-split-package:=merge-first, >> javax.xml.soap;-split-package:=merge-first, >> javax.xml.stream;-split-package:=merge-first, >> javax.activation;-split-package:=merge-first, >> --> >> </Export-Package> >> </instructions> >> </configuration> >> </plugin> >> <!-- >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-eclipse-plugin</artifactId> >> <configuration> >> >> <projectNameTemplate>[artifactId]-[version]</projectNameTemplate> >> <wtpmanifest>true</wtpmanifest> >> <wtpapplicationxml>true</wtpapplicationxml> >> <wtpversion>2.0</wtpversion> >> >> <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest> >> </configuration> >> </plugin> >> --> >> </plugins> >> <extensions> >> </extensions> >> </build> >> </project> >> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> ------------------------------------------------------------------------ >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- Cheers, Stuart

