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 2022/08/15 17:28:03 UTC
[sling-maven-plugin] 01/01: SLING-11543 improve exception handling for invalid bundle files
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch bugfix/improve-exception-for-invalid-bundle-files
in repository https://gitbox.apache.org/repos/asf/sling-maven-plugin.git
commit 5fa91fb6e37e17e19b9835991f68a80daaf2e3d3
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Aug 15 19:27:57 2022 +0200
SLING-11543 improve exception handling for invalid bundle files
add ITs for standalone goal usage of "install" and "install-file"
---
src/it/install-file-test/invoker.properties | 4 +++-
src/it/install-file-test/pom.xml | 2 +-
src/it/install-test/invoker.properties | 5 ++++-
.../sling/maven/bundlesupport/AbstractBundleInstallMojo.java | 7 +++----
.../org/apache/sling/maven/bundlesupport/BundleInstallMojo.java | 4 ++--
5 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/it/install-file-test/invoker.properties b/src/it/install-file-test/invoker.properties
index 44fca57..4c74892 100644
--- a/src/it/install-file-test/invoker.properties
+++ b/src/it/install-file-test/invoker.properties
@@ -20,4 +20,6 @@ invoker.goals.2=install -Dsling.deploy.method=WebDAV -Dsling.urlSuffix=/dav/defa
invoker.goals.3=install -Dsling.deploy.method=SlingPostServlet -Dsling.urlSuffix=/apps/sling-it
# invalid URL must lead to build failure
invoker.goals.4=install -Dsling.urlSuffix=/system/console2
-invoker.buildResult.4=failure
\ No newline at end of file
+invoker.buildResult.4=failure
+# call goal alone
+invoker.goals.5=sling:install-file -Dsling.urlSuffix=/system/console -Dsling.artifact=org.apache.sling:org.apache.sling.commons.messaging:1.0.2
diff --git a/src/it/install-file-test/pom.xml b/src/it/install-file-test/pom.xml
index 645157c..0ce29b1 100644
--- a/src/it/install-file-test/pom.xml
+++ b/src/it/install-file-test/pom.xml
@@ -65,8 +65,8 @@
</goals>
<phase>install</phase>
<configuration>
- <artifactId>org.apache.sling.commons.messaging</artifactId>
<groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.messaging</artifactId>
<version>1.0.2</version>
</configuration>
</execution>
diff --git a/src/it/install-test/invoker.properties b/src/it/install-test/invoker.properties
index 3c0aaa5..2c9f0c7 100644
--- a/src/it/install-test/invoker.properties
+++ b/src/it/install-test/invoker.properties
@@ -20,4 +20,7 @@ invoker.goals.2=install -Dsling.deploy.method=WebDAV -Dsling.urlSuffix=/dav/defa
invoker.goals.3=install -Dsling.deploy.method=SlingPostServlet -Dsling.urlSuffix=/apps/sling-it
# invalid URL must lead to build failure
invoker.goals.4=install -Dsling.urlSuffix=/system/console2
-invoker.buildResult.4=failure
\ No newline at end of file
+invoker.buildResult.4=failure
+# call goal alone
+invoker.goals.5=sling:install -Dsling.urlSuffix=/system/console
+invoker.buildResult.5=failure
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java b/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
index 9354fc3..41a99f4 100644
--- a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
+++ b/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
@@ -24,6 +24,7 @@ import java.net.URI;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.sling.maven.bundlesupport.deploy.BundleDeploymentMethod;
@@ -121,14 +122,12 @@ abstract class AbstractBundleInstallMojo extends AbstractBundleRequestMojo {
// only upload if packaging as an osgi-bundle
if (!bundleFile.exists()) {
- getLog().info(bundleFile + " does not exist, not uploading");
- return;
+ throw new MojoExecutionException("The given bundle file " + bundleFile + " does not exist!");
}
String bundleName = getBundleSymbolicName(bundleFile);
if (bundleName == null) {
- getLog().info(bundleFile + " is not an OSGi Bundle, not uploading");
- return;
+ throw new MojoExecutionException("The given file " + bundleFile + " is no OSGi bundle");
}
URI targetURL = getTargetURL();
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java b/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
index 256879e..9e3488c 100644
--- a/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
+++ b/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
@@ -52,7 +52,7 @@ public class BundleInstallMojo extends AbstractBundleInstallMojo {
}
@Override
- protected File getBundleFileName() {
+ protected File getBundleFileName() throws MojoExecutionException {
File file = project.getArtifact().getFile();
if (isBundleFile(file)) {
return file;
@@ -65,7 +65,7 @@ public class BundleInstallMojo extends AbstractBundleInstallMojo {
getLog().debug("No bundle found in secondary artifact " + file);
}
}
- return null;
+ throw new MojoExecutionException("No attached bundle found for this Maven project, for standalone usage use goal 'install-file' instead!");
}
private boolean isBundleFile(File file) {