Provide Maven based distribution packaging

This commit is contained in:
apenski 2017-10-26 15:20:55 +02:00
parent 188448e885
commit 08c9939c48
7 changed files with 187 additions and 99 deletions

57
dist/assembly-full.xml vendored Normal file
View file

@ -0,0 +1,57 @@
<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>full</id>
<formats>
<format>dir</format>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.parent.basedir}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>README*</include>
<include>LICENSE*</include>
<include>NOTICE*</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/xrechnung</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<scope>runtime</scope>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}-${artifact.classifier}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>${project.groupId}:validationtool:jar:*:standalone</include>
<include>${project.groupId}:validationtool:jar:*:full</include>
<include>${project.groupId}:validationtool:jar:*:sources</include>
</includes>
</dependencySet>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<scope>runtime</scope>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>${project.groupId}:validationtool</include>
</includes>
</dependencySet>
<dependencySet>
<outputDirectory>/libs</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<scope>runtime</scope>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>
<excludes>
<exclude>${project.groupId}:validationtool</exclude>
</excludes>
</dependencySet>
</dependencySets>
</assembly>

View file

@ -1,7 +1,7 @@
<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>distribution</id>
<id>standalone</id>
<formats>
<format>dir</format>
<format>zip</format>
@ -14,6 +14,7 @@
<includes>
<include>README*</include>
<include>LICENSE*</include>
<include>NOTICE*</include>
</includes>
</fileSet>
<fileSet>
@ -26,11 +27,11 @@
<outputDirectory>/</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<scope>runtime</scope>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}-${artifact.classifier}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>${project.groupId}:validationtool</include>
<include>${project.groupId}:validationtool:jar:*:standalone</include>
<include>${project.groupId}:validationtool:jar:*:sources</include>
</includes>
</dependencySet>
</dependencySets>
</assembly>

45
dist/pom.xml vendored
View file

@ -43,13 +43,27 @@
<groupId>de.kosit</groupId>
<artifactId>validationtool</artifactId>
<version>${project.version}</version>
<classifier>standalone</classifier>
</dependency>
<dependency>
<groupId>de.kosit</groupId>
<artifactId>validationtool</artifactId>
<version>${project.version}</version>
<classifier>standalone</classifier>
</dependency>
<dependency>
<groupId>de.kosit</groupId>
<artifactId>validationtool</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>de.kosit</groupId>
<artifactId>validationtool</artifactId>
<version>${project.version}</version>
<classifier>full</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
@ -82,24 +96,39 @@
<version>3.1.0</version>
<executions>
<execution>
<id>assemble</id>
<id>standalone</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
<descriptor>assembly-standalone.xml</descriptor>
</descriptors>
<attach>true</attach>
<appendAssemblyId>true</appendAssemblyId>
<outputDirectory>target/</outputDirectory>
<workDirectory>target/assembly/work</workDirectory>
<workDirectory>target/assembly/standalone</workDirectory>
</configuration>
</execution>
<execution>
<id>full</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly-full.xml</descriptor>
</descriptors>
<attach>true</attach>
<appendAssemblyId>true</appendAssemblyId>
<outputDirectory>target/</outputDirectory>
<workDirectory>target/assembly/full</workDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

17
pom.xml
View file

@ -57,18 +57,6 @@
<module>dist</module>
</modules>
<profiles>
<profile>
<id>full-distribution</id>
</profile>
<profile>
<id>standalone</id>
</profile>
</profiles>
<build>
<plugins>
<plugin>
@ -79,9 +67,10 @@
<tagNameFormat>v@{project.version}</tagNameFormat>
</configuration>
</plugin>
</plugins>
</build>
<scm>
<connection>https://github.com/itplr-kosit/validationtool.git</connection>
</scm>
</project>

View file

@ -68,6 +68,12 @@
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.slf4j}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@ -86,12 +92,7 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
@ -101,72 +102,6 @@
</dependencies>
<profiles>
<profile>
<id>full-distribution</id>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<classifier>full</classifier>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>standalone</id>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.22</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.kosit.validationtool.cmd.CommandLineApplication
</mainClass>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/assembly/standalone-assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<resources>
<resource>
@ -204,6 +139,50 @@
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>standalone</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.kosit.validationtool.cmd.CommandLineApplication
</mainClass>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/assembly/assembly-standalone.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>full</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.kosit.validationtool.cmd.CommandLineApplication
</mainClass>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/assembly/assembly-full.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- Integrate the /src/main/generated folder -->

View file

@ -0,0 +1,32 @@
<!--
~ Licensed to the Koordinierungsstelle für IT-Standards (KoSIT) under
~ one or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. KoSIT 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>
<id>full</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.directory}/classes</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
</assembly>

View file

@ -31,7 +31,8 @@
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<directory>${project.build.directory}/classes</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
</assembly>