On Mar 5, 2007, at 6:52 PM, Tim Moloney wrote:

Here is the reasoning behind my decision.

Making it <artifactId>FOO</artifactId>:
- allows us to use ${pom.artifactId} in many place in the pom.xml file, reducing the number of manual changes from the template pom.xml file - allows us to not specify <Bundle-SymbolicName> in the bnd <instructions> section, the bnd default works - The path in the maven repository is ~/.m2/repository/org/apache/felix/commons/FOO/version/FOO-version.jar which is still unique and far less wordy than ~/.m2/repository/org/apache/felix/commons/FOO/version/ org.apache.felix.commons.FOO-version.jar

Well, I don't have a significant argument against, other than:

It is different that how we do Felix subprojects; at the time people felt that long JAR names was a good idea because it would lessen the possibility of JAR file name collisions (not everyone will use maven).

In the end, I can go either way, but I do dislike inconsistency. Should we re-consider how we name our subproject JARs too? I dislike the fact that we cannot use the plugin defaults too. :-)

-> richard



Richard S. Hall wrote:
On Mar 5, 2007, at 6:23 PM, Tim Moloney wrote:

I have updated the example pom.xml file and attached it.
<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>

    <parent>
        <groupId>org.apache.felix.commons</groupId>
        <artifactId>build</artifactId>
        <version>0.9.0-incubator-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.felix.commons</groupId>
    <artifactId>FOO</artifactId>

This wouldn't be 100% correct, would it? Wouldn't the resulting JAR name be FOO-version? I think artifactId should be:

    <artifactId>${pom.groupId}.FOO</artifactId>

Correct?

-> richard

    <version>x.y.z</version>
    <packaging>bundle</packaging>

    <name>${pom.artifactId} bundle</name>
    <description>
This bundle simply wraps ${pom.artifactId}-${pom.version}.jar.
    </description>

    <organization>
        <name>Apache Felix Project</name>
        <url>http://incubator.apache.org/felix/</url>
    </organization>

    <dependencies>
        <dependency>
            <groupId>FOO-groupId</groupId>
            <artifactId>${pom.artifactId}</artifactId>
            <version>${pom.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Export-Package>FOO</Export-Package>
                        <Private-Package>FOO.impl</Private-Package>
<!--
Uncomment this section after bnd-find-include-resource-in-classpath.patch from FELIX-204 has
been applied to bnd.
                        <Include-Resource>
@${pom.artifactID}-${pom.version}.jar!/META-INF/LICENSE.txt
                        </Include-Resource>
-->
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>




Reply via email to