You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2018/10/24 10:37:22 UTC
[sling-parent] 01/01: SLING-8008 separate parent pom for bundles
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch feature/SLING-8008_new-parent-for-bundles
in repository https://gitbox.apache.org/repos/asf/sling-parent.git
commit 1f6402b60111672edb614f8f3cdf44634029a7ed
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Oct 24 12:37:10 2018 +0200
SLING-8008 separate parent pom for bundles
---
pom.xml | 1282 +--------------------------------------
sling-bundle-parent/pom.xml | 271 +++++++++
pom.xml => sling-parent/pom.xml | 240 +-------
3 files changed, 287 insertions(+), 1506 deletions(-)
diff --git a/pom.xml b/pom.xml
index 398e876..4b50a40 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,1289 +15,35 @@
See the License for the specific language governing permissions
and limitations under the License.
-->
-<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">
+<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</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
- <relativePath />
- </parent>
-
<groupId>org.apache.sling</groupId>
- <artifactId>sling</artifactId>
+ <artifactId>sling-parent-reactor</artifactId>
<packaging>pom</packaging>
<version>35-SNAPSHOT</version>
- <name>Apache Sling (Parent)</name>
- <description>The parent project for Apache Sling</description>
- <inceptionYear>2007</inceptionYear>
-
- <url>http://sling.apache.org</url>
-
- <issueManagement>
- <system>Jira</system>
- <url>http://issues.apache.org/jira/browse/SLING</url>
- </issueManagement>
-
-
- <properties>
- <site.jira.version.id>12313945</site.jira.version.id>
- <site.javadoc.exclude />
- <organization.logo>http://sling.apache.org/site/media.data/logo.png</organization.logo>
- <!--
- Java API and class file compliance. This property supports
- one of three values:
- - 6: Java 6
- - 7: Java 7
- - 8: Java 8 (default)
- - 9: Java 9
- -->
- <sling.java.version>8</sling.java.version>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <surefire.plugin.version>2.20.1</surefire.plugin.version>
- </properties>
-
- <scm>
- <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-parent.git</connection>
- <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-parent.git</developerConnection>
- <url>https://gitbox.apache.org/repos/asf?p=sling-parent.git</url>
- <tag>HEAD</tag>
- </scm>
-
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <reportSets>
- <reportSet>
- <reports>
- <report>javadoc</report>
- </reports>
- </reportSet>
- </reportSets>
- <configuration>
- <stylesheet>maven</stylesheet>
- <excludePackageNames>*.impl:*.internal:${site.javadoc.exclude}</excludePackageNames>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-changes-plugin</artifactId>
- <reportSets>
- <reportSet>
- <reports>
- <report>jira-report</report>
- </reports>
- </reportSet>
- </reportSets>
- <configuration>
- <fixVersionIds>${site.jira.version.id}</fixVersionIds>
- </configuration>
- </plugin>
- </plugins>
- </reporting>
+ <name>Apache Sling Parent Reactor</name>
+ <description>The reactor pom to build all Sling parents</description>
+ <modules>
+ <module>sling-parent</module>
+ <module>sling-bundle-parent</module>
+ </modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-property-values</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireProperty>
- <property>sling.java.version</property>
- <regex>[6-9]</regex>
- <regexMessage>The property "sling.java.version" may only have one of the following values: 6, 7, 8 or 9.</regexMessage>
- </requireProperty>
- </rules>
- </configuration>
- </execution>
- <execution>
- <id>enforce-java</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <!-- Require Java 8 or higher for building (as bnd since version 4.0 only supports Java 8, https://github.com/bndtools/bnd/wiki/Changes-in-4.0.0) -->
- <requireJavaVersion>
- <message>
- Apache Sling must be compiled with Java 8 or higher
- </message>
- <version>1.8.0</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <version>3.3.9</version>
- </requireMavenVersion>
- </rules>
- </configuration>
- </execution>
- <execution>
- <id>ban-maven-scr-plugin</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <bannedPlugins>
- <excludes>
- <exclude>org.apache.felix:maven-scr-plugin</exclude>
- </excludes>
- <message>Felix SCR annotations and the maven-scr-plugin are no longer supported - please migrate to OSGi annotations or stick with Sling Parent 29.</message>
- </bannedPlugins>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- Attach sources for all builds -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <inherited>true</inherited>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>ianal-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>verify-legal-files</id>
- <goals>
- <goal>verify-legal-files</goal>
- </goals>
- <configuration>
- <!-- Fail the build if any artifacts are missing legal files -->
- <strict>true</strict>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!--
- override the default remote-resources configuration from the Apache pom
- to include our custom NOTICE file
- -->
- <plugin>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>remote-resources-custom-notice</id>
- <goals>
- <goal>process</goal>
- </goals>
- <configuration>
- <resourceBundles>
- <resourceBundle>org.apache.sling:apache-sling-jar-resource-bundle:1.0.0</resourceBundle>
- <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
- </resourceBundles>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.release</groupId>
- <artifactId>maven-release-oddeven-policy</artifactId>
- <version>2.5.3</version>
- </dependency>
- </dependencies>
- <configuration>
- <projectVersionPolicyId>OddEvenVersionPolicy</projectVersionPolicyId>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.0.0-M1</version>
<configuration>
- <excludes combine.children="append">
- <!-- Used by maven-remote-resources-plugin -->
- <exclude>src/main/appended-resources/META-INF/*</exclude>
- <!-- Generated by maven-remote-resources-plugin -->
- <exclude>velocity.log</exclude>
- <!-- don't check anything in target -->
- <exclude>target/*</exclude>
- <!-- files in markdown format -->
- <exclude>**/*.md</exclude>
- <!-- Ignore files generated bei IDE plugins e.g. maven-eclipse-plugin -->
- <exclude>maven-eclipse.xml</exclude>
- <exclude>.*</exclude>
- <exclude>.*/**</exclude>
- <!-- Exclude all JSON files -->
- <exclude>**/*.json</exclude>
- <!-- Generated for release source archives -->
- <exclude>DEPENDENCIES</exclude>
- <!-- .rej files from svn/patch -->
- <exclude>**/*.rej</exclude>
- <!-- Exclude Java crash log files -->
- <exclude>hs_err_*.log</exclude>
- <!-- Lucene index details (Oak 1.6) -->
- <exclude>**/repository/index/*/index-details.txt</exclude>
- <!-- bnd -->
- <exclude>bnd.bnd</exclude>
- </excludes>
+ <!-- don't deploy reactor module itself -->
+ <skip>true</skip>
</configuration>
- <executions>
- <execution>
- <id>rat-check</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
</plugin>
</plugins>
-
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0-M1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-changes-plugin</artifactId>
- <version>2.12.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>maven-sling-plugin</artifactId>
- <version>2.3.6</version>
- </plugin>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>maven-jspc-plugin</artifactId>
- <version>2.0.8</version>
- </plugin>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>maven-jcrocm-plugin</artifactId>
- <version>2.0.4-incubator</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>3.0.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- <configuration>
- <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>3.5.0</version>
- <inherited>true</inherited>
- <configuration>
- <outputDirectory>${basedir}/target/classes</outputDirectory>
- <obrRepository>NONE</obrRepository>
- <!-- Export SCR metadata to classpath to have them available in unit tests -->
- <exportScr>true</exportScr>
- <instructions>
- <Bundle-Category>sling</Bundle-Category>
- <Bundle-DocURL>
- http://sling.apache.org
- </Bundle-DocURL>
- <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- </instructions>
- </configuration>
- <executions>
- <execution>
- <id>baseline</id>
- <goals>
- <goal>baseline</goal>
- </goals>
- </execution>
- <!-- Configure extra execution of 'manifest' in process-classes phase to make sure SCR metadata is generated before unit test runs -->
- <execution>
- <id>scr-metadata</id>
- <goals>
- <goal>manifest</goal>
- </goals>
- <configuration>
- <supportIncrementalBuild>true</supportIncrementalBuild>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>biz.aQute.bnd</groupId>
- <artifactId>bnd-maven-plugin</artifactId>
- <version>4.0.0</version>
- <executions>
- <execution>
- <id>bnd-process</id>
- <goals>
- <goal>bnd-process</goal>
- </goals>
- <configuration>
- <bnd><![CDATA[
-Bundle-Category: sling
-
-Bundle-Description: ${project.description}
-
-Bundle-DocURL: https://sling.apache.org
-
-Bundle-License: Apache License, Version 2.0
-
-Bundle-Vendor: The Apache Software Foundation
-
-# export all versioned packages by default
-# overwrite with "${removeall;${packages;VERSIONED};${packages;CONDITIONAL}}" in your project,
-# in case you have conditional packages (compare with https://github.com/bndtools/bnd/issues/2131)
-# this currently cannot be done globally, as bnd 4.0 doesn't support empty package groups in macro
-# removeall (https://groups.google.com/d/msg/bndtools-users/d8K2FTzJdeQ/JeVbVvncAAAJ)
--exportcontents: ${packages;VERSIONED}
-
-# overwrite timestamp format used as qualifier for snapshots to make the resolution higher (i.e. make them differ for each build),
-# compare with https://www.mail-archive.com/dev@sling.apache.org/msg76177.html
--snapshot: ${tstamp;yyyyMMddHHmmssSSS}
- ]]></bnd>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>biz.aQute.bnd</groupId>
- <artifactId>bnd-baseline-maven-plugin</artifactId>
- <version>4.0.0</version>
- <executions>
- <execution>
- <id>bnd-baseline</id>
- <goals>
- <goal>baseline</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>slingstart-maven-plugin</artifactId>
- <version>1.7.16</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-maven2-plugin</artifactId>
- <version>1.6.6</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>ianal-maven-plugin</artifactId>
- <version>1.0-alpha-1</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.groovy.maven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.0</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId>
- <version>1.16</version>
- <configuration>
- <signature>
- <groupId>org.codehaus.mojo.signature</groupId>
- <artifactId>java1${sling.java.version}</artifactId>
- <version>1.0</version>
- </signature>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.8</version>
- <dependencies>
- <!-- declare dependencies here rather than where needed to
- circumvent http://jira.codehaus.org/browse/MANTRUN-51
- -->
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-apache-regexp</artifactId>
- <version>1.7.1</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>jakarta-regexp</groupId>
- <artifactId>jakarta-regexp</artifactId>
- <version>1.4</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>emma-maven-plugin</artifactId>
- <version>1.0-alpha-3</version>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.9</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>${surefire.plugin.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>2.20.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.servicemix.tooling</groupId>
- <artifactId>depends-maven-plugin</artifactId>
- <version>1.4.0</version>
- <executions>
- <execution>
- <id>generate-depends-file</id>
- <goals>
- <goal>generate-depends-file</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
</build>
- <profiles>
- <profile>
- <!-- pick up manifest generated by bnd-maven-plugin -->
- <id>bundle</id>
- <activation>
- <file>
- <exists>bnd.bnd</exists>
- </file>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <!--
- Use this profile to install the OSGi bundle
- automatically, during development
- -->
- <id>autoInstallBundle</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>maven-sling-plugin</artifactId>
- <executions>
- <execution>
- <id>install-bundle</id>
- <goals>
- <goal>install</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>emma</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>emma-maven-plugin</artifactId>
- <inherited>true</inherited>
- <executions>
- <execution>
- <phase>prepare-package</phase>
- <goals>
- <goal>instrument</goal>
- </goals>
- <configuration>
- <metadataFile>${user.dir}/coverage.em</metadataFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <inherited>true</inherited>
- <executions>
- <execution>
- <id>emma-bundle</id>
- <goals>
- <goal>bundle</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <classifier>emma</classifier>
- <outputDirectory>${basedir}/target/generated-classes/emma/classes</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>emma-report</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.groovy.maven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <executions>
- <!-- store the project's source dir in a comma-delimited list for the emma report. -->
- <execution>
- <id>save-bundle-metadata</id>
- <goals>
- <goal>execute</goal>
- </goals>
- <phase>validate</phase>
- <configuration>
- <source>
- if (!session.executionProperties.sourceDirs) {
- session.executionProperties.sourceDirs = "${basedir}/src/main/java"
- } else {
- session.executionProperties.sourceDirs += ",${basedir}/src/main/java"
- }
- </source>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>jacoco-report</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/jacoco-unit.exec</destFile>
- </configuration>
- </execution>
- <execution>
- <id>prepare-agent-integration</id>
- <goals>
- <goal>prepare-agent-integration</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/jacoco-it.exec</destFile>
- </configuration>
- </execution>
- <execution>
- <id>report</id>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <dataFile>${project.build.directory}/jacoco-unit.exec</dataFile>
- <outputDirectory> ${project.reporting.outputDirectory}/jacoco-unit</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>report-integration</id>
- <goals>
- <goal>report-integration</goal>
- </goals>
- <configuration>
- <dataFile>${project.build.directory}/jacoco-it.exec</dataFile>
- <outputDirectory> ${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>merge-unit-and-it</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>merge</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/jacoco-merged.exec</destFile>
- <fileSets>
- <fileSet>
- <directory>${project.build.directory}</directory>
- <includes>
- <include>jacoco-unit.exec</include>
- <include>jacoco-it.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- </configuration>
- </execution>
- <execution>
- <id>report-merged</id>
- <phase>verify</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <dataFile>${project.build.directory}/jacoco-merged.exec</dataFile>
- <outputDirectory> ${project.reporting.outputDirectory}/jacoco-merged</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>jdk8-or-lower</id>
- <activation>
- <!-- syntax according to http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html -->
- <jdk>(,9)</jdk>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.${sling.java.version}</source>
- <target>1.${sling.java.version}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>jdk9-or-higher</id>
- <activation>
- <!-- syntax according to http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html -->
- <jdk>[9,)</jdk>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <!--
- release sets API classpath, source and target, see
- https://docs.oracle.com/javase/9/tools/javac.htm#GUID-AEEC9F07-CB49-4E96-8BC7-BCC2C7F725C9__GUID-D343F6B4-3FDD-43A8-AD24-43DD70214471
- and http://openjdk.java.net/jeps/247 -->
- <release>${sling.java.version}</release>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
- <profile>
- <id>only-eclipse</id>
- <activation>
- <property>
- <name>m2e.version</name>
- </property>
- </activation>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.maven.plugins
- </groupId>
- <artifactId>
- maven-dependency-plugin
- </artifactId>
- <versionRange>
- [2.2,)
- </versionRange>
- <goals>
- <goal>copy-dependencies</goal>
- <goal>unpack</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.codehaus.groovy.maven
- </groupId>
- <artifactId>
- gmaven-plugin
- </artifactId>
- <versionRange>
- [1.0,)
- </versionRange>
- <goals>
- <goal>compile</goal>
- <goal>testCompile</goal>
- <goal>execute</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.codehaus.mojo
- </groupId>
- <artifactId>
- build-helper-maven-plugin
- </artifactId>
- <versionRange>
- [1.5,)
- </versionRange>
- <goals>
- <goal>
- reserve-network-port
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.sling
- </groupId>
- <artifactId>
- maven-launchpad-plugin
- </artifactId>
- <versionRange>
- [2.0.10,)
- </versionRange>
- <goals>
- <goal>prepare-package</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.sling
- </groupId>
- <artifactId>
- maven-jcrocm-plugin
- </artifactId>
- <versionRange>
- [2.0.4-incubator,)
- </versionRange>
- <goals>
- <goal>ocm</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.sling
- </groupId>
- <artifactId>
- maven-sling-plugin
- </artifactId>
- <versionRange>
- [2.1.0,)
- </versionRange>
- <goals>
- <goal>generate-adapter-metadata</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.maven.plugins
- </groupId>
- <artifactId>
- maven-dependency-plugin
- </artifactId>
- <versionRange>
- [2.2,)
- </versionRange>
- <goals>
- <goal>
- unpack-dependencies
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.maven.plugins
- </groupId>
- <artifactId>
- maven-jar-plugin
- </artifactId>
- <versionRange>
- [2.3.1,)
- </versionRange>
- <goals>
- <goal>
- jar
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.sling
- </groupId>
- <artifactId>
- maven-jspc-plugin
- </artifactId>
- <versionRange>
- [2.0.4,)
- </versionRange>
- <goals>
- <goal>
- jspc
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- net.alchim31.maven
- </groupId>
- <artifactId>
- yuicompressor-maven-plugin
- </artifactId>
- <versionRange>
- [1.3.0,)
- </versionRange>
- <goals>
- <goal>
- compress
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.scala-tools
- </groupId>
- <artifactId>
- maven-scala-plugin
- </artifactId>
- <versionRange>
- [2.15.2,)
- </versionRange>
- <goals>
- <goal>
- compile
- </goal>
- <goal>
- testCompile
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.maven.plugins
- </groupId>
- <artifactId>
- maven-enforcer-plugin
- </artifactId>
- <versionRange>
- [1.3.1,)
- </versionRange>
- <goals>
- <goal>
- enforce
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.maven.plugins
- </groupId>
- <artifactId>
- maven-remote-resources-plugin
- </artifactId>
- <versionRange>
- [1.5,)
- </versionRange>
- <goals>
- <goal>
- process
- </goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.apache.avro
- </groupId>
- <artifactId>
- avro-maven-plugin
- </artifactId>
- <versionRange>
- [1.7.7,)
- </versionRange>
- <goals>
- <goal>schema</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
- </profiles>
-
- <mailingLists>
- <mailingList>
- <name>Apache Sling Development List</name>
- <subscribe>
- dev-subscribe@sling.apache.org
- </subscribe>
- <unsubscribe>
- dev-unsubscribe@sling.apache.org
- </unsubscribe>
- <post>dev at sling.apache.org</post>
- <archive>
- http://mail-archives.apache.org/mod_mbox/sling-dev/
- </archive>
- <otherArchives>
- <otherArchive>
- http://sling-dev.markmail.org/
- </otherArchive>
- <otherArchive>
- http://www.mail-archive.com/dev@sling.apache.org/
- </otherArchive>
- </otherArchives>
- </mailingList>
- <mailingList>
- <name>Apache Sling Source Control List</name>
- <subscribe>
- commits-subscribe@sling.apache.org
- </subscribe>
- <unsubscribe>
- commits-unsubscribe@sling.apache.org
- </unsubscribe>
- <archive>
- http://mail-archives.apache.org/mod_mbox/sling-commits/
- </archive>
- <otherArchives>
- <otherArchive>
- http://sling-commits.markmail.org/
- </otherArchive>
- <otherArchive>
- http://www.mail-archive.com/commits@sling.apache.org/
- </otherArchive>
- </otherArchives>
- </mailingList>
- </mailingLists>
-
- <!-- Please visit our website for the current information about the
- Apache Sling project team. (see #SLING-1120 why we don't include
- the list here) -->
- <developers>
- <developer>
- <name>Apache Sling Project</name>
- <id>sling</id>
- <url>http://sling.apache.org/site/project-team.html</url>
- </developer>
- </developers>
-
- <dependencyManagement>
-
- <!-- OSGi -->
- <dependencies>
- <!-- Aggregates (rather use individual artifacts referenced below) -->
- <!-- Core R6 -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.core</artifactId>
- <version>6.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- Compendium R6 -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.cmpn</artifactId>
- <version>6.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- individual OSGi spec API artifacts (preferred), all part of OSGi R6 -->
- <!-- Configuration Admin 1.5 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/cm/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.cm</artifactId>
- <version>1.5.0</version>
- </dependency>
- <!-- Service Component 1.3 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.component</artifactId>
- <version>1.3.0</version>
- </dependency>
- <!-- Event Admin 1.3.1 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/event/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.event</artifactId>
- <version>1.3.1</version>
- </dependency>
-
- <!-- Web Application API -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- dependency injection annotations -->
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>1</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- JCR API -->
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>2.0</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- Basic Logging -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.25</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- OSGi annotations (OSGi R6) -->
- <!-- https://osgi.org/javadoc/r6/annotation/ -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.annotation.versioning</artifactId>
- <version>1.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.component.annotations</artifactId>
- <version>1.3.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/metatype/annotations/package-summary.html -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.metatype.annotations</artifactId>
- <version>1.3.0</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- Jetbrains annotations for null-analysis (SLING-7798) -->
- <dependency>
- <groupId>org.jetbrains</groupId>
- <artifactId>annotations</artifactId>
- <version>16.0.2</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- Basic dependencies for Unit Tests -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <version>2.8.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>1.7.25</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
- </dependencyManagement>
-
- <distributionManagement>
- <site>
- <id>apache.sling.site</id>
- <url>
- scp://people.apache.org/www/sling.apache.org/generated
- </url>
- </site>
- </distributionManagement>
-
- <pluginRepositories>
- <pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- </pluginRepository>
- </pluginRepositories>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/sling-bundle-parent/pom.xml b/sling-bundle-parent/pom.xml
new file mode 100644
index 0000000..07f45ef
--- /dev/null
+++ b/sling-bundle-parent/pom.xml
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or
+ more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information regarding
+ copyright ownership. The ASF licenses this file to you under the
+ Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain
+ a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed
+ under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions
+ and limitations under the License.
+-->
+<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.sling</groupId>
+ <artifactId>sling</artifactId>
+ <version>35-SNAPSHOT</version>
+ <relativePath>../sling-parent</relativePath>
+ </parent>
+
+ <groupId>org.apache.sling</groupId>
+ <artifactId>sling-bundle-parent</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Apache Sling (Bundle Parent)</name>
+ <description>The parent project for Apache Sling bundle modules</description>
+
+ <properties>
+ <bnd.version>4.1.0</bnd.version>
+ </properties>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ <version>2.3.6</version>
+ </plugin>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-maven-plugin</artifactId>
+ <version>${bnd.version}</version>
+ <executions>
+ <execution>
+ <id>bnd-process</id>
+ <goals>
+ <goal>bnd-process</goal>
+ </goals>
+ <configuration>
+ <bnd><![CDATA[
+Bundle-Category: sling
+
+Bundle-Description: ${project.description}
+
+Bundle-DocURL: https://sling.apache.org
+
+Bundle-License: Apache License, Version 2.0
+
+Bundle-Vendor: The Apache Software Foundation
+
+# export all versioned packages by default
+-exportcontents: ${packages;VERSIONED}
+
+# overwrite timestamp format used as qualifier for snapshots to make the resolution higher (i.e. make them differ for each build),
+# compare with https://www.mail-archive.com/dev@sling.apache.org/msg76177.html
+-snapshot: ${tstamp;yyyyMMddHHmmssSSS}
+ ]]></bnd>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-baseline-maven-plugin</artifactId>
+ <version>${bnd.version}</version>
+ <executions>
+ <execution>
+ <id>bnd-baseline</id>
+ <goals>
+ <goal>baseline</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>ban-maven-scr-plugin</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedPlugins>
+ <excludes>
+ <exclude>org.apache.felix:maven-scr-plugin</exclude>
+ <exclude>org.apache.felix:maven-bundle-plugin</exclude>
+ </excludes>
+ <message>Felix SCR annotations and the maven-scr-plugin are no longer supported - please migrate to OSGi
+ annotations or stick with Sling Parent 29.</message>
+ </bannedPlugins>
+ </rules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>ban-maven-bundle-plugin</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedPlugins>
+ <excludes>
+ <exclude>org.apache.felix:maven-bundle-plugin</exclude>
+ </excludes>
+ <message>The maven-bundle-plugin is no longer supported - please migrate to bnd-maven-plugin or stick
+ with Sling Parent 34.</message>
+ </bannedPlugins>
+ </rules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>enforce-java</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <!-- Require Java 8 or higher for building (as bnd since version 4.0 only supports Java 8, https://github.com/bndtools/bnd/wiki/Changes-in-4.0.0) -->
+ <requireJavaVersion>
+ <message>
+ Apache Sling must be compiled with Java 8 or higher as the bnd-maven-plugin requires that.
+ </message>
+ <version>1.8.0</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-baseline-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <profiles>
+ <profile>
+ <!--
+ Use this profile to install the OSGi bundle
+ automatically, during development
+ -->
+ <id>autoInstallBundle</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install-bundle</id>
+ <goals>
+ <goal>install</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <dependencyManagement>
+
+ <!-- OSGi -->
+ <dependencies>
+ <!-- Aggregates (rather use individual artifacts referenced below) -->
+ <!-- Core R6 -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.core</artifactId>
+ <version>6.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- Compendium R6 -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.cmpn</artifactId>
+ <version>6.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- individual OSGi spec API artifacts (preferred), all part of OSGi Compendium R6 -->
+ <!-- Configuration Admin 1.5 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/cm/package-summary.html) -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.cm</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+ <!-- Service Component 1.3 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/package-summary.html) -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.component</artifactId>
+ <version>1.3.0</version>
+ </dependency>
+ <!-- Event Admin 1.3.1 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/event/package-summary.html) -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.event</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+
+ <!-- OSGi annotations (OSGi R6) -->
+ <!-- https://osgi.org/javadoc/r6/annotation/ -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.versioning</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.component.annotations</artifactId>
+ <version>1.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/metatype/annotations/package-summary.html -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.metatype.annotations</artifactId>
+ <version>1.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/pom.xml b/sling-parent/pom.xml
similarity index 82%
copy from pom.xml
copy to sling-parent/pom.xml
index 398e876..37d0f88 100644
--- a/pom.xml
+++ b/sling-parent/pom.xml
@@ -129,41 +129,18 @@
</configuration>
</execution>
<execution>
- <id>enforce-java</id>
+ <id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
- <!-- Require Java 8 or higher for building (as bnd since version 4.0 only supports Java 8, https://github.com/bndtools/bnd/wiki/Changes-in-4.0.0) -->
- <requireJavaVersion>
- <message>
- Apache Sling must be compiled with Java 8 or higher
- </message>
- <version>1.8.0</version>
- </requireJavaVersion>
<requireMavenVersion>
<version>3.3.9</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
- <execution>
- <id>ban-maven-scr-plugin</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <bannedPlugins>
- <excludes>
- <exclude>org.apache.felix:maven-scr-plugin</exclude>
- </excludes>
- <message>Felix SCR annotations and the maven-scr-plugin are no longer supported - please migrate to OSGi annotations or stick with Sling Parent 29.</message>
- </bannedPlugins>
- </rules>
- </configuration>
- </execution>
</executions>
</plugin>
@@ -333,94 +310,6 @@
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>3.5.0</version>
- <inherited>true</inherited>
- <configuration>
- <outputDirectory>${basedir}/target/classes</outputDirectory>
- <obrRepository>NONE</obrRepository>
- <!-- Export SCR metadata to classpath to have them available in unit tests -->
- <exportScr>true</exportScr>
- <instructions>
- <Bundle-Category>sling</Bundle-Category>
- <Bundle-DocURL>
- http://sling.apache.org
- </Bundle-DocURL>
- <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- </instructions>
- </configuration>
- <executions>
- <execution>
- <id>baseline</id>
- <goals>
- <goal>baseline</goal>
- </goals>
- </execution>
- <!-- Configure extra execution of 'manifest' in process-classes phase to make sure SCR metadata is generated before unit test runs -->
- <execution>
- <id>scr-metadata</id>
- <goals>
- <goal>manifest</goal>
- </goals>
- <configuration>
- <supportIncrementalBuild>true</supportIncrementalBuild>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>biz.aQute.bnd</groupId>
- <artifactId>bnd-maven-plugin</artifactId>
- <version>4.0.0</version>
- <executions>
- <execution>
- <id>bnd-process</id>
- <goals>
- <goal>bnd-process</goal>
- </goals>
- <configuration>
- <bnd><![CDATA[
-Bundle-Category: sling
-
-Bundle-Description: ${project.description}
-
-Bundle-DocURL: https://sling.apache.org
-
-Bundle-License: Apache License, Version 2.0
-
-Bundle-Vendor: The Apache Software Foundation
-
-# export all versioned packages by default
-# overwrite with "${removeall;${packages;VERSIONED};${packages;CONDITIONAL}}" in your project,
-# in case you have conditional packages (compare with https://github.com/bndtools/bnd/issues/2131)
-# this currently cannot be done globally, as bnd 4.0 doesn't support empty package groups in macro
-# removeall (https://groups.google.com/d/msg/bndtools-users/d8K2FTzJdeQ/JeVbVvncAAAJ)
--exportcontents: ${packages;VERSIONED}
-
-# overwrite timestamp format used as qualifier for snapshots to make the resolution higher (i.e. make them differ for each build),
-# compare with https://www.mail-archive.com/dev@sling.apache.org/msg76177.html
--snapshot: ${tstamp;yyyyMMddHHmmssSSS}
- ]]></bnd>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>biz.aQute.bnd</groupId>
- <artifactId>bnd-baseline-maven-plugin</artifactId>
- <version>4.0.0</version>
- <executions>
- <execution>
- <id>bnd-baseline</id>
- <goals>
- <goal>baseline</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
@@ -511,7 +400,7 @@ Bundle-Vendor: The Apache Software Foundation
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
- <version>2.20.1</version>
+ <version>${surefire.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
@@ -532,54 +421,6 @@ Bundle-Vendor: The Apache Software Foundation
<profiles>
<profile>
- <!-- pick up manifest generated by bnd-maven-plugin -->
- <id>bundle</id>
- <activation>
- <file>
- <exists>bnd.bnd</exists>
- </file>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <!--
- Use this profile to install the OSGi bundle
- automatically, during development
- -->
- <id>autoInstallBundle</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.sling</groupId>
- <artifactId>maven-sling-plugin</artifactId>
- <executions>
- <execution>
- <id>install-bundle</id>
- <goals>
- <goal>install</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
<id>emma</id>
<build>
<plugins>
@@ -599,24 +440,6 @@ Bundle-Vendor: The Apache Software Foundation
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <inherited>true</inherited>
- <executions>
- <execution>
- <id>emma-bundle</id>
- <goals>
- <goal>bundle</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <classifier>emma</classifier>
- <outputDirectory>${basedir}/target/generated-classes/emma/classes</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
</profile>
@@ -1157,43 +980,7 @@ Bundle-Vendor: The Apache Software Foundation
<dependencyManagement>
- <!-- OSGi -->
<dependencies>
- <!-- Aggregates (rather use individual artifacts referenced below) -->
- <!-- Core R6 -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.core</artifactId>
- <version>6.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- Compendium R6 -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.cmpn</artifactId>
- <version>6.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- individual OSGi spec API artifacts (preferred), all part of OSGi R6 -->
- <!-- Configuration Admin 1.5 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/cm/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.cm</artifactId>
- <version>1.5.0</version>
- </dependency>
- <!-- Service Component 1.3 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.component</artifactId>
- <version>1.3.0</version>
- </dependency>
- <!-- Event Admin 1.3.1 (https://osgi.org/javadoc/r6/cmpn/org/osgi/service/event/package-summary.html) -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.event</artifactId>
- <version>1.3.1</version>
- </dependency>
-
<!-- Web Application API -->
<dependency>
<groupId>javax.servlet</groupId>
@@ -1226,29 +1013,6 @@ Bundle-Vendor: The Apache Software Foundation
<scope>provided</scope>
</dependency>
- <!-- OSGi annotations (OSGi R6) -->
- <!-- https://osgi.org/javadoc/r6/annotation/ -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.annotation.versioning</artifactId>
- <version>1.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.component.annotations</artifactId>
- <version>1.3.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- https://osgi.org/javadoc/r6/cmpn/org/osgi/service/metatype/annotations/package-summary.html -->
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.metatype.annotations</artifactId>
- <version>1.3.0</version>
- <scope>provided</scope>
- </dependency>
-
<!-- Jetbrains annotations for null-analysis (SLING-7798) -->
<dependency>
<groupId>org.jetbrains</groupId>