This is an automated email from the ASF dual-hosted git repository. davidb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-feature-converter-maven-plugin.git
commit 638bd7143ec46d495ddd6f2edd21e70887f6e640 Author: Andreas Schaefer <[email protected]> AuthorDate: Wed Aug 21 12:06:49 2019 -0700 Cleaning up the POM dependencies and update the docu --- README.md | 20 ++- pom.xml | 144 ++------------------- .../maven/mojos/FeatureLauncherMojo.java | 57 -------- src/site/markdown/usage.md.vm | 47 ++++--- 4 files changed, 62 insertions(+), 206 deletions(-) diff --git a/README.md b/README.md index 09cdd5b..451b2a0 100644 --- a/README.md +++ b/README.md @@ -34,4 +34,22 @@ These Goals are support in this plugin: and its converted ZIP files * **convert-pom**: Converts Provisioning Models into Feature Models -See the Site documentation for further info. \ No newline at end of file +See the Site documentation for further info. + +## Content Package Handling + +The installation of Converted Content Packages has be difficult at times. + +These are the things fo far that should help making this easier: +1. Make sure that you use the latest code base +2. Make sure that during the launch: + 1. Sling Feature Extension Content is added first as Plugin Dependency + (any extension should be added before the Launcher) + 2. Add Sling Feature Launcher as Plugin Dependency afterwards + 3. Make sure that the **JCR Package Init** is added as Feature + (see Site Documentation **Usage**) +3. After Feature is up and running log into OSGi Console and check + **OSGi Installer** to make sure there are no **Untransformed + Resources** +4. During development make sure that the **Launcher** folder is deleted + periodically to avoid side effects from previous launches \ No newline at end of file diff --git a/pom.xml b/pom.xml index dcc0832..55be6db 100644 --- a/pom.xml +++ b/pom.xml @@ -126,36 +126,10 @@ <dependencies> <dependency> - <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <version>6.0.0</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-text</artifactId> - <version>1.6</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.converter</artifactId> - <version>1.0.0</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.configurator</artifactId> - <version>1.0.4</version> - </dependency> - <dependency> - <groupId>org.apache.sling</groupId> - <artifactId>org.apache.sling.commons.johnzon</artifactId> - <version>1.0.0</version> - </dependency> - <dependency> <groupId>javax.jcr</groupId> <artifactId>jcr</artifactId> <version>2.0</version> - <scope>compile</scope> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId> @@ -170,38 +144,23 @@ </dependency> <dependency> <groupId>org.apache.sling</groupId> - <artifactId>org.apache.sling.feature.launcher</artifactId> - <version>1.0.4</version> - </dependency> - <dependency> - <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.feature.modelconverter</artifactId> - <version>1.0.4</version> + <version>1.0.8</version> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.feature</artifactId> - <version>1.0.2</version> + <version>1.0.7-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.feature.io</artifactId> - <version>1.0.2</version> - </dependency> - <dependency> - <groupId>org.apache.sling</groupId> - <artifactId>org.apache.sling.feature.analyser</artifactId> - <version>1.0.2</version> + <version>1.0.7-SNAPSHOT</version> </dependency> <dependency> - <groupId>org.apache.sling</groupId> - <artifactId>org.apache.sling.provisioning.model</artifactId> - <version>1.8.2</version> - </dependency> - <dependency> - <groupId>org.apache.jackrabbit</groupId> - <artifactId>jackrabbit-api</artifactId> - <version>2.19.3</version> + <groupId>org.glassfish</groupId> + <artifactId>javax.json</artifactId> + <version>1.0.4</version> </dependency> <dependency> <groupId>org.apache.jackrabbit.vault</groupId> @@ -209,6 +168,7 @@ <version>3.2.8</version> <scope>runtime</scope> </dependency> + <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> @@ -235,102 +195,20 @@ <version>${maven.version}</version> </dependency> <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-archiver</artifactId> - <version>3.3.0</version> - </dependency> - <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>3.5</version> <scope>provided</scope> </dependency> <dependency> - <groupId>org.apache.maven.shared</groupId> - <artifactId>maven-osgi</artifactId> - <version>0.2.0</version> - </dependency> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-interactivity-api</artifactId> - <version>1.0-alpha-6</version> - </dependency> - <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> <version>3.5</version> </dependency> <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>3.0.24</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.framework</artifactId> - <version>1.9.0</version> - </dependency> - <dependency> - <groupId>org.codehaus.mojo</groupId> - <artifactId>versions-maven-plugin</artifactId> - <version>2.7</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>2.5</version> - </dependency> - <dependency> - <groupId>org.apache.maven.shared</groupId> - <artifactId>maven-filtering</artifactId> - <version>3.1.1</version> - </dependency> - <!-- schema validation --> - <dependency> - <groupId>com.github.java-json-tools</groupId> - <artifactId>json-schema-validator</artifactId> - <version>2.2.10</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-core</artifactId> - <version>2.2.3</version> - </dependency> - <!-- APIs JARs --> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.utils</artifactId> - <version>1.11.0</version> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-api</artifactId> - <version>${maven.scm.version}</version> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-manager-plexus</artifactId> - <version>${maven.scm.version}</version> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-gitexe</artifactId> - <version>${maven.scm.version}</version> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-svnexe</artifactId> - <version>${maven.scm.version}</version> - </dependency> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model-builder</artifactId> - <version>3.6.0</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-exec</artifactId> - <version>1.3</version> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + <version>3.0.2</version> </dependency> <!-- testing --> <dependency> diff --git a/src/main/java/org/apache/sling/cpconverter/maven/mojos/FeatureLauncherMojo.java b/src/main/java/org/apache/sling/cpconverter/maven/mojos/FeatureLauncherMojo.java deleted file mode 100644 index f29835d..0000000 --- a/src/main/java/org/apache/sling/cpconverter/maven/mojos/FeatureLauncherMojo.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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. - */ -package org.apache.sling.cpconverter.maven.mojos; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.sling.feature.launcher.impl.Main; - -import java.io.File; - -/** - * Launches the given Feature File - */ -@Mojo( - name = "launch-features", - requiresProject = true, - threadSafe = true -) -public final class FeatureLauncherMojo - extends AbstractBaseMojo -{ - - public static final String CFG_FEATURE_FILE = "featureFile"; - - /** - * The path of the file that is launched here - */ - @Parameter(property = CFG_FEATURE_FILE, required = true) - private File featureFile; - - @Override - public void execute() throws MojoExecutionException, MojoFailureException { - if(!featureFile.isFile()) { - throw new MojoFailureException("Feature File is not a file: " + featureFile); - } - if(!featureFile.canRead()) { - throw new MojoFailureException("Feature File is cannot be read: " + featureFile); - } - Main.main(new String[] {"-f", featureFile.getAbsolutePath()}); - } -} diff --git a/src/site/markdown/usage.md.vm b/src/site/markdown/usage.md.vm index d520dcd..c6118c3 100644 --- a/src/site/markdown/usage.md.vm +++ b/src/site/markdown/usage.md.vm @@ -97,7 +97,7 @@ equivalent so that we can launch it together with the converter CP packages late <plugin> <groupId>org.apache.sling</groupId> <artifactId>sling-feature-converter-maven-plugin</artifactId> - <version>1.0.0-SNAPSHOT</version> + <version>${project.version}</version> <extensions>true</extensions> <executions> <execution> @@ -172,7 +172,7 @@ be relative to the basedir and cannot be absolute): <plugin> <groupId>org.apache.sling</groupId> <artifactId>slingfeature-maven-plugin</artifactId> - <version>1.0.5-SNAPSHOT</version> + <version>1.0.7-SNAPSHOT</version> <extensions>true</extensions> <configuration> <features>target/fm</features> @@ -187,6 +187,7 @@ Now we can aggregate, collect them into a single FM file (attach) and verify all <phase>generate-test-sources</phase> <goals> <goal>aggregate-features</goal> + <generatedFeatures>${sp}basedir}/target/fm</generatedFeatures> </goals> <configuration> <aggregates> @@ -245,20 +246,36 @@ if the project is buil with goal **install** and profile **launch** (mvn install <plugin> <groupId>org.apache.sling</groupId> <artifactId>slingfeature-maven-plugin</artifactId> - <version>${project.version}</version> + <version>1.0.7-SNAPSHOT</version> <extensions>true</extensions> - <executions> - <execution> - <id>launch-it</id> - <phase>install</phase> - <goals> - <goal>launch-features</goal> - </goals> - <configuration> - <featureFile>${sp}project.build.directory${ep}/slingfeature-tmp/feature-example-runtime.json</featureFile> - </configuration> - </execution> - </executions> + <dependencies> + <!-- For now the Extension Content has to be placed ahead of the launcher to make CP + deployment work (see SLING-8483) --> + <dependency> + <groupId>org.apache.sling</groupId> + <artifactId>org.apache.sling.feature.extension.content</artifactId> + <version>1.0.5-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.sling</groupId> + <artifactId>org.apache.sling.feature.launcher</artifactId> + <version>1.0.7-SNAPSHOT</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>launch-it</id> + <phase>install</phase> + <goals> + <goal>launch-features</goal> + </goals> + <configuration> + <selection> + <includeClassifier>example-runtime</includeClassifier> + </selection> + </configuration> + </execution> + </executions> </plugin> </plugins> </build>
