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


Reply via email to