All Downloads are FREE. Search and download functionalities are using the official Maven repository.

archetype-resources.pom.xml Maven / Gradle / Ivy

Go to download

The TrueLicense Maven Archetype is a turn-key solution for designing and implementing a custom licensing schema for your software product. The archetype generates a tailor-made project which is composed of ready-made modules for vending and consuming license keys. The modules contain code templates which you can easily customize without writing code by configuring a set of properties.

There is a newer version: 2.6.6
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<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>
    <prerequisites>
        <maven>${maven.enforcer.requireMavenVersion}</maven>
    </prerequisites>

    <groupId>${groupId}</groupId>
    <artifactId>${artifactId}</artifactId>
    <version>${version}</version>
    <packaging>pom</packaging>

    <name>${project.artifactId}</name>
    <description>
        The parent POM for the license vendor and consumer applications.
    </description>
    <url>http://www.todo.com/</url>
    <licenses>
        <!-- TODO: Fill in the gaps. -->
    </licenses>
    <organization>
        <!-- TODO: Fill in the gaps. -->
    </organization>
    <developers>
        <!-- TODO: Fill in the gaps. -->
    </developers>
    <issueManagement>
        <!-- TODO: Fill in the gaps. -->
    </issueManagement>
    <scm>
        <!-- TODO: Fill in the gaps. -->
    </scm>

    <properties>
        <!-- maven-enforcer-plugin -->
        <maven.enforcer.requireMavenVersion>3.0.4</maven.enforcer.requireMavenVersion> <!-- detected by mvn versions:display-plugin-updates -->
        <maven.enforcer.requireJavaVersion>${maven.compiler.source}</maven.enforcer.requireJavaVersion>

        <netbeans.hint.jdkPlatform>JDK_1.6</netbeans.hint.jdkPlatform>

        <!-- Reinforce defaults of maven-compiler-plugin for NetBeans. -->
        <maven.compiler.showDeprecation>false</maven.compiler.showDeprecation>
        <maven.compiler.showWarnings>false</maven.compiler.showWarnings>
        <maven.compiler.debug>true</maven.compiler.debug>
        <maven.compiler.optimize>false</maven.compiler.optimize>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>
        <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding>

        <!-- maven-gpg-plugin -->
        <gpg.useagent>true</gpg.useagent>

        <!-- maven-javadoc-plugin -->
        <!--detectLinks>true</detectLinks-->
        <header>&lt;b&gt;${project.name} ${project.version}&lt;/b&gt;</header>
        <nodeprecated>true</nodeprecated>
        <notimestamp>true</notimestamp>
        <quiet>true</quiet>
        <splitindex>true</splitindex>
        <javadoc.version>false</javadoc.version>

        <!-- maven-release-plugin -->
        <preparationGoals>clean install</preparationGoals>

        <!-- maven-surefire-plugin && maven-failsafe-plugin -->
        <parallel>both</parallel>

        <truelicense.version>${truelicense-version}</truelicense.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>keymgr</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>2.2.2</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>2.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.jersey.jersey-test-framework</groupId>
                <artifactId>jersey-test-framework-http</artifactId>
                <version>1.17.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>jsr311-api</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>net.java.truelicense</groupId>
                <artifactId>truelicense-jax-rs</artifactId>
                <version>${truelicense.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.truelicense</groupId>
                <artifactId>truelicense-json</artifactId>
                <version>${truelicense.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.truelicense</groupId>
                <artifactId>truelicense-swing</artifactId>
                <version>${truelicense.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <resources>
            <resource>
                <directory>src/main/filtered</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

        <testResources>
            <testResource>
                <directory>src/test/filtered</directory>
                <filtering>true</filtering>
            </testResource>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.5</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <!-- This is required for NetBeans.
                             Use only properties which are defined in this POM! -->
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <showDeprecation>${maven.compiler.showDeprecation}</showDeprecation>
                        <showWarnings>${maven.compiler.showWarnings}</showWarnings>
                        <debug>${maven.compiler.debug}</debug>
                        <optimize>${maven.compiler.optimize}</optimize>
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.3</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.15</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9.1</version>
                    <configuration>
                        <version>${javadoc.version}</version>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>1.8.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <shadedArtifactAttached>true</shadedArtifactAttached>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/services/javax.annotation.processing.Processor</exclude>
                                </excludes>
                            </filter>
                        </filters>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
                                <addHeader>false</addHeader>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>${mainClass}</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.3</version>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.15</version>
                </plugin>
                <plugin>
                    <groupId>com.github.wvengen</groupId>
                    <artifactId>proguard-maven-plugin</artifactId>
                    <version>2.0.6</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>proguard</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <injar>${project.build.finalName}-shaded.jar</injar>
                        <outjar>${project.build.finalName}-guarded.jar</outjar>
                        <!-- Not required with maven-shade-plugin. -->
                        <includeDependency>false</includeDependency>
                        <libs combine.children="append">
                            <lib>${java.home}/lib/jce.jar</lib>
                        </libs>
                        <!-- Required options for TrueLicense 2. -->
                        <options combine.children="append">
                            <option>
                                -adaptresourcefilenames
                                -keepnames class de.schlichtherle.license.LicenseContent
                                -keepclassmembers class de.schlichtherle.license.LicenseContent {
                                    public *** get*();
                                    public void set*(***);
                                }
                                -keepnames class de.schlichtherle.xml.GenericCertificate
                                -keepclassmembers class de.schlichtherle.xml.GenericCertificate {
                                    public *** get*();
                                    public void set*(***);
                                }
                                -keepclassmembers class net.java.truelicense.core.License {
                                    public *** get*();
                                    public void set*(***);
                                }
                                -keepclassmembers class net.java.truelicense.core.auth.BasicRepository {
                                    public *** get*();
                                    public void set*(***);
                                }
                                -keep,allowobfuscation class net.java.truelicense.core.codec.X500PrincipalXmlAdapter
                                -keepattributes *Annotation*,EnclosingMethod,Signature
                            </option>

                            <!-- This is for managing V2/JSON format license keys.
                                 It configures the obfuscation for the Jackson JSON Processor, version 2.2.0
                                 If you don't need to manage V2/JSON license keys, then you can remove these lines. -->
                            <option>
                                -adaptresourcefilenames !VERSION.txt
                                -keep class * extends com.fasterxml.jackson.core.util.VersionUtil
                            </option>
                        </options>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>net.sf.proguard</groupId>
                            <artifactId>proguard-base</artifactId>
                            <version>4.9</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>net.java.truelicense</groupId>
                    <artifactId>truelicense-maven-plugin</artifactId>
                    <version>${truelicense.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>obfuscate</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <intern>false</intern>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${maven.enforcer.requireMavenVersion}</version>
                                    <message>This POM requires Maven ${maven.enforcer.requireMavenVersion}.</message>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>${maven.enforcer.requireJavaVersion}</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>non-transitive-main-source-dependencies</id>
            <activation>
                <file>
                    <exists>src/main</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.google.code.findbugs</groupId>
                    <artifactId>annotations</artifactId>
                    <optional>true</optional>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>non-transitive-test-source-dependencies</id>
            <activation>
                <file>
                    <exists>src/test</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.google.code.findbugs</groupId>
                    <artifactId>annotations</artifactId>
                    <optional>true</optional>
                </dependency>
                <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>compile-main-source</id>
            <activation>
                <file>
                    <exists>src/main</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>net.java.truelicense</groupId>
                        <artifactId>truelicense-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>integration-test</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-failsafe-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>rt-lib-for-apple-jdk-1.6</id>
            <activation>
                <file>
                    <exists>${java.home}/../Classes/classes.jar</exists>
                </file>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.github.wvengen</groupId>
                            <artifactId>proguard-maven-plugin</artifactId>
                            <configuration>
                                <libs>
                                    <lib>${java.home}/../Classes/classes.jar</lib>
                                </libs>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>rt-lib-for-any-jdk-1.7</id>
            <activation>
                <file>
                    <exists>${java.home}/lib/rt.jar</exists>
                </file>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.github.wvengen</groupId>
                            <artifactId>proguard-maven-plugin</artifactId>
                            <configuration>
                                <libs>
                                    <lib>${java.home}/lib/rt.jar</lib>
                                </libs>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>

</project>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy