This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-launcher.git


The following commit(s) were added to refs/heads/master by this push:
     new f30428f  SLING-10211: add Bundle-Metadata, build with bnd (#19)
f30428f is described below

commit f30428f17f331e890ce9ae48e4083251b89b758a
Author: Stefan Bischof <[email protected]>
AuthorDate: Tue Mar 16 17:42:12 2021 +0100

    SLING-10211: add Bundle-Metadata, build with bnd (#19)
---
 pom.xml                                            | 69 ++++++++++++++--------
 .../extensions/handlers/ContentPackageHandler.java |  3 +
 .../impl/extensions/handlers/RepoInitHandler.java  |  3 +
 .../launcher/impl/launchers/FrameworkLauncher.java |  3 +
 .../org.apache.sling.feature.launcher.spi.Launcher |  1 -
 ...eature.launcher.spi.extensions.ExtensionHandler |  2 -
 6 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/pom.xml b/pom.xml
index 43a137f..576492e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
 
     <properties>
         <sling.java.version>8</sling.java.version>
+        <bnd.version>5.3.0</bnd.version>
     </properties>
 
     <scm>
@@ -41,34 +42,49 @@
 
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                <execution>
-                    <id>unpack-dependencies</id>
-                    <phase>prepare-package</phase>
-                    <goals>
-                        <goal>unpack-dependencies</goal>
-                    </goals>
-                    <configuration>
-                        <excludes>META-INF/**</excludes>
-                        
<outputDirectory>${project.build.directory}/classes</outputDirectory>
-                        <overWriteReleases>false</overWriteReleases>
-                        <overWriteSnapshots>true</overWriteSnapshots>
-                        
<includeArtifactIds>osgi.core,commons-text,commons-lang3,org.apache.sling.feature,org.osgi.util.function,org.apache.felix.cm.json,org.apache.sling.commons.johnzon,org.apache.felix.converter,commons-cli,slf4j-api,slf4j-simple</includeArtifactIds>
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-maven-plugin</artifactId>
+                        <configuration>
+                        <bnd><![CDATA[
+                 Main-Class: org.apache.sling.feature.launcher.impl.Main
+                -exportcontents:\
+                 org.apache.sling.feature.launcher.spi.*
+                -conditionalpackage:\
+                 javax.json*,\
+                 org.apache.commons.cli.*,\
+                 org.apache.commons.lang3.*,\
+                 org.apache.commons.text.*,\
+                 org.apache.felix.cm.json.*,\
+                 org.apache.felix.converter.*,\
+                 org.apache.johnzon.core.*,\
+                 org.apache.johnzon.core.util.*,\
+                 org.apache.sling.feature.*,\
+                 org.osgi.util.function.*,\
+                 org.osgi.util.converter.*,\
+                 org.slf4j.*,\
+                 org.slf4j.impl.*
+                 Import-Package:\
+                 !org.osgi.framework.*,\
+                 !org.osgi.util.tracker.*,\
+                 !org.osgi.resource.*,\
+                 *
+                        ]]></bnd>
                     </configuration>
-                </execution>
-            </executions>
-            </plugin>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>bnd-process</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
                 <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
                     <archive>
-                        <manifest>
-                            
<mainClass>org.apache.sling.feature.launcher.impl.Main</mainClass>
-                        </manifest>
+                        
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                     </archive>
                 </configuration>
             </plugin>
@@ -149,9 +165,16 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.johnzon</artifactId>
-            <version>1.2.2</version>
+            <version>1.2.6</version>
             <scope>provided</scope>
         </dependency>
+        
+        <dependency>
+            <groupId>biz.aQute.bnd</groupId>
+            <artifactId>biz.aQute.bndlib</artifactId>
+            <version>${bnd.version}</version>
+            <scope>compile</scope>
+        </dependency>
 
         <!-- Testing dependencies -->
         <dependency>
diff --git 
a/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/ContentPackageHandler.java
 
b/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/ContentPackageHandler.java
index a08061c..3597dd8 100644
--- 
a/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/ContentPackageHandler.java
+++ 
b/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/ContentPackageHandler.java
@@ -24,6 +24,9 @@ import org.apache.sling.feature.ExtensionType;
 import org.apache.sling.feature.launcher.spi.extensions.ExtensionContext;
 import org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler;
 
+import aQute.bnd.annotation.spi.ServiceProvider;
+
+@ServiceProvider(value =ExtensionHandler.class )
 public class ContentPackageHandler implements ExtensionHandler
 {
     @Override
diff --git 
a/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/RepoInitHandler.java
 
b/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/RepoInitHandler.java
index 34ac652..d49104e 100644
--- 
a/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/RepoInitHandler.java
+++ 
b/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/RepoInitHandler.java
@@ -24,6 +24,9 @@ import org.apache.sling.feature.ExtensionType;
 import org.apache.sling.feature.launcher.spi.extensions.ExtensionContext;
 import org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler;
 
+import aQute.bnd.annotation.spi.ServiceProvider;
+
+@ServiceProvider(value =ExtensionHandler.class )
 public class RepoInitHandler implements ExtensionHandler
 {
     private static final AtomicInteger index = new AtomicInteger(1);
diff --git 
a/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java
 
b/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java
index 2aa9599..6c5f6ee 100644
--- 
a/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java
+++ 
b/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java
@@ -31,9 +31,12 @@ import org.apache.sling.feature.launcher.spi.Launcher;
 import org.apache.sling.feature.launcher.spi.LauncherPrepareContext;
 import org.apache.sling.feature.launcher.spi.LauncherRunContext;
 
+import aQute.bnd.annotation.spi.ServiceProvider;
+
 /**
  * Launcher directly using the OSGi launcher API.
  */
+@ServiceProvider(value = Launcher.class)
 public class FrameworkLauncher implements Launcher {
 
 
diff --git 
a/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.Launcher
 
b/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.Launcher
deleted file mode 100644
index 21483ff..0000000
--- 
a/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.Launcher
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.sling.feature.launcher.impl.launchers.FrameworkLauncher
\ No newline at end of file
diff --git 
a/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler
 
b/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler
deleted file mode 100644
index e936f9a..0000000
--- 
a/src/main/resources/META-INF/services/org.apache.sling.feature.launcher.spi.extensions.ExtensionHandler
+++ /dev/null
@@ -1,2 +0,0 @@
-org.apache.sling.feature.launcher.impl.extensions.handlers.RepoInitHandler
-org.apache.sling.feature.launcher.impl.extensions.handlers.ContentPackageHandler

Reply via email to