cpsign
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.arosbio</groupId> <artifactId>cpsign</artifactId> <version>2.0.0-rc8</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (C) Aros Bio AB. CPSign is an Open Source Software that is dual licensed to allow you to choose a license that best suits your requirements: 1) GPLv3 (GNU General Public License Version 3) with Additional Terms, including an attribution clause as well as a limitation to use the software for commercial purposes. 2) CPSign Proprietary License that allows you to use CPSign for commercial activities, such as in a revenue-generating operation or environment, or integrate CPSign in your proprietary software without worrying about disclosing the source code of your proprietary software, which is required if you choose to use the software under GPLv3 license. See arosbio.com/cpsign/commercial-license for details. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.arosbio</groupId> <artifactId>parent</artifactId> <version>2.0.0-rc8</version> </parent> <artifactId>cpsign</artifactId> <name>${project.groupId}:${project.artifactId}</name> <description>CPSign main project, including chemistry and the CLI application</description> <packaging>jar</packaging> <properties> <!-- Here setting the names during the package phase - as we're both building a thin and fat jar --> <thin.final.name>${project.artifactId}-${project.version}.jar</thin.final.name> <!-- The name of the final 'fat jar' (excluding .jar as the shade plugin adds it by default) --> <fat.final.name>${project.artifactId}-${project.version}-fatjar</fat.final.name> <main.class>com.arosbio.cpsign.app.CPSignApp</main.class> <parent.basedir>${project.basedir}/..</parent.basedir> </properties> <profiles> <!-- Building the thin jar (maven central repo) --> <profile> <id>thinjar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${jar.plugin.version}</version> <configuration> <archive> <manifest> <mainClass>${main.class}</mainClass> </manifest> <manifestEntries> <Implementation-Title>Aros Bio ${project.artifactId}</Implementation-Title> <Implementation-Version>${project.version}</Implementation-Version> <Implementation-Vendor-Id>${mf.impl.vendor}</Implementation-Vendor-Id> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build> </profile> <!-- Building the fat jar (GitHub release) --> <profile> <id>fatjar</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${shade.plugin.version}</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <finalName>${fat.final.name}</finalName> <createDependencyReducedPom>false</createDependencyReducedPom> <!-- FILTERS --> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>header.txt</exclude> <exclude>jena-*</exclude> <exclude>log4j.properties</exclude> </excludes> </filter> </filters> <transformers> <!-- Handles the external third party licenses --> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <manifestEntries> <Main-Class>${main.class}</Main-Class> <Implementation-Title>Aros Bio ${project.artifactId}</Implementation-Title> <Implementation-Version>${project.version}</Implementation-Version> <Implementation-Vendor-Id>${mf.impl.vendor}</Implementation-Vendor-Id> <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK> <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK> </manifestEntries> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer" /> <!-- Manually add the CPSign license file --> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/LICENSE.txt</resource> <file>${parent.basedir}/license/META-INF/LICENSE.txt</file> </transformer> </transformers> </configuration> </execution> </executions> </plugin> <!-- now make the jar chmod +x style executable --> <plugin> <groupId>org.skife.maven</groupId> <artifactId>really-executable-jar-maven-plugin</artifactId> <version>2.1.1</version> <configuration> <!-- apparently need to add the build directory for this plugin to find it --> <inputFile>${project.build.directory}/${fat.final.name}.jar</inputFile> <!-- value of flags will be interpolated into the java invocation --> <!-- as "java $flags -jar ..." --> <!-- <flags>-Xmx1G</flags> --> <!-- (optional) name for a file that will define what script gets --> <!-- embedded into the executable jar. This can be used to --> <!-- override the default startup script which is --> <!-- `#!/bin/sh --> <!-- --> <!-- exec java " + flags + " -jar "$0" "$@" --> <!-- <scriptFile>src/packaging/someScript.extension</scriptFile> --> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>really-executable-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> <resource> <directory>${parent.basedir}/license</directory> <filtering>false</filtering> </resource> </resources> <plugins> <!-- For testing --> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.plugin.version}</version> <executions> <!-- CLI TESTS --> <execution> <id>cli</id> <goals> <goal>test</goal> </goals> <configuration> <groups>${test.pkg}.CLITest</groups> <excludedGroups>${test.pkg}.NonSuiteTest,${test.pkg}.UnitTest,${test.pkg}.PerformanceTest</excludedGroups> <skip>${maven.test.skip}</skip> </configuration> </execution> </executions> <!-- General config --> <configuration> <skip>true</skip> <failIfNoTests>false</failIfNoTests> <reuseForks>false</reuseForks> <forkCount>1</forkCount> <argLine>-Xmx2048m</argLine> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.arosbio</groupId> <artifactId>cpsign-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>me.tongfei</groupId> <artifactId>progressbar</artifactId> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> </dependency> <dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> </dependency> <dependency> <groupId>com.arosbio</groupId> <artifactId>test-utils</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>com.arosbio</groupId> <artifactId>confai</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>com.arosbio</groupId> <artifactId>cpsign-api</artifactId> <version>${project.version}</version> <classifier>tests</classifier> <type>test-jar</type> <scope>test</scope> </dependency> </dependencies> </project>