This is an automated email from the ASF dual-hosted git repository. cdutz pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 1cbfee788a32a2ce0a4bc6ec4124eae8c6c61253 Author: Christofer Dutz <[email protected]> AuthorDate: Wed Aug 28 14:45:03 2019 +0200 - Replaced using the assembly plugin for building most of the fat-jars with the shade-plugin --- plc4j/examples/dummy-driver/pom.xml | 15 +++ plc4j/examples/hello-webapp/pom.xml | 24 +++-- plc4j/examples/pom.xml | 117 ++++++++------------- plc4j/integrations/apache-kafka/pom.xml | 10 +- .../apache-kafka/src/assembly/assembly.xml | 42 -------- plc4j/utils/interop/pom.xml | 1 - pom.xml | 16 +++ 7 files changed, 93 insertions(+), 132 deletions(-) diff --git a/plc4j/examples/dummy-driver/pom.xml b/plc4j/examples/dummy-driver/pom.xml index f1f40df..af91fdf 100644 --- a/plc4j/examples/dummy-driver/pom.xml +++ b/plc4j/examples/dummy-driver/pom.xml @@ -67,6 +67,21 @@ <build> <plugins> + <!-- Disable building the uber-jar --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> + <executions> + <execution> + <id>generate-uber-jar</id> + <phase>none</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + </plugin> <!-- This is currently a work in progress ... skip this till it reaches a slightly more mature state --> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> diff --git a/plc4j/examples/hello-webapp/pom.xml b/plc4j/examples/hello-webapp/pom.xml index ed2273f..4293ccd 100644 --- a/plc4j/examples/hello-webapp/pom.xml +++ b/plc4j/examples/hello-webapp/pom.xml @@ -43,6 +43,23 @@ </modules> <build> + <plugins> + <!-- Disable building the uber-jar --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> + <executions> + <execution> + <id>generate-uber-jar</id> + <phase>none</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> <pluginManagement> <plugins> <plugin> @@ -52,13 +69,6 @@ <skip>true</skip> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <skipAssembly>true</skipAssembly> - </configuration> - </plugin> </plugins> </pluginManagement> </build> diff --git a/plc4j/examples/pom.xml b/plc4j/examples/pom.xml index 36340f9..982e01c 100644 --- a/plc4j/examples/pom.xml +++ b/plc4j/examples/pom.xml @@ -34,6 +34,10 @@ <name>PLC4J: Examples</name> <description>Parent of all java based application example modules.</description> + <properties> + <app.main.class>override-this-property-in-application-pom</app.main.class> + </properties> + <modules> <module>dummy-driver</module> <module>hello-cloud-azure</module> @@ -47,23 +51,6 @@ <module>hello-world-plc4x</module> </modules> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>${logback.version}</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>${logback.version}</version> - <scope>compile</scope> - </dependency> - </dependencies> - </dependencyManagement> - <build> <plugins> <!-- This is just examples including these checks here requires an insane amount of housekeeping. --> @@ -74,14 +61,30 @@ <skip>true</skip> </configuration> </plugin> + <!-- Build a fat jar containing all dependencies --> <plugin> - <groupId>org.owasp</groupId> - <artifactId>dependency-check-maven</artifactId> - <configuration> - <skip>true</skip> - </configuration> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> + <executions> + <execution> + <id>generate-uber-jar</id> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <transformers combine.children="append"> + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>${app.main.class}</mainClass> + </transformer> + </transformers> + </configuration> + </execution> + </executions> </plugin> </plugins> + <pluginManagement> <plugins> <!-- No need to deploy examples in a maven repo --> @@ -96,59 +99,21 @@ </pluginManagement> </build> - <profiles> - <profile> - <id>build-executable-jars</id> - <properties> - <app.main.class>override-this-property-in-application-pom</app.main.class> - </properties> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>3.1.0</version> - <executions> - <execution> - <id>create-no-deps-jar</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <finalName>${project.artifactId}-${project.version}</finalName> - <archive> - <manifest> - <mainClass>${app.main.class}</mainClass> - </manifest> - </archive> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - <!-- - We don't want to build an assembly of this module, so we make sure "skipAssembly" is - set to "true", but this configuration is not inherited. - --> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>3.1.0</version> - <inherited>false</inherited> - <configuration> - <skipAssembly>true</skipAssembly> - </configuration> - </plugin> - </plugins> - </pluginManagement> - </build> - </profile> - </profiles> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>${logback.version}</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${logback.version}</version> + <scope>compile</scope> + </dependency> + </dependencies> + </dependencyManagement> </project> \ No newline at end of file diff --git a/plc4j/integrations/apache-kafka/pom.xml b/plc4j/integrations/apache-kafka/pom.xml index 71f4b08..58fbbb8 100644 --- a/plc4j/integrations/apache-kafka/pom.xml +++ b/plc4j/integrations/apache-kafka/pom.xml @@ -38,19 +38,17 @@ <!-- Build a fat jar so the user only needs to drop in this one jar --> <build> <plugins> + <!-- Build a fat jar containing all dependencies --> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> <executions> <execution> - <id>assemble-all</id> <phase>package</phase> <goals> - <goal>single</goal> + <goal>shade</goal> </goals> - <configuration> - <descriptors>src/assembly/assembly.xml</descriptors> - </configuration> </execution> </executions> </plugin> diff --git a/plc4j/integrations/apache-kafka/src/assembly/assembly.xml b/plc4j/integrations/apache-kafka/src/assembly/assembly.xml deleted file mode 100644 index a1a8793..0000000 --- a/plc4j/integrations/apache-kafka/src/assembly/assembly.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?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. - ---> -<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> - <id>jar-with-dependencies</id> - <formats> - <format>jar</format> - </formats> - <includeBaseDirectory>false</includeBaseDirectory> - <dependencySets> - <dependencySet> - <outputDirectory>/</outputDirectory> - <useProjectArtifact>true</useProjectArtifact> - <unpack>true</unpack> - <scope>runtime</scope> - </dependencySet> - </dependencySets> - <containerDescriptorHandlers> - <!-- Make sure the service descriptors are merged (Otherwise only one driver is found) --> - <containerDescriptorHandler> - <handlerName>metaInf-services</handlerName> - </containerDescriptorHandler> - </containerDescriptorHandlers> -</assembly> \ No newline at end of file diff --git a/plc4j/utils/interop/pom.xml b/plc4j/utils/interop/pom.xml index 2482eac..56e0d02 100644 --- a/plc4j/utils/interop/pom.xml +++ b/plc4j/utils/interop/pom.xml @@ -130,7 +130,6 @@ <mainClass>org.apache.plc4x.interop.impl.Server</mainClass> </manifest> </archive> - </configuration> <executions> <execution> diff --git a/pom.xml b/pom.xml index 7b46a4a..e48c26c 100644 --- a/pom.xml +++ b/pom.xml @@ -833,6 +833,7 @@ </execution> </executions> <configuration> + <useMavenDefaultExcludes>true</useMavenDefaultExcludes> <excludes> <!-- Git related files --> <exclude>**/.git/**</exclude> @@ -848,6 +849,7 @@ <!-- Maven related files --> <exclude>**/target/**</exclude> + <exclude>target/**</exclude> <!-- Eclipse related files --> <exclude>**/.project</exclude> @@ -1105,6 +1107,7 @@ <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> + <version>0.13</version> <configuration> <!-- Make rat output the files with missing licensed directly into the @@ -1211,6 +1214,19 @@ </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> + <configuration> + <outputFile>${project.build.directory}/${project.artifactId}-${project.version}-uber-jar.${project.packaging}</outputFile> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> + </transformers> + <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation> + </configuration> + </plugin> + + <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.6.0.1398</version>
