Author: fmeschbe Date: Fri Jan 23 07:33:59 2009 New Revision: 737054 URL: http://svn.apache.org/viewvc?rev=737054&view=rev Log: SLING-443 Modify the jcr/jackrabbit-server project to use a fixed MANIFEST by default. This should save memory footprint since the classes need not be analyzed. To build with an automatically generated manifest the "bundle" profile may be used.
Added: incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF (with props) Modified: incubator/sling/trunk/jcr/jackrabbit-server/pom.xml Modified: incubator/sling/trunk/jcr/jackrabbit-server/pom.xml URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/jackrabbit-server/pom.xml?rev=737054&r1=737053&r2=737054&view=diff ============================================================================== --- incubator/sling/trunk/jcr/jackrabbit-server/pom.xml (original) +++ incubator/sling/trunk/jcr/jackrabbit-server/pom.xml Fri Jan 23 07:33:59 2009 @@ -27,7 +27,7 @@ </parent> <artifactId>org.apache.sling.jcr.jackrabbit.server</artifactId> - <packaging>bundle</packaging> + <packaging>jar</packaging> <version>2.0.3-incubator-SNAPSHOT</version> <name>Apache Sling Jackrabbit Embedded Repository</name> @@ -44,56 +44,168 @@ <build> <plugins> + <!-- generate the SCR descriptors --> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-scr-plugin</artifactId> </plugin> + + <!-- + copy the SCR descriptors into the correct location + because the maven-scr-plugin cannot be configured + to write the descriptors elsewhere + --> <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.3</version> + <executions> + <execution> + <id>copy-resources</id> + <phase>process-classes</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory> + ${project.build.outputDirectory} + </outputDirectory> + <encoding>UTF-8</encoding> + <resources> + <resource> + <directory>target/scr-plugin-generated</directory> + <filtering>false</filtering> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + + <!-- + copy the embedded libraries required for the embedded + Jackrabbit Repository + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>embed-dependencies</id> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <includeArtifactIds> + jackrabbit-jcr-rmi,jackrabbit-core,jackrabbit-jcr-commons,jackrabbit-spi-commons,jackrabbit-spi,lucene-core,derby,concurrent,jackrabbit-text-extractors,pdfbox,jempbox,fontbox,poi,poi-scratchpad,nekohtml,xercesImpl + </includeArtifactIds> + <excludeTransitive>false</excludeTransitive> + <outputDirectory> + ${project.build.outputDirectory} + </outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + + <!-- + By default the JAR plugin will use the MANIFEST.MF file found + in the src/main/resources/META-INF folder, which is copied + as a resource. + + To use a manifest file, which is generated with the Apache + Felix Maven Bundle plugin enable the bundle profile (see below) + as in + + $ mvn -P bundle clean install + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> <extensions>true</extensions> <configuration> - <instructions> - <Bundle-Category> - sling,jcr,jackrabbit - </Bundle-Category> - <Bundle-Activator> - org.apache.sling.jcr.jackrabbit.server.Activator - </Bundle-Activator> - <Private-Package> - org.apache.sling.jcr.jackrabbit.server - </Private-Package> - <Import-Package> - org.apache.sling.*, javax.jcr.*, - javax.naming.*, javax.xml.*, - javax.security.*, - org.apache.commons.collections.*, - org.apache.jackrabbit.api.*, - org.osgi.*, - org.slf4j, org.xml.sax, org.xml.sax.helpers - </Import-Package> - <DynamicImport-Package>*</DynamicImport-Package> - - <!-- Embedd some libraries --> - <Embed-Transitive>true</Embed-Transitive> - <Embed-Dependency> - <!-- core repository implementation --> - jackrabbit-jcr-rmi; jackrabbit-core; - jackrabbit-jcr-commons; - jackrabbit-spi-commons; jackrabbit-spi; - lucene-core; derby; concurrent, - - <!-- jackrabbit text extraction --> - jackrabbit-text-extractors, - pdfbox, jempbox, fontbox, - poi, poi-scratchpad, - nekohtml, xercesImpl - </Embed-Dependency> - </instructions> + <archive> + <manifestFile> + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + </manifestFile> + </archive> </configuration> </plugin> </plugins> </build> + + <profiles> + <!-- + The bundle profile may be used to update the manifest entries of + the above default profile. If running the build with the build + profile, you may use the generated manifest to update the + src/main/resources/META-INF/MANIFEST.MF file for it to be used + in future builds excluding the bundle profile. + --> + <profile> + <id>bundle</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <executions> + <execution> + <id>generate-manifest</id> + <goals> + <goal>manifest</goal> + </goals> + <configuration> + <instructions> + <Note>Built by bundle profile</Note> + <Bundle-Category> + sling,jcr,jackrabbit + </Bundle-Category> + <Bundle-Activator> + org.apache.sling.jcr.jackrabbit.server.Activator + </Bundle-Activator> + <Private-Package> + org.apache.sling.jcr.jackrabbit.server + </Private-Package> + <Import-Package> + org.apache.sling.*, javax.jcr.*, + javax.naming.*, javax.xml.*, + javax.security.*, + org.apache.commons.collections.*, + org.apache.jackrabbit.api.*, + org.osgi.*, + org.slf4j, org.xml.sax, org.xml.sax.helpers + </Import-Package> + <DynamicImport-Package>*</DynamicImport-Package> + + <!-- Embedd some libraries --> + <Embed-Transitive>true</Embed-Transitive> + <Embed-Dependency> + <!-- core repository implementation --> + jackrabbit-jcr-rmi; jackrabbit-core; + jackrabbit-jcr-commons; + jackrabbit-spi-commons; jackrabbit-spi; + lucene-core; derby; concurrent, + + <!-- jackrabbit text extraction --> + jackrabbit-text-extractors, + pdfbox, jempbox, fontbox, + poi, poi-scratchpad, + nekohtml, xercesImpl + </Embed-Dependency> + </instructions> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + <reporting> <plugins> <plugin> Added: incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF?rev=737054&view=auto ============================================================================== --- incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF (added) +++ incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF Fri Jan 23 07:33:59 2009 @@ -0,0 +1,43 @@ +Manifest-Version: 1.0 +Note: Manifest File built by Maven Bundle Plugin +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.apache.sling.jcr.jackrabbit.server +Bundle-Version: 2.0.3.incubator-SNAPSHOT +Bundle-Name: Apache Sling Jackrabbit Embedded Repository +Bundle-Description: Bundle providing support to embed Jackrabbit Repos + itory instances and publish via RMI and/or JNDI +Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt +Bundle-Category: sling,jcr,jackrabbit +Bundle-Vendor: The Apache Software Foundation +Bundle-DocURL: http://incubator.apache.org/sling +Bundle-Activator: org.apache.sling.jcr.jackrabbit.server.Activator +Bundle-ClassPath: .,nekohtml-1.9.7.jar,lucene-core-2.3.2.jar,jackrabbi + t-spi-commons-1.5.0.jar,jackrabbit-jcr-commons-1.5.0.jar,jempbox-0.2. + 0.jar,jackrabbit-jcr-rmi-1.4.1.jar,concurrent-1.3.4.jar,jackrabbit-te + xt-extractors-1.5.0.jar,fontbox-0.1.0.jar,jackrabbit-core-1.5.0.jar,d + erby-10.2.1.6.jar,poi-3.0.2-FINAL.jar,xercesImpl-2.8.1.jar,pdfbox-0.7 + .3.jar,jackrabbit-spi-1.5.0.jar,poi-scratchpad-3.0.2-FINAL.jar +Import-Package: javax.jcr,javax.jcr.lock,javax.jcr.nodetype,javax.jcr. + observation,javax.jcr.query,javax.jcr.util,javax.jcr.version,javax.na + ming,javax.naming.directory,javax.naming.spi,javax.security.auth,java + x.security.auth.callback,javax.security.auth.login,javax.security.aut + h.spi,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax. + xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.x + ml.transform.stream,javax.xml.validation,org.apache.commons.collectio + ns,org.apache.commons.collections.buffer,org.apache.commons.collectio + ns.iterators,org.apache.commons.collections.list,org.apache.commons.c + ollections.map,org.apache.commons.collections.set,org.apache.jackrabb + it.api;version="1.5",org.apache.jackrabbit.api.jsr283;version="1.5",o + rg.apache.jackrabbit.api.jsr283.nodetype;version="1.5",org.apache.jac + krabbit.api.jsr283.retention;version="1.5",org.apache.jackrabbit.api. + jsr283.security;version="1.5",org.apache.jackrabbit.api.observation;v + ersion="1.5",org.apache.jackrabbit.api.security.principal;version="1. + 5",org.apache.jackrabbit.api.security.user;version="1.5",org.apache.s + ling.jcr.api,org.apache.sling.jcr.base;version="2.0.2.incubator",org. + osgi.framework,org.osgi.service.cm,org.osgi.service.component,org.osg + i.service.log,org.slf4j,org.xml.sax,org.xml.sax.helpers +DynamicImport-Package: * +Service-Component: OSGI-INF/serviceComponents.xml +Bnd-LastModified: 1232723302069 +Tool: Bnd-0.0.255 +Created-By: 1.6.0_10 (Sun Microsystems Inc.) Propchange: incubator/sling/trunk/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF ------------------------------------------------------------------------------ svn:eol-style = native