You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2021/11/24 16:10:42 UTC
[camel-quarkus] branch main updated: Add manifest to camel-quarkus-support-spring source JARs
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 29e55dc Add manifest to camel-quarkus-support-spring source JARs
29e55dc is described below
commit 29e55dc8f9195203f6936f08cd4d28bb05e5718e
Author: James Netherton <ja...@gmail.com>
AuthorDate: Wed Nov 24 10:33:03 2021 +0000
Add manifest to camel-quarkus-support-spring source JARs
Fixes #3321
---
.../support/spring/test/SpringSupportTest.java | 44 ++++++++++++++++++++++
pom.xml | 5 +++
2 files changed, 49 insertions(+)
diff --git a/extensions-support/spring/integration-test/src/test/java/org/apache/camel/quarkus/support/spring/test/SpringSupportTest.java b/extensions-support/spring/integration-test/src/test/java/org/apache/camel/quarkus/support/spring/test/SpringSupportTest.java
index e1c43d7..2ae0fd9 100644
--- a/extensions-support/spring/integration-test/src/test/java/org/apache/camel/quarkus/support/spring/test/SpringSupportTest.java
+++ b/extensions-support/spring/integration-test/src/test/java/org/apache/camel/quarkus/support/spring/test/SpringSupportTest.java
@@ -16,10 +16,20 @@
*/
package org.apache.camel.quarkus.support.spring.test;
+import java.io.File;
+import java.net.JarURLConnection;
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
@QuarkusTest
public class SpringSupportTest {
@@ -45,4 +55,38 @@ public class SpringSupportTest {
.statusCode(204);
}
}
+
+ @Test
+ public void verifySourcesJarManifest() throws Exception {
+ String[] springModules = new String[] { "beans", "context", "core" };
+ for (String module : springModules) {
+ Path path = Paths.get("../" + module + "/target");
+ File file = path.toFile();
+ if (!file.exists()) {
+ throw new IllegalStateException("The sources JAR location does not exist: " + file.getAbsolutePath());
+ }
+
+ File[] files = file
+ .listFiles(f -> f.getName().matches("^camel-quarkus-support-spring-" + module + "-.*-sources.jar"));
+
+ if (files.length == 1) {
+ URL url = new URL("jar:file:" + files[0].getAbsolutePath() + "!/");
+ JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
+ Manifest manifest = jarConnection.getManifest();
+ assertNotNull(manifest);
+
+ Attributes attributes = manifest.getMainAttributes();
+ assertNotNull(attributes.getValue("Specification-Version"));
+ assertNotNull(attributes.getValue("Implementation-Version"));
+ } else if (files.length == 0) {
+ throw new IllegalStateException(
+ "Detected no camel-quarkus-support-spring-" + module + " sources JAR in: "
+ + file.getAbsolutePath());
+ } else {
+ throw new IllegalStateException(
+ "Detected multiple camel-quarkus-support-spring-" + module + " sources JARs in: "
+ + file.getAbsolutePath());
+ }
+ }
+ }
}
diff --git a/pom.xml b/pom.xml
index 113ab49..0abfa4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -355,6 +355,11 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"/>
+ </transformers>
+ </configuration>
</plugin>
<plugin>