On Jul 31, 2008, at 12:43 PM, Marc Speck wrote:

After this, some error have gone but there are still 8 errors left, so I'm sure that I totally misunderstood here something. This cannot be the way to
simply add a library to a bundle. What am I doing wrong?


As someone who recently started down this path too, I can confirm that there's some black magic involved. I recommend making liberal use of the "resolution:=optional" attribute.

FWIW, here's a scrubbed version of the POM for an Abdera-Sling bundle I'm working on:

<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>com.example</groupId>
    <artifactId>my-abdera-sling-app</artifactId>
    <packaging>bundle</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>My Abdera Sling App</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>1.4.1</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Private-Package>
                            com.example.sling.*
                        </Private-Package>
                        <Import-Package>
                            com.sun.msv.*;resolution:=optional,
                            javax.jcr.*,
                            javax.mail.*;resolution:=optional,
                            javax.servlet.*;version=2.4,
                            javax.xml.*,
                            nu.xom.*;resolution:=optional,
                            org.apache.sling.api.*,
                            org.dom4j.*;resolution:=optional,
                            org.jdom.*;resolution:=optional,
                            org.relaxng.*;resolution:=optional,
                            org.xml.sax.*
                        </Import-Package>
                        <Embed-Dependency>
                            abdera-core,
                            abdera-i18n,
                            abdera-parser,
                            axiom-api,
                            axiom-impl,
                            commons-codec,
                            commons-logging-api,
                            geronimo-activation_1.1_spec,
                            geronimo-stax-api_1.0_spec,
                            jaxen,
                            wstx-asl
                        </Embed-Dependency>
                    </instructions>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-scr-plugin</artifactId>
                <version>1.0.6</version>
                <executions>
                    <execution>
                        <id>generate-scr-scrdescriptor</id>
                        <goals>
                            <goal>scr</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
            <version>1.1</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.1.1</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>javax.jcr</groupId>
            <artifactId>jcr</artifactId>
            <version>1.0</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.abdera</groupId>
            <artifactId>abdera-core</artifactId>
            <version>0.5.0-incubating-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.abdera</groupId>
            <artifactId>abdera-i18n</artifactId>
            <version>0.5.0-incubating-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.abdera</groupId>
            <artifactId>abdera-parser</artifactId>
            <version>0.5.0-incubating-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-activation_1.1_spec</artifactId>
            <version>1.0.2</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-stax-api_1.0_spec</artifactId>
            <version>1.0.1</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.sling</groupId>
            <artifactId>org.apache.sling.api</artifactId>
            <version>2.0.3-incubator-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-api</artifactId>
            <version>1.2.7</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-impl</artifactId>
            <version>1.2.7</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.codehaus.woodstox</groupId>
            <artifactId>wstx-asl</artifactId>
            <version>3.2.6</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

</project>

--
Christopher Elkins

Reply via email to