You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2020/12/15 16:49:10 UTC
[openwebbeans-meecrowave] branch master updated: [MEECROWAVE-274]
start to create light runner flavor
This is an automated email from the ASF dual-hosted git repository.
rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwebbeans-meecrowave.git
The following commit(s) were added to refs/heads/master by this push:
new f8d973d [MEECROWAVE-274] start to create light runner flavor
f8d973d is described below
commit f8d973df2bfdc9d62b8aa6ff3a0c95c4cd5a2371
Author: Romain Manni-Bucau <rm...@gmail.com>
AuthorDate: Tue Dec 15 17:49:04 2020 +0100
[MEECROWAVE-274] start to create light runner flavor
---
meecrowave-core/pom.xml | 63 ++++++++++++++++++++
.../meecrowave/tomcat/light/LightDigester.java | 34 +++++++++++
meecrowave-specs-api/pom.xml | 68 ++++++++++++++++++++++
3 files changed, 165 insertions(+)
diff --git a/meecrowave-core/pom.xml b/meecrowave-core/pom.xml
index 7ea0cbb..10a8479 100644
--- a/meecrowave-core/pom.xml
+++ b/meecrowave-core/pom.xml
@@ -444,6 +444,69 @@
</relocations>
</configuration>
</execution>
+ <execution>
+ <id>light-bundle</id>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <shadedClassifierName>runner-light</shadedClassifierName>
+ <shadedArtifactAttached>true</shadedArtifactAttached>
+ <dependencyReducedPomLocation>${project.build.directory}/reduced-pom-bundle.xml
+ </dependencyReducedPomLocation>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.apache.meecrowave.runner.Cli</mainClass>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/bus-extensions.txt</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>log4j2.component.properties</resource>
+ </transformer>
+ <transformer implementation="com.github.edwgiz.maven_shade_plugin.log4j2_cache_transformer.PluginsCacheFileTransformer" />
+ <transformer implementation="org.apache.maven.plugins.shade.resource.properties.OpenWebBeansPropertiesTransformer" />
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+ </transformers>
+ <filters>
+ <filter>
+ <artifact>org.apache.logging.log4j:log4j-api</artifact>
+ <excludes>
+ <exclude>META-INF/versions/**</exclude>
+ </excludes>
+ </filter>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>OSGI-INF/**</exclude>
+ <exclude>META-INF/cxf/cxf*.xml</exclude>
+ <exclude>schemas/**</exclude> <!-- cxf -->
+ <exclude>javax/servlet/resources/**</exclude> <!-- tomcat-servlet-api -->
+ <exclude>javax/servlet/jsp/resources/**</exclude>
+ <exclude>META-INF/maven</exclude> <!-- maven built artifacts -->
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ <exclude>META-INF/LICENSE.txt</exclude>
+ <exclude>META-INF/LICENSE</exclude>
+ <exclude>META-INF/NOTICE.txt</exclude>
+ <exclude>META-INF/NOTICE</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <relocations>
+ <relocation>
+ <pattern>org.apache.meecrowave.tomcat.light.LightDigester</pattern>
+ <shadedPattern>org.apache.tomcat.util.descriptor.DigesterFactory</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.apache.commons</pattern>
+ <shadedPattern>org.apache.meecrowave.shaded.commons</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ </execution>
</executions>
<dependencies>
<dependency>
diff --git a/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/light/LightDigester.java b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/light/LightDigester.java
new file mode 100644
index 0000000..aee2ef6
--- /dev/null
+++ b/meecrowave-core/src/main/java/org/apache/meecrowave/tomcat/light/LightDigester.java
@@ -0,0 +1,34 @@
+package org.apache.meecrowave.tomcat.light;
+
+import org.apache.tomcat.util.descriptor.LocalResolver;
+import org.apache.tomcat.util.digester.Digester;
+import org.apache.tomcat.util.digester.RuleSet;
+import org.xml.sax.ext.EntityResolver2;
+
+import static java.util.Collections.emptyMap;
+
+// used to replace org.apache.tomcat.util.descriptor.DigesterFactory in some shades - see pom.xml
+public final class LightDigester {
+ private LightDigester() {
+ // no-op
+ }
+
+ public static Digester newDigester(boolean xmlValidation,
+ boolean xmlNamespaceAware,
+ RuleSet rule,
+ boolean blockExternal) {
+ if (xmlValidation) {
+ throw new IllegalArgumentException("Light distribution does not support xml validation");
+ }
+ final Digester digester = new Digester();
+ digester.setNamespaceAware(xmlNamespaceAware);
+ digester.setValidating(false);
+ digester.setUseContextClassLoader(true);
+ final EntityResolver2 resolver = new LocalResolver(emptyMap(), emptyMap(), blockExternal);
+ digester.setEntityResolver(resolver);
+ if (rule != null) {
+ digester.addRuleSet(rule);
+ }
+ return digester;
+ }
+}
diff --git a/meecrowave-specs-api/pom.xml b/meecrowave-specs-api/pom.xml
index 4064d35..4717b84 100644
--- a/meecrowave-specs-api/pom.xml
+++ b/meecrowave-specs-api/pom.xml
@@ -138,6 +138,74 @@
</transformers>
</configuration>
</execution>
+ <execution>
+ <id>mw-javaee-api-light</id>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <shadedArtifactAttached>true</shadedArtifactAttached>
+ <shadedClassifierName>light</shadedClassifierName>
+ <createSourcesJar>true</createSourcesJar>
+ <useBaseVersion>true</useBaseVersion>
+ <createDependencyReducedPom>true</createDependencyReducedPom>
+ <artifactSet>
+ <excludes>
+ <exclude>*:*:sources</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>org.apache.geronimo.specs:*</artifact>
+ <excludes>
+ <exclude>META-INF/*.txt</exclude>
+ <exclude>META-INF/LICENSE</exclude>
+ <exclude>META-INF/NOTICE</exclude>
+ <exclude>org/apache/geronimo/osgi/locator/ProviderLocator.class</exclude>
+ <exclude>org/apache/geronimo/osgi/locator/Activator.class</exclude>
+ </excludes>
+ </filter>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>javax/servlet/resources/**</exclude>
+ <exclude>javax/servlet/jsp/resources/**</exclude>
+ <exclude>META-INF/LICENSE</exclude>
+ <exclude>META-INF/NOTICE</exclude>
+ <exclude>META-INF/README.txt</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <manifestEntries>
+ <Export-Package>
+ javax.xml,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.spi,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.soap,javax.xml.namespace,javax.xml.registry,javax.xml.registry.infomodel,javax.xml.rpc,javax.xml.rpc.encoding,javax.xml.rpc.handler,javax.xml.rpc.handler.soap,javax.xml.rpc.holders,javax.xml.rpc.server,javax.xml.rpc.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind [...]
+ </Export-Package>
+ <Import-Package>org.apache.geronimo.osgi.registry.api;resolution:=optional</Import-Package>
+ <Private-Package>org.apache.openejb.javaee.api.activator,org.apache.geronimo.osgi.locator
+ </Private-Package>
+ <Bundle-Activator>org.apache.openejb.javaee.api.activator.MultiActivator</Bundle-Activator>
+ <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
+ <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton=true</Bundle-SymbolicName>
+ <Bundle-Name>${project.name}</Bundle-Name>
+ </manifestEntries>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/LICENSE</resource>
+ <file>${project.basedir}/src/main/legal/META-INF/all/LICENSE</file>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/NOTICE</resource>
+ <file>${project.basedir}/src/main/legal/META-INF/all/NOTICE</file>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer">
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
</executions>
</plugin>
</plugins>