Benson Margulies wrote:
I had reached a point of terminal frustration with trying to build a bundle
that just incorporated Spring.

So, I decided to stop hitting myself in the head with a rock, and just go
find the necessary artifacts to get bundles for the spring components.

My POM is below.

When I try to run it, I get a host of complaints about missing
'Import-Package' constraints on my bundle.

If you include a bunch of stuff in your bundle, BND (from maven-bundle-plugin) will generate an Import-Package declaration that includes all packages referenced by you bundle content, but not included in the bundle (i.e., all external dependencies). At run-time, you need to supply bundles that export these packages or else you will get complaints. If you don't really need the imported packages, then you must tell BND to not generate the imports.

-> richard
I'm really confused about Import-Package. Is it nonstandard? Is it only
Eclipse? Can I get bundle+bnd to generate it, or do I just need to write the
long boring list into the instruction section?





<?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";>
  <properties>
    <bundle.symbolicName>com.basistech.rex2009.common</bundle.symbolicName>
    <wrapped.groupId>com.basistech.rex2009</wrapped.groupId>
    <wrapped.artifactId>common</wrapped.artifactId>
    <wrapped.version>1.0-SNAPSHOT</wrapped.version>
  </properties>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.basistech.rex2009</groupId>
  <artifactId>com.basistech.rex2009.common</artifactId>
  <version>1.0-SNAPSHOT</version>
  <parent>
    <groupId>com.basistech.rex2009</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>
  <name>${bundle.symbolicName} ${wrapped.version} [osgi]</name>
  <packaging>bundle</packaging>
  <dependencies>
    <dependency>
      <groupId>${wrapped.groupId}</groupId>
      <artifactId>${wrapped.artifactId}</artifactId>
      <version>${wrapped.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
      <version>1.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.core</artifactId>
      <version>2.5.4.A</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.beans</artifactId>
      <version>2.5.4.A</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.context</artifactId>
      <version>2.5.4.A</version>
    </dependency>
    <dependency>
      <groupId>org.apache.log4j</groupId>
      <artifactId>com.springsource.org.apache.log4j</artifactId>
      <version>1.2.15</version>
    </dependency>
    <dependency>
    <groupId>org.codehaus.woodstox</groupId>
    <artifactId>com.springsource.com.ctc.wstx</artifactId>
    <version>3.2.8</version>
    </dependency>
    <dependency>
      <groupId>odfdom</groupId>
      <artifactId>odfdom</artifactId>
      <version>0.6.16</version>
    </dependency>
    <dependency>
      <groupId>trove</groupId>
      <artifactId>trove</artifactId>
      <version>2.0.4</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <outputDirectory>${eclipse.outputDirectory}</outputDirectory>
          <buildcommands>

<java.lang.String>org.eclipse.jdt.core.javabuilder</java.lang.String>

<java.lang.String>org.eclipse.pde.ManifestBuilder</java.lang.String>

<java.lang.String>org.eclipse.pde.SchemaBuilder</java.lang.String>

<java.lang.String>org.eclipse.pde.api.tools.apiAnalysisBuilder</java.lang.String>
          </buildcommands>
          <projectnatures>
            <nature>org.eclipse.pde.PluginNature</nature>
            <nature>org.eclipse.jdt.core.javanature</nature>
            <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
          </projectnatures>
          <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>
          <instructions>

<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
            <Bundle-Version>${wrapped.version}</Bundle-Version>
            <_exportcontents>com.basistech.rex2009.*</_exportcontents>

<Embed-Dependency>${wrapped.artifactId};inline=false,trove;inline=false,odfdom;inline=false</Embed-Dependency>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <repositories>
    <repository>
      <id>geronimo.specs</id>
      <name>Geronimo Specs</name>
      <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
    </repository>
  <repository>
    <id>com.springsource.repository.bundles.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle
Releases</name>
    <url>http://repository.springsource.com/maven/bundles/release</url>
  </repository>
  <repository>
    <id>com.springsource.repository.bundles.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Bundle
Releases</name>
    <url>http://repository.springsource.com/maven/bundles/external</url>
  </repository>
  </repositories>
</project>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to