Skip to content

Content of file superpom-2.16.pom


<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>it.tidalwave.thesefoolishthings</groupId>
    <artifactId>superpom</artifactId>
    <packaging>pom</packaging>
    <version>2.16</version>
    <name>TheseFoolishThings - SuperPOM</name>
    <url>${tft.project.url}</url>
    <description>${tft.project.description}</description>
    <inceptionYear>2010</inceptionYear>

    <organization>
        <name>Tidalwave s.a.s. (http://tidalwave.it)</name>
        <url>http://tidalwave.it</url>
    </organization>

    <developers>
        <developer>
            <name>Fabrizio Giudici</name>
            <email>fabrizio.giudici@tidalwave.it</email>
            <url>http://fabriziogiudici.it</url>
            <organization>Tidalwave s.a.s.</organization>
            <organizationUrl>http://tidalwave.it</organizationUrl>
            <roles>
                <role>manager</role>
                <role>developer</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>Apache-2.0</name>
            <url>http://www.opensource.org/licenses/apache2.0.php</url>
            <comments>Apache License 2.0</comments>
        </license>
    </licenses>

    <properties>
        <tft.project.url>http://thesefoolishthings.kenai.com</tft.project.url>
        <tft.project.description>TheseFoolishThings Super POM</tft.project.description>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <bundle.namespace>${project.groupId}.${project.artifactId}</bundle.namespace>
        <staging.mvn.repo.url>file://${project.build.directory}/target-maven-repo</staging.mvn.repo.url>

        <netbeans.checkstyle.format>true</netbeans.checkstyle.format>

        <!-- Deprecated properties replaced by tft.* ones -->
        <testFailureIgnore>false</testFailureIgnore> <!-- backward compatibility, to be dropped -->
        <stableAPI>false</stableAPI>
        <stableAPIVersion>(,${project.version})</stableAPIVersion>
        <disableJavaDocs>false</disableJavaDocs>
        <disableDeploy>false</disableDeploy>
        <skipTests>false</skipTests>
        <scm.repo.effective.url>${scm.repo.url}</scm.repo.effective.url>
        <release.profiles>release</release.profiles>

        <tft.defaultGoal>clean install</tft.defaultGoal>
        <tft.profile.metrics.defaultGoal>install findbugs:findbugs pmd:cpd pmd:pmd checkstyle:checkstyle clirr:clirr javancss:report dependency:analyze</tft.profile.metrics.defaultGoal>
            
        <tft.descriptionStamp>.description</tft.descriptionStamp>
        <tft.license.name>tidalwave_asf2</tft.license.name>
        <tft.license.template>/it/tidalwave/license/tidalwave-header-description.ftl</tft.license.template>
        <tft.maven.requiredVersion>3.0.4</tft.maven.requiredVersion>
        <tft.maven.requiredJdk>[1.7.0,)</tft.maven.requiredJdk>
        <tft.superpom.config.version>1.2</tft.superpom.config.version>
        <tft.mainClass>please-set-the-tft.mainClass-property-to-specify-the-main-class</tft.mainClass>
        <tft.javac.source>1.7</tft.javac.source>
        <tft.javac.target>1.7</tft.javac.target>
        <tft.javac.xlint>-Xlint:all</tft.javac.xlint>
        <tft.javac.debug>true</tft.javac.debug>
        <tft.javac.optimize>true</tft.javac.optimize>
        <tft.javac.showDeprecation>true</tft.javac.showDeprecation>
        <tft.javac.showWarnings>true</tft.javac.showWarnings>
        <tft.javac.fork>true</tft.javac.fork>
        <tft.project.build.unwoven-classes.directory>${project.build.directory}/unwoven-classes</tft.project.build.unwoven-classes.directory>
        <tft.project.build.unwoven-test-classes.directory>${project.build.directory}/unwoven-test-classes</tft.project.build.unwoven-test-classes.directory>
        <tft.stableAPI>${stableAPI}</tft.stableAPI>
        <tft.stableAPIVersion>${stableAPIVersion}</tft.stableAPIVersion>
        <tft.disableJavaDocs>${disableJavaDocs}</tft.disableJavaDocs>
        <tft.disableDeploy>${disableDeploy}</tft.disableDeploy>
        <tft.javadoc.doclint />
        <tft.release.localCheckout>true</tft.release.localCheckout>
        <tft.release.preparationGoals>clean install verify</tft.release.preparationGoals>
        <tft.release.completionGoals />
        <tft.release.goals>clean install source:test-jar javadoc:javadoc assembly:assembly deploy</tft.release.goals>
        <tft.release.sign-artifacts.skip>false</tft.release.sign-artifacts.skip>

        <tft.appbundler.version>1.0-patched</tft.appbundler.version>
        <tft.capecanaveral.version>2.0-ALPHA-1</tft.capecanaveral.version>
        <tft.lombok.version>1.12.6</tft.lombok.version>
        <tft.testng.version>6.8.8</tft.testng.version>
        <tft.junit.version>4.7</tft.junit.version>
        <tft.mockito.version>1.9.5</tft.mockito.version>
        <tft.hamcrest-matchers.version>1.3</tft.hamcrest-matchers.version>
        <tft.test.skip>${skipTests}</tft.test.skip>
        <tft.test.maxMemory>768M</tft.test.maxMemory>
        <tft.test.reportsDirectory>${project.build.directory}/surefire-reports/plain</tft.test.reportsDirectory>
        <tft.test.failureIgnore>${testFailureIgnore}</tft.test.failureIgnore>
        <tft.test.vmOptions />

        <tft.embedded-jdk-groupId>it.tidalwave.jdk</tft.embedded-jdk-groupId>
        <tft.embedded-jdk-artifactId>it-tidalwave-openjdk7</tft.embedded-jdk-artifactId>
        <tft.embedded-jdk-name>openjdk1.7.0u7</tft.embedded-jdk-name>
        <tft.embedded-jdk-version>1.7.0_07-1</tft.embedded-jdk-version>
        <tft.embedded-jdk-classifier>macosx-intel</tft.embedded-jdk-classifier>

        <tft.netbeans.main>it.tidalwave.netbeans.boot.NetBeansLauncher</tft.netbeans.main>
        <tft.netbeans.useOSGiDependencies>false</tft.netbeans.useOSGiDependencies>

        <tft.aspectjrt.version>1.8.1</tft.aspectjrt.version>        
        <tft.aspectj.ajc.verbose>false</tft.aspectj.ajc.verbose>

        <tft.jetty.port>8080</tft.jetty.port>
        <tft.jetty.stopPort>9966</tft.jetty.stopPort>
        <tft.jetty.scanIntervalSeconds>4</tft.jetty.scanIntervalSeconds>
        <tft.jetty.stopKey>${project.groupId}:${project.artifactId}</tft.jetty.stopKey>

        <tft.gwt.version>2.1.1</tft.gwt.version>

        <tft.scm>hg</tft.scm>

        <!-- tft.test.listeners></tft.test.listeners -->
        <tft.javadoc.excludePackageNames>*.impl:*.impl.*</tft.javadoc.excludePackageNames>
        <tft.javadoc.doclet>org.umlgraph.doclet.UmlGraphDoc</tft.javadoc.doclet>
        <tft.clirr.skip>false</tft.clirr.skip>
        <tft.buildNumber.getRevisionOnlyOnce>false</tft.buildNumber.getRevisionOnlyOnce>
        <tft.UmlGraphDoc.version>5.1</tft.UmlGraphDoc.version> <!-- the latest available at the Maven Central Repo -->
        <tft.UmlGraphDoc.additionalParam>-views -attributes -operations -types -postfixpackage -nodefontpackagesize 6 -nodefontclasssize 8 -nodefontsize 7 -edgefontsize 7 -nodesep 0.05 -ranksep 0.1 -visibility -inferdep -inferrel -inferdepinpackage -hide java.*|javax.*</tft.UmlGraphDoc.additionalParam>

        <!--==== Plugin Versions ==================================================================================-->

        <tft.maven-android-plugin.version>4.0.0</tft.maven-android-plugin.version>
        <tft.maven-antrun-plugin.version>1.7</tft.maven-antrun-plugin.version>
        <tft.maven-archetype-plugin.version>2.2</tft.maven-archetype-plugin.version>
        <tft.maven-assembly-plugin.version>2.4</tft.maven-assembly-plugin.version>
        <tft.maven-bundle-plugin.version>2.0.1</tft.maven-bundle-plugin.version> <!-- TODO 2.3.7 -->
        <tft.maven-checkstyle-plugin.version>2.10</tft.maven-checkstyle-plugin.version>
        <tft.maven-clean-plugin.version>2.5</tft.maven-clean-plugin.version>
        <tft.maven-compiler-plugin.version>3.1</tft.maven-compiler-plugin.version>
        <tft.maven-dependency-plugin.version>2.8</tft.maven-dependency-plugin.version>
        <tft.maven-deploy-plugin.version>2.7</tft.maven-deploy-plugin.version>
        <tft.maven-doap-plugin.version>1.1</tft.maven-doap-plugin.version>
        <tft.maven-enforcer-plugin.version>1.3.1</tft.maven-enforcer-plugin.version>
        <tft.maven-gpg-plugin.version>1.4</tft.maven-gpg-plugin.version>
        <tft.maven-graph-plugin.version>1.15</tft.maven-graph-plugin.version>
        <tft.maven-install-plugin.version>2.4</tft.maven-install-plugin.version>
        <tft.maven-jar-plugin.version>2.4</tft.maven-jar-plugin.version>
        <tft.maven-jarsigner-plugin.version>1.2</tft.maven-jarsigner-plugin.version>
        <tft.maven-javadoc-plugin.version>2.9.1</tft.maven-javadoc-plugin.version>
        <tft.maven-jetty-plugin.version>6.1.24</tft.maven-jetty-plugin.version> <!-- FIXME: 7.0.0.pre5 breaks current projects -->
        <tft.maven-license-plugin.version>1.9.0</tft.maven-license-plugin.version>
        <tft.maven-pmd-plugin.version>3.0.1</tft.maven-pmd-plugin.version>
        <tft.maven-release-plugin.version>2.5.1</tft.maven-release-plugin.version>
        <tft.maven-replacer-plugin.version>1.3.9</tft.maven-replacer-plugin.version> <!-- TODO: 1.5.2 -->
        <tft.maven-resources-plugin.version>2.5</tft.maven-resources-plugin.version> <!-- TODO 2.6 -->
        <tft.maven-scm-plugin.version>1.9</tft.maven-scm-plugin.version>
        <tft.maven-shade-plugin.version>2.0</tft.maven-shade-plugin.version>
        <tft.maven-site-plugin.version>3.3</tft.maven-site-plugin.version>
        <tft.maven-source-plugin.version>2.2.1</tft.maven-source-plugin.version>
        <tft.maven-surefire-plugin.version>2.16</tft.maven-surefire-plugin.version>
        <tft.maven-war-plugin.version>2.3</tft.maven-war-plugin.version>

        <tft.aspectj-maven-plugin.version>1.7</tft.aspectj-maven-plugin.version>
        <tft.build-helper-maven-plugin.version>1.8</tft.build-helper-maven-plugin.version>
        <tft.buildnumber-maven-plugin.version>1.3</tft.buildnumber-maven-plugin.version>
        <tft.clirr-maven-plugin.version>2.6.1</tft.clirr-maven-plugin.version>
        <tft.cobertura-maven-plugin.version>2.5.1</tft.cobertura-maven-plugin.version> <!-- TODO 2.5.2 -->
2.5.2 -->
<tft.exec-maven-plugin.version>1.1.1</tft.exec-maven-plugin.version> <!-- TODO 1.2.1, but version 1.2 breaks the generation of .description --> <tft.findbugs-maven-plugin.version>3.0.0</tft.findbugs-maven-plugin.version> <tft.gmaven-plugin.version>1.0</tft.gmaven-plugin.version> <!-- TODO 1.4 --> <tft.gwt-maven-plugin.version>2.1.0-1</tft.gwt-maven-plugin.version> <tft.jacoco-maven-plugin.version>0.7.2.201409121644</tft.jacoco-maven-plugin.version> <tft.javancss-maven-plugin.version>2.1</tft.javancss-maven-plugin.version> <tft.jaxb2-maven-plugin.version>1.3</tft.jaxb2-maven-plugin.version> <!-- TODO 1.5 --> <tft.jaxws-maven-plugin.version>2.1</tft.jaxws-maven-plugin.version> <!-- TODO 2.2.1 --> <tft.license-maven-plugin.version>1.4</tft.license-maven-plugin.version> <tft.m2e-lifecycle-mapping.version>1.0.0</tft.m2e-lifecycle-mapping.version> <tft.nbm-maven-plugin.version>3.13.2</tft.nbm-maven-plugin.version> <tft.nexus-maven-plugin.version>1.9.2.4</tft.nexus-maven-plugin.version> <!-- TODO: plugin changed name --> <tft.tomcat-maven-plugin.version>1.1</tft.tomcat-maven-plugin.version> <!-- TODO 2.1 --> <tft.vaadin-maven-plugin.version>1.0.2</tft.vaadin-maven-plugin.version> <tft.versions-maven-plugin.version>2.0</tft.versions-maven-plugin.version> <tft.wagon-maven-plugin.version>1.0-beta-4</tft.wagon-maven-plugin.version> <tft.webdav-jackrabbit.version>2.4</tft.webdav-jackrabbit.version> <tft.xml-maven-plugin.version>1.0</tft.xml-maven-plugin.version> <tft.archetype-packaging.version>${tft.maven-archetype-plugin.version}</tft.archetype-packaging.version> </properties> <scm> <connection>scm:${tft.scm}:${scm.repo.readonly.url}</connection> <developerConnection>scm:${tft.scm}:${scm.repo.effective.url}</developerConnection> <url>${scm.repo.browse.url}</url> <tag>2.16</tag> </scm> <prerequisites> <maven>${tft.maven.requiredVersion}</maven> </prerequisites> <repositories> <repository> <id>snapshots-oss.sonatype.org</id> <name>Sonatype Snapshots Repository</name> <url>http://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <distributionManagement> <repository> <id>staging-oss.sonatype.org</id> <name>Sonatype Release Repository</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url> </repository> <snapshotRepository> <id>snapshots-oss.sonatype.org</id> <name>Sonatype Snapshot Repository</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <dependencyManagement> <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${tft.lombok.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${tft.aspectjrt.version}</version> </dependency> <dependency> <groupId>it.tidalwave.netbeans.boot</groupId> <artifactId>base-launcher</artifactId> <version>${tft.capecanaveral.version}</version> </dependency> <!--==== Testing ======================================================================================--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${tft.junit.version}</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>${tft.testng.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${tft.mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>${tft.mockito.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>${tft.hamcrest-matchers.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>${tft.hamcrest-matchers.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>${tft.hamcrest-matchers.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <defaultGoal>${tft.defaultGoal}</defaultGoal> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav-jackrabbit</artifactId> <version>${tft.webdav-jackrabbit.version}</version> </extension> </extensions> <!-- For changeSet to be properly evaluated by assembly:assembly, use also the validate goal --> <finalName>${project.artifactId}-${project.version}.${buildNumber}</finalName> <!-- *********************************************************************************************************** * * We want reproducible builds, so all Maven plugins have explicit version numbers. * ************************************************************************************************************ --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${tft.maven-compiler-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${tft.maven-javadoc-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${tft.maven-assembly-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${tft.maven-surefire-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${tft.maven-jar-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${tft.maven-pmd-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${tft.maven-checkstyle-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${tft.maven-antrun-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${tft.maven-deploy-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${tft.maven-release-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${tft.maven-gpg-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${tft.maven-shade-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${tft.maven-clean-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${tft.maven-install-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${tft.maven-resources-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${tft.maven-site-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${tft.maven-dependency-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-doap-plugin</artifactId> <version>${tft.maven-doap-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jarsigner-plugin</artifactId> <version>${tft.maven-jarsigner-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${tft.maven-source-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>${tft.maven-scm-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${tft.maven-war-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>${tft.aspectj-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>${tft.buildnumber-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${tft.exec-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <version>${tft.nbm-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>${tft.cobertura-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>${tft.findbugs-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${tft.build-helper-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>clirr-maven-plugin</artifactId> <version>${tft.clirr-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>${tft.gmaven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>${tft.gwt-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>javancss-maven-plugin</artifactId> <version>${tft.javancss-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <version>${tft.jaxb2-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>${tft.license-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>${tft.tomcat-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${tft.versions-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>${tft.wagon-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>${tft.xml-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>${tft.maven-bundle-plugin.version}</version> </plugin> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>maven-android-plugin</artifactId> <version>${tft.maven-android-plugin.version}</version> </plugin> <plugin> <groupId>org.fusesource.mvnplugins</groupId> <artifactId>maven-graph-plugin</artifactId> <version>${tft.maven-graph-plugin.version}</version> </plugin> <plugin> <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>maven-replacer-plugin</artifactId> <version>${tft.maven-replacer-plugin.version}</version> </plugin> <plugin> <groupId>com.mycila.maven-license-plugin</groupId> <artifactId>maven-license-plugin</artifactId> <version>${tft.maven-license-plugin.version}</version> </plugin> <plugin> <groupId>com.vaadin</groupId> <artifactId>vaadin-maven-plugin</artifactId> <version>${tft.vaadin-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>${tft.maven-jetty-plugin.version}</version> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-maven-plugin</artifactId> <version>${tft.nexus-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.jvnet.jax-ws-commons</groupId> <artifactId>jaxws-maven-plugin</artifactId> <version>${tft.jaxws-maven-plugin.version}</version> </plugin> <!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. Note that the plugin doesn't actually exist, it's just a placeholder used to store some m2e configuration. --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>${tft.m2e-lifecycle-mapping.version}</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <versionRange>${tft.aspectj-maven-plugin.version}</versionRange> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <versionRange>${tft.maven-enforcer-plugin.version}</versionRange> <goals> <goal>enforce</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin </artifactId> <versionRange>${tft.jaxb2-maven-plugin.version}</versionRange> <goals> <goal>xjc</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <versionRange>${tft.xml-maven-plugin.version}</versionRange> <goals> <goal>transform</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>${tft.maven-dependency-plugin.version}</versionRange> <goals> <goal>unpack</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <versionRange>${tft.nbm-maven-plugin.version}</versionRange> <goals> <goal>manifest</goal> </goals> </pluginExecutionFilter> <action> <execute> <runOnIncremental>true</runOnIncremental> </execute> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <!-- *********************************************************************************************************** * * * ************************************************************************************************************ --> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <getRevisionOnlyOnce>${tft.buildNumber.getRevisionOnlyOnce}</getRevisionOnlyOnce> <revisionOnScmFailure>unknown</revisionOnScmFailure> <shortRevisionLength>12</shortRevisionLength> </configuration> </plugin> <!-- Compiler --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <debug>${tft.javac.debug}</debug> <optimize>${tft.javac.optimize}</optimize> <source>${tft.javac.source}</source> <target>${tft.javac.target}</target> <showDeprecation>${tft.javac.showDeprecation}</showDeprecation> <showWarnings>${tft.javac.showWarnings}</showWarnings> <fork>${tft.javac.fork}</fork> <compilerArgument> ${tft.javac.xlint} </compilerArgument> </configuration> </plugin> <!-- Assembler to produce final artifacts. --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <tarLongFileMode>gnu</tarLongFileMode> <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> <!-- References to assembly descriptors are in profiles --> </configuration> </plugin> <!-- Executes tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>${tft.test.skip}</skipTests> <reportsDirectory>${tft.test.reportsDirectory}</reportsDirectory> <includes> <include>**/*Test.java</include> </includes> <!-- systemProperties> <property> </property> </systemProperties --> <argLine>-Xmx${tft.test.maxMemory} ${tft.test.vmOptions}</argLine> <testFailureIgnore>${tft.test.failureIgnore}</testFailureIgnore> <runOrder>alphabetical</runOrder> <!-- properties> FIXME: doesn't work if left empty -> crashes surefire <property> <name>listener</name> <value>${tft.test.listeners}</value> </property> </properties --> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <configuration> <mainClass>${tft.mainClass}</mainClass> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <useDefaultManifestFile>true</useDefaultManifestFile> <!-- required since nbm-plugin 3.0--> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> <manifestEntries> <Implementation-Title>${project.name}</Implementation-Title> <Implementation-Version>${project.version}.${buildNumber}</Implementation-Version> </manifestEntries> </archive> </configuration> <executions> <execution> <id>package-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> <execution> <id>package-test-jar</id> <phase>package</phase> <goals> <goal>test-jar</goal> </goals> <configuration> <skipIfEmpty>true</skipIfEmpty> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>${tft.disableDeploy}</skip> </configuration> </plugin> <!-- CheckStyle (not in a profile, to be used by NetBeans editor) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${tft.maven-checkstyle-plugin.version}</version> <dependencies> <dependency> <groupId>it.tidalwave.thesefoolishthings</groupId> <artifactId>superpom-config</artifactId> <version>${tft.superpom.config.version}</version> </dependency> </dependencies> <configuration> <configLocation>it/tidalwave/checkstyle/checkstyle.xml</configLocation> </configuration> </plugin> <!-- Configures the release process, calling the assembly to include extra artifacts in deploy --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <configuration> <localCheckout>${tft.release.localCheckout}</localCheckout> <pushChanges>false</pushChanges> <preparationGoals>${tft.release.preparationGoals}</preparationGoals> <completionGoals>${tft.release.completionGoals}</completionGoals> <goals>${tft.release.goals}</goals> <arguments>-P${release.profiles} -DaltDeploymentRepository="${altDeploymentRepository}" -DdryRun=${dryRun}</arguments> <tagNameFormat>@{project.version}</tagNameFormat> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <descriptor>src/main/nbm/module.xml</descriptor> <brandingToken>${netbeans.brandingToken}</brandingToken> <cluster>${netbeans.cluster}</cluster> <useOSGiDependencies>${tft.netbeans.useOSGiDependencies}</useOSGiDependencies> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${tft.maven-enforcer-plugin.version}</version> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>${tft.maven.requiredVersion}</version> </requireMavenVersion> <requireJavaVersion> <message>To build this project JDK ${tft.maven.requiredJdk} is required. Please install it and properly set JAVA_HOME.</message> <version>${tft.maven.requiredJdk}</version> </requireJavaVersion> <!-- Note that this rule is currently not working with Maven 3.x --> <requirePluginVersions> <message>Best Practice is to always define plugin versions!</message> <banLatest>true</banLatest> <banRelease>true</banRelease> <banSnapshots>true</banSnapshots> <phases>clean,deploy,site</phases> </requirePluginVersions> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>clirr-maven-plugin</artifactId> <!-- Configuration must be replicated in reporting section --> <configuration> <skip>${tft.clirr.skip}</skip> <failOnError>${tft.stableAPI}</failOnError> <comparisonVersion>${tft.stableAPIVersion}</comparisonVersion> <logResults>true</logResults> <minSeverity>info</minSeverity> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <configuration> <inputEncoding>UTF-8</inputEncoding> <outputEncoding>UTF-8</outputEncoding> </configuration> <!-- Works around http://jira.codehaus.org/browse/MSITE-459 TODO: issue is marked fixed, try to remove it --> <dependencies> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-xhtml</artifactId> <version>1.1.2</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <canUpdateCopyright>true</canUpdateCopyright> <canUpdateDescription>true</canUpdateDescription> <licenseName>${tft.license.name}</licenseName> <licenseResolver>classpath://it/tidalwave/license</licenseResolver> <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage> <verbose>false</verbose> <addSvnKeyWords>true</addSvnKeyWords> <descriptionTemplate>${tft.license.template}</descriptionTemplate> <excludes> <exclude>LICENSE.txt</exclude> <exclude>**/*.form</exclude> <exclude>**/*.mf</exclude> <exclude>**/.description</exclude> <exclude>.hgtags</exclude> <exclude>.hgignore</exclude> <exclude>**/.classpath</exclude> <exclude>**/.settings</exclude> <exclude>**/archetypes/**</exclude> <exclude>**/*-profile</exclude> </excludes> <roots> <root>src</root> </roots> </configuration> <dependencies> <dependency> <groupId>it.tidalwave.thesefoolishthings</groupId> <artifactId>superpom-config</artifactId> <version>${tft.superpom.config.version}</version> </dependency> </dependencies> </plugin> <plugin> <!-- DEPRECATED in favour of license-maven-plugin --> <groupId>com.mycila.maven-license-plugin</groupId> <artifactId>maven-license-plugin</artifactId> <configuration> <header>${basedir}/src/header/header.txt</header> <strictCheck>true</strictCheck> <failIfMissing>true</failIfMissing> <aggregate>true</aggregate> <properties> <description>${project.description}</description> <url>${project.url}</url> <inceptionYear>${project.inceptionYear}</inceptionYear> <scm>${scm.repo.readonly.url}</scm> </properties> <!-- includes> <include>**/pom.xml</include> </includes --> <excludes> <exclude>**/LICENSE.txt</exclude> <exclude>.hgignore</exclude> <exclude>.hgtags</exclude> <exclude>**/*.description</exclude> <exclude>**/*.mf</exclude> <exclude>**/*.form</exclude> <exclude>**/META-INF/**/*.*</exclude> <exclude>**/*-profile</exclude> </excludes> <encoding>UTF-8</encoding> <headerDefinitions> <headerDefinition>${project.basedir}/src/header/javadoc.xml</headerDefinition> <headerDefinition>${project.basedir}/src/header/xml.xml</headerDefinition> <headerDefinition>${project.basedir}/src/header/script.xml</headerDefinition> </headerDefinitions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <!-- Configuration must be replicated in reporting section --> <configuration> <tags> <tag> <name>stable</name> <placement>t</placement> <head>Status: stable API</head> </tag> <tag> <name>it.tidalwave.javadoc.stable</name> <placement>t</placement> <head>Status: stable API</head> </tag> <tag> <name>draft</name> <placement>t</placement> <head>Status: draft API</head> </tag> <tag> <name>it.tidalwave.javadoc.draft</name> <placement>t</placement> <head>Status: draft API</head> </tag> <tag> <name>experimental</name> <placement>t</placement> <head>Status: experimental API</head> </tag> <tag> <name>it.tidalwave.javadoc.experimental</name> <placement>t</placement> <head>Status: experimental API</head> </tag> </tags> <docfilessubdirs>true</docfilessubdirs> <excludePackageNames>${tft.javadoc.excludePackageNames}</excludePackageNames> <doclet>${tft.javadoc.doclet}</doclet> <docletArtifact> <groupId>org.umlgraph</groupId> <artifactId>doclet</artifactId> <version>${tft.UmlGraphDoc.version}</version> </docletArtifact> <additionalparam>${tft.UmlGraphDoc.additionalParam} ${tft.javadoc.doclint}</additionalparam> <useStandardDocletOptions>true</useStandardDocletOptions> <skip>${tft.disableJavaDocs}</skip> <failOnError>false</failOnError> </configuration> </plugin> </plugins> </build> <!--================================================================================================================ This profile is used in Continous Integration to create QA metrics data. THIS PROFILE IS GOING TO BE DEPRECATED BECAUSE IT USES COBERTURA. =================================================================================================================--> <profiles> <profile> <id>metrics</id> <properties> <tft.test.reportsDirectory>${project.build.directory}/surefire-reports/cobertura</tft.test.reportsDirectory> </properties> <build> <defaultGoal>${tft.profile.metrics.defaultGoal}</defaultGoal> <plugins> <!-- Cobertura --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <configuration> <formats> <format>xml</format> <format>html</format> </formats> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>cobertura</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <!-- Cobertura --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.cobertura-maven-plugin.version}</version> </plugin> <!-- FindBugs --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.findbugs-maven-plugin.version}</version> <configuration> <xmlOutput>true</xmlOutput> <findbugsXmlOutput>true</findbugsXmlOutput> <findbugsXmlWithMessages>true</findbugsXmlWithMessages> <effort>Max</effort> <threshold>Low</threshold> <failOnError>false</failOnError> </configuration> </plugin> <!-- PMD --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.maven-pmd-plugin.version}</version> <configuration> <linkXref>true</linkXref> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>${tft.javac.source}</targetJdk> </configuration> </plugin> </plugins> </reporting> </profile> <!--================================================================================================================ This profile is used in Continous Integration to create QA metrics data. =================================================================================================================--> <profile> <id>it.tidalwave-metrics-v2</id> <properties> <tft.test.reportsDirectory>${project.build.directory}/surefire-reports/jacoco</tft.test.reportsDirectory> </properties> <build> <defaultGoal>${tft.profile.metrics.defaultGoal}</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Xmx${tft.test.maxMemory} ${tft.test.vmOptions} ${tft.test.jacoco.argLine}</argLine> </configuration> </plugin> <!-- Jacoco --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${tft.jacoco-maven-plugin.version}</version> <configuration> <propertyName>tft.test.jacoco.argLine</propertyName> <skipTests>${tft.test.skip}</skipTests> <!--<destfile>${project.build.directory}/coverage-reports/jacoco-unit.exec</destfile>--> <!--<datafile>${project.build.directory}/target/coverage-reports/jacoco-unit.exec</datafile>--> </configuration> <executions> <execution> <id>prepare-agent</id> <!-- This properly sets ${tft.test.jacoco.argLine} so it's later used by Surefire --> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <!-- Jacoco --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.jacoco-maven-plugin.version}</version> </plugin> <!-- FindBugs --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.findbugs-maven-plugin.version}</version> <configuration> <xmlOutput>true</xmlOutput> <findbugsXmlOutput>true</findbugsXmlOutput> <findbugsXmlWithMessages>true</findbugsXmlWithMessages> <effort>Max</effort> <threshold>Low</threshold> <failOnError>false</failOnError> </configuration> </plugin> <!-- PMD --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <!-- version must be replicated here --> <version>${tft.maven-pmd-plugin.version}</version> <configuration> <linkXref>true</linkXref> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>${tft.javac.source}</targetJdk> </configuration> </plugin> </plugins> </reporting> </profile> <!--================================================================================================================ This profile is activated during a release. =================================================================================================================--> <profile> <id>release</id> <properties> <skipTests>true</skipTests> <dryRun>false</dryRun> <altDeploymentRepository>release-repo-hudson::default::${staging.mvn.repo.url}</altDeploymentRepository> </properties> <build> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> <!-- FIXME: this directory is created in all submodules, only the master one is needed --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>clean-release-dirs</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <delete dir="${project.build.directory}/target-maven-repo" /> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile signs the build artifacts. It is automatically enabled during a release; signing requires that the proper certificates have been locally set up with PGP. If you want to skip signing, set the property tft.release.sign-artifacts.skip to true. =================================================================================================================--> <profile> <id>release-sign-artifacts</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <configuration> <skip>${tft.release.sign-artifacts.skip}</skip> </configuration> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile stores the current build description and Java version into a local file - used for Hudson builds. =================================================================================================================--> <profile> <id>generate-revision-id</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>generate-and-print-build-description</id> <phase>validate</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <echo file="${tft.descriptionStamp}">DESCRIPTION: ${project.version}-${buildNumber}${line.separator}</echo> <loadfile property="tft.description" srcFile="${tft.descriptionStamp}" /> <echo>${tft.description}</echo> <echo>Java Version: ${java.version} -source ${tft.javac.source} -target ${tft.javac.source}</echo> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile prints the current build description and Java version - used for Hudson builds. =================================================================================================================--> <profile> <id>show-revision-id</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>print-build-description</id> <phase>validate</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <loadfile property="tft.description" srcFile="${tft.descriptionStamp}" /> <echo>${tft.description}</echo> <echo>Java Version: ${java.version} -source ${tft.javac.source} -target ${tft.javac.source}</echo> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile detects Mercurial, it's used by the release-commit profile. =================================================================================================================--> <profile> <id>scm-detector-hg</id> <activation> <file> <exists>.hg</exists> </file> </activation> <properties> <tft.scm-detector.hg>true</tft.scm-detector.hg> </properties> </profile> <!--================================================================================================================ This profile detects Git, it's used by the release-commit profile. =================================================================================================================--> <profile> <id>scm-detector-git</id> <activation> <file> <exists>.git</exists> </file> </activation> <properties> <tft.scm-detector.git>true</tft.scm-detector.git> </properties> </profile> <!--================================================================================================================ This profile deploys local artifacts to the remote repository and pushes SCM changes after a successful staged release. Run as mvn -N -Prelease-commit =================================================================================================================--> <profile> <id>release-commit</id> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <configuration> <source>${staging.mvn.repo.url}</source> <target>${project.distributionManagement.repository.url}</target> <targetId>${project.distributionManagement.repository.id}</targetId> </configuration> <executions> <execution> <id>publish-repo</id> <phase>initialize</phase> <goals> <goal>copy</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>push-hg</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="push-hg" if="tft.scm-detector.hg"> <exec executable="hg" dir="${project.build.directory}"> <arg value="push" /> </exec> </target> </configuration> </execution> <execution> <id>push-git</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="push-git" if="tft.scm-detector.git"> <exec executable="git" dir="${project.build.directory}"> <arg value="push" /> <arg value="origin" /> <arg value="master" /> <arg value="--tags" /> </exec> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile is executed when a staged release is canceled - it erases the local SCM repository. BEWARE: this has been designed to work with Hudson, not on your local workarea. =================================================================================================================--> <profile> <id>release-cancel</id> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>strip-hg</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <!-- FIXME: would be better to strip local changes --> <target name="strip-hg" if="tft.scm-detector.hg"> <delete dir="${project.build.directory}/.hg" /> </target> </configuration> </execution> <execution> <id>strip-git</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <!-- FIXME: would be better to strip local changes --> <target name="strip-git" if="tft.scm-detector.git"> <delete dir="${project.build.directory}/.git" /> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile deploys the extra artifacts that are created by the assembly plugin. =================================================================================================================--> <profile> <id>it.tidalwave-deploy-extra-artifacts-v2</id> <properties> <staging.mvn.repo.url>file://${project.build.directory}/../../target-maven-repo</staging.mvn.repo.url> <altDeploymentRepository>release-repo-hudson::default::${staging.mvn.repo.url}</altDeploymentRepository> </properties> <build> <defaultGoal>initialize assembly:assembly build-helper:attach-artifact verify deploy:deploy</defaultGoal> <finalName>${project.artifactId}-${project.version}</finalName> </build> </profile> <!--================================================================================================================ This profiles creates an assembly 'bin' artifact if its configuration file is present. =================================================================================================================--> <profile> <id>it.tidalwave-assembly-bin-descriptor</id> <activation> <file> <exists>src/assemble/bin.xml</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors combine.children="append"> <descriptor>src/assemble/bin.xml</descriptor> </descriptors> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <configuration> <artifacts combine.children="append"> <artifact> <file>${project.build.directory}/${project.build.finalName}-bin.tar.gz</file> <type>tar.gz</type> <classifier>bin</classifier> </artifact> </artifacts> </configuration> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profiles creates an assembly 'project' artifact if its configuration file is present. =================================================================================================================--> <profile> <id>it.tidalwave-assembly-project-descriptor</id> <activation> <file> <exists>src/assemble/project.xml</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors combine.children="append"> <descriptor>src/assemble/project.xml</descriptor> </descriptors> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <configuration> <artifacts combine.children="append"> <artifact> <file>${project.build.directory}/${project.build.finalName}-project.tar.gz</file> <type>tar.gz</type> <classifier>project</classifier> </artifact> </artifacts> </configuration> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures Tomcat for the build. Create an empty file in src/config/activate-tomcat-profile to activate it. =================================================================================================================--> <profile> <id>tomcat</id> <activation> <file> <exists>src/config/activate-tomcat-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <configuration> <server>${tft.webapp.deployServerId}</server> <url>${tft.webapp.deployServerUrl}</url> <path>${tft.webapp.contextPath}</path> </configuration> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures Jetty for the build. Create an empty file in src/config/activate-jetty-profile to activate it. =================================================================================================================--> <profile> <id>jetty</id> <activation> <file> <exists>src/config/activate-jetty-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>${tft.jetty.port}</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> <stopPort>${tft.jetty.stopPort}</stopPort> <stopKey>${tft.jetty.stopKey}</stopKey> <scanIntervalSeconds>${tft.jetty.scanIntervalSeconds}</scanIntervalSeconds> <webAppConfig> <contextPath>${tft.webapp.contextPath}</contextPath> <baseResource implementation="org.mortbay.resource.ResourceCollection"> <!-- Workaround for Maven/Jetty issue http://jira.codehaus.org/browse/JETTY-680 --> <!-- <resources>src/main/webapp,${project.build.directory}/${project.build.finalName}</resources> --> <resourcesAsCSV>src/main/webapp,${project.build.directory}/${project.build.finalName}</resourcesAsCSV> </baseResource> </webAppConfig> </configuration> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures AspectJ in the build. Create an empty file in src/config/activate-aspectj-profile to activate it. THIS IS A DEPRECATED PROFILE. =================================================================================================================--> <profile> <id>aspectj</id> <activation> <file> <exists>src/config/activate-aspectj-profile</exists> </file> </activation> <build> <plugins> <!-- Will be no more needed when http://jira.codehaus.org/browse/MASPECTJ-9 is fixed --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${tft.aspectjrt.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${tft.aspectjrt.version}</version> </dependency> </dependencies> <executions> <execution> <id>weave-classes</id> <phase>process-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties" classpathref="maven.plugin.classpath" /> <iajc destDir="${project.build.directory}/classes" inpath="${project.build.directory}/classes" source="${tft.javac.source}" target="${tft.javac.target}" aspectPath="${org.springframework:spring-aspects:jar}" classpathRef="maven.compile.classpath" Xlint="ignore" /> </target> </configuration> </execution> <execution> <id>weave-test-classes</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties" classpathref="maven.plugin.classpath" /> <iajc destDir="${project.build.directory}/test-classes" inpath="${project.build.directory}/test-classes" source="${tft.javac.source}" target="${tft.javac.target}" aspectPath="${org.springframework:spring-aspects:jar}" classpathRef="maven.compile.classpath" Xlint="ignore" /> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures AspectJ for Spring in the build. Create an empty file in src/config/activate-it.tidalwave.aspectj-springaop-v1-profile to activate it. This profile arranges things so that AspectJ is compatibile with other tools that manipulate the bytecode, such as annotation processors (e.g. Lombok). The original, unwoven classes are stored in target/unwoven-classes and target/unwoven-test-classes. =================================================================================================================--> <profile> <id>it.tidalwave-aspectj-springaop-v1</id> <activation> <file> <exists>src/config/activate-it.tidalwave-aspectj-springaop-v1-profile</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>default-compile</id> <phase>compile</phase> <configuration> <outputDirectory>${tft.project.build.unwoven-classes.directory}</outputDirectory> </configuration> </execution> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <configuration> <outputDirectory>${tft.project.build.unwoven-test-classes.directory}</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- Create the target directories for unwoven classes --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-unwoven-classes-dirs</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <mkdir dir="${tft.project.build.unwoven-classes.directory}" /> <mkdir dir="${tft.project.build.unwoven-test-classes.directory}" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <configuration> <Xlint>ignore</Xlint> <source>${tft.javac.source}</source> <complianceLevel>${tft.javac.source}</complianceLevel> <target>${tft.javac.target}</target> <!-- Prevent ajc from finding sources --> <sources /> <testSources /> <!-- This is important because sometimes the plugin decides that there's nothing to do because sources are not specified --> <forceAjcCompile>true</forceAjcCompile> <showWeaveInfo>${tft.aspectj.ajc.verbose}</showWeaveInfo> <verbose>${tft.aspectj.ajc.verbose}</verbose> <aspectLibraries> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> </aspectLibraries> </configuration> <executions> <execution> <id>weave-classes</id> <phase>process-classes</phase> <goals> <goal>compile</goal> </goals> <configuration> <weaveDirectories> <weaveDirectory>${tft.project.build.unwoven-classes.directory}</weaveDirectory> </weaveDirectories> </configuration> </execution> <execution> <id>weave-test-classes</id> <phase>process-test-classes</phase> <goals> <goal>test-compile</goal> </goals> <configuration> <weaveDirectories> <weaveDirectory>${tft.project.build.unwoven-test-classes.directory}</weaveDirectory> </weaveDirectories> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${tft.aspectjrt.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${tft.aspectjrt.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile compiles custom Vaadin widgets into GWT components. =================================================================================================================--> <profile> <id>vaadin-compile-widgetset</id> <build> <plugins> <!-- Compile custom GWT components or widget dependencies with the GWT compiler --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <configuration> <webappDirectory>src/main/webapp/VAADIN/widgetsets</webappDirectory> <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs> <runTarget>${project.artifactId}</runTarget> <soyc>false</soyc> </configuration> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-dev</artifactId> <version>${tft.gwt.version}</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${tft.gwt.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures the jarbundler for the build. Create an empty file in src/config/it.tidalwave-netbeans-platform-appbundle-embedded-jre-profile-v2 to activate it. =================================================================================================================--> <profile> <id>it.tidalwave-netbeans-platform-appbundle-embedded-jre-v2</id> <activation> <file> <exists>src/config/activate-it.tidalwave-netbeans-platform-appbundle-embedded-jre-v2-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-embedded-jdk</id> <phase>generate-resources</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>${tft.embedded-jdk-groupId}</groupId> <artifactId>${tft.embedded-jdk-artifactId}</artifactId> <version>${tft.embedded-jdk-version}</version> <type>tgz</type> <classifier>${tft.embedded-jdk-classifier}</classifier> <overWrite>true</overWrite> <outputDirectory>${project.basedir}/target/jdk/${tft.embedded-jdk-name}</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> <execution> <id>unpack-application</id> <phase>generate-resources</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <excludeTransitive>true</excludeTransitive> <outputDirectory>${project.build.directory}/application</outputDirectory> </configuration> </execution> <execution> <id>copy-booter</id> <phase>generate-resources</phase> <goals> <goal>copy</goal> </goals> <configuration> <overWrite>true</overWrite> <outputDirectory>${project.build.directory}/boot</outputDirectory> <artifactItems> <artifactItem> <groupId>${project.groupId}</groupId> <artifactId>it-tidalwave-${netbeans.cluster}-boot</artifactId> <destFileName>${netbeans.cluster}-boot.jar</destFileName> </artifactItem> <artifactItem> <groupId>it.tidalwave.netbeans.boot</groupId> <artifactId>base-launcher</artifactId> <version>${tft.capecanaveral.version}</version> <destFileName>base-launcher.jar</destFileName> </artifactItem> </artifactItems> <excludeTransitive>true</excludeTransitive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="src/main/app-resources/appbundler-${tft.appbundler.version}.jar" /> <!-- FIXME applicationCategory="public.app-category.developer-tools"--> <bundleapp outputdirectory="${project.build.directory}" name="${tft.appbundle.name}" displayname="${tft.appbundle.name}" icon="src/main/app-resources/${netbeans.cluster}.icns" identifier="${project.groupId}" shortversion="${project.version}" mainclassname="${tft.netbeans.main}" signature="${tft.appbundle.signature}"> <runtime dir="${project.build.directory}/jdk/${tft.embedded-jdk-name}/Contents/Home" /> <classpath dir="${project.basedir}" casesensitive="yes"> <include name="target/application/${netbeans.cluster}/platform/lib/*.jar" /> <include name="target/boot/*.jar" /> </classpath> <options value="${tft.netbeans.vmargs}" /> <option value="-Dnetbeans.home=$APP_ROOT/Contents/Java/${netbeans.cluster}/platform" /> <option value="-Dit.tidalwave.netbeans.boot.branding=${netbeans.brandingToken}" /> <option value="-Dit.tidalwave.netbeans.boot.userDirName=${tft.appbundle.name}" /> <option value="-Dcom.apple.mrj.application.apple.menu.about.name=${tft.appbundle.name}" /> <option value="-Xdock:name=${tft.appbundle.name}" /> <option value="-Xbootclasspath/a:$APP_ROOT/Contents/PlugIns/${tft.embedded-jdk-name}/Contents/Home/jre/lib/jfxrt.jar" /> </bundleapp> <copy todir="${project.build.directory}/${tft.appbundle.name}.app/Contents/Java"> <fileset dir="${project.build.directory}/application"> <exclude name="*/bin/**" /> <exclude name="*/etc/*.conf" /> <exclude name="*/platform/docs/**" /> <exclude name="*/platform/lib/nbexec*" /> </fileset> </copy> <exec dir="${project.build.directory}" os="Mac OS X" executable="hdiutil"> <arg value="create" /> <arg value="-noanyowners" /> <arg value="-imagekey" /> <arg value="zlib-level=1" /> <arg value="-srcfolder" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.dmg" /> </exec> <exec dir="${project.build.directory}" os="Linux" executable="mkisofs"> <arg value="-V" /> <arg value="${tft.appbundle.name}" /> <arg value="-U" /> <arg value="-f" /> <arg value="-D" /> <arg value="-l" /> <arg value="-L" /> <arg value="-allow-multidot" /> <arg value="-max-iso9660-filenames" /> <arg value="-relaxed-filenames" /> <arg value="-no-iso-translate" /> <arg value="-r" /> <arg value="-o" /> <arg value="${tft.appbundle.name}.dmg" /> <arg value="-root" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.app" /> </exec> <gzip src="${project.build.directory}/${tft.appbundle.name}.dmg" destfile="${project.build.directory}/${tft.appbundle.name}.dmg.gz" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${project.build.directory}/${tft.appbundle.name}.dmg.gz</file> <type>dmg.gz</type> <classifier>executable</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures the jarbundler for the build. Create an empty file in src/config/it.tidalwave-netbeans-platform-appbundle-profile-v2 to activate it. =================================================================================================================--> <profile> <id>it.tidalwave-netbeans-platform-appbundle-v2</id> <activation> <file> <exists>src/config/activate-it.tidalwave-netbeans-platform-appbundle-v2-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-application</id> <phase>generate-resources</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <excludeTransitive>true</excludeTransitive> <outputDirectory>${project.build.directory}/application</outputDirectory> </configuration> </execution> <!-- FIXME: until we're able to put jfxrt.jar to the bootclasspath, copy it to the appbundle --> <execution> <id>copy-booter</id> <phase>generate-resources</phase> <goals> <goal>copy</goal> </goals> <configuration> <overWrite>true</overWrite> <outputDirectory>${project.build.directory}/boot</outputDirectory> <artifactItems> <artifactItem> <groupId>${project.groupId}</groupId> <artifactId>it-tidalwave-${netbeans.cluster}-boot</artifactId> <destFileName>${netbeans.cluster}-boot.jar</destFileName> </artifactItem> <artifactItem> <groupId>it.tidalwave.netbeans.boot</groupId> <artifactId>base-launcher</artifactId> <version>${tft.capecanaveral.version}</version> <destFileName>base-launcher.jar</destFileName> </artifactItem> </artifactItems> <excludeTransitive>true</excludeTransitive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="src/main/app-resources/appbundler-${tft.appbundler.version}.jar" /> <!-- FIXME applicationCategory="public.app-category.developer-tools"--> <!-- FIXME: way to specify min Java version? --> <bundleapp outputdirectory="${project.build.directory}" name="${tft.appbundle.name}" displayname="${tft.appbundle.name}" icon="src/main/app-resources/${netbeans.cluster}.icns" identifier="${project.groupId}" shortversion="${project.version}" mainclassname="${tft.netbeans.main}" signature="${tft.appbundle.signature}"> <classpath dir="${project.basedir}" casesensitive="yes"> <include name="target/application/${netbeans.cluster}/platform/lib/*.jar" /> <include name="target/boot/*.jar" /> </classpath> <options value="${tft.netbeans.vmargs}" /> <option value="-Dnetbeans.home=$APP_ROOT/Contents/Java/${netbeans.cluster}/platform" /> <option value="-Dit.tidalwave.netbeans.boot.branding=${netbeans.brandingToken}" /> <option value="-Dit.tidalwave.netbeans.boot.userDirName=${tft.appbundle.name}" /> <option value="-Dcom.apple.mrj.application.apple.menu.about.name=${tft.appbundle.name}" /> <option value="-Xdock:name=${tft.appbundle.name}" /> </bundleapp> <copy todir="${project.build.directory}/${tft.appbundle.name}.app/Contents/Java"> <fileset dir="${project.build.directory}/application"> <exclude name="*/bin/**" /> <exclude name="*/etc/*.conf" /> <exclude name="*/platform/docs/**" /> <exclude name="*/platform/lib/nbexec*" /> </fileset> </copy> <exec dir="${project.build.directory}" os="Mac OS X" executable="hdiutil"> <arg value="create" /> <arg value="-noanyowners" /> <arg value="-imagekey" /> <arg value="zlib-level=1" /> <arg value="-srcfolder" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.dmg" /> </exec> <exec dir="${project.build.directory}" os="Linux" executable="mkisofs"> <arg value="-V" /> <arg value="${tft.appbundle.name}" /> <arg value="-U" /> <arg value="-f" /> <arg value="-D" /> <arg value="-l" /> <arg value="-L" /> <arg value="-allow-multidot" /> <arg value="-max-iso9660-filenames" /> <arg value="-relaxed-filenames" /> <arg value="-no-iso-translate" /> <arg value="-r" /> <arg value="-o" /> <arg value="${tft.appbundle.name}.dmg" /> <arg value="-root" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.app" /> </exec> <gzip src="${project.build.directory}/${tft.appbundle.name}.dmg" destfile="${project.build.directory}/${tft.appbundle.name}.dmg.gz" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${project.build.directory}/${tft.appbundle.name}.dmg.gz</file> <type>dmg.gz</type> <classifier>executable</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures the jarbundler for the build. Create an empty file in activate-it.tidalwave-javafx-embedded-appbundle-v1-profile to activate it. =================================================================================================================--> <profile> <id>it.tidalwave-javafx-appbundle-embedded-v1</id> <activation> <file> <exists>src/config/activate-it.tidalwave-javafx-appbundle-embedded-v1-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-embedded-jdk</id> <phase>generate-resources</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>${tft.embedded-jdk-groupId}</groupId> <artifactId>${tft.embedded-jdk-artifactId}</artifactId> <version>${tft.embedded-jdk-version}</version> <type>tgz</type> <classifier>${tft.embedded-jdk-classifier}</classifier> <overWrite>true</overWrite> <outputDirectory>${project.basedir}/target/jdk/${tft.embedded-jdk-name}</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> <execution> <id>copy-application</id> <phase>generate-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <excludeTransitive>false</excludeTransitive> <excludeArtifactIds>javafx-embedded</excludeArtifactIds> <includeScope>runtime</includeScope> <outputDirectory>${project.build.directory}/application</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="src/main/app-resources/appbundler-${tft.appbundler.version}.jar" /> <!-- FIXME applicationCategory="public.app-category.developer-tools"--> <!-- FIXME: way to specify min Java version? --> <bundleapp outputdirectory="${project.build.directory}" name="${tft.appbundle.name}" displayname="${tft.appbundle.name}" icon="src/main/app-resources/${tft.appbundle.name}.icns" identifier="${project.groupId}" shortversion="${project.version}" mainclassname="${tft.mainClass}" signature="${tft.appbundle.signature}"> <runtime dir="${project.build.directory}/jdk/${tft.embedded-jdk-name}/Contents/Home" /> <classpath dir="${project.basedir}" casesensitive="yes"> <include name="target/application/*.jar" /> </classpath> <options value="${tft.javafx.vmargs}" /> <option value="-Dcom.apple.mrj.application.apple.menu.about.name=${tft.appbundle.name}" /> <option value="-Xdock:name=${tft.appbundle.name}" /> <option value="-Xbootclasspath/a:$APP_ROOT/Contents/PlugIns/${tft.embedded-jdk-name}/Contents/Home/jre/lib/jfxrt.jar" /> </bundleapp> <exec dir="${project.build.directory}" os="Mac OS X" executable="hdiutil"> <arg value="create" /> <arg value="-noanyowners" /> <arg value="-imagekey" /> <arg value="zlib-level=1" /> <arg value="-srcfolder" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.dmg" /> </exec> <exec dir="${project.build.directory}" os="Linux" executable="mkisofs"> <arg value="-V" /> <arg value="${tft.appbundle.name}" /> <arg value="-U" /> <arg value="-f" /> <arg value="-D" /> <arg value="-l" /> <arg value="-L" /> <arg value="-allow-multidot" /> <arg value="-max-iso9660-filenames" /> <arg value="-relaxed-filenames" /> <arg value="-no-iso-translate" /> <arg value="-r" /> <arg value="-o" /> <arg value="${tft.appbundle.name}.dmg" /> <arg value="-root" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.app" /> </exec> <gzip src="${project.build.directory}/${tft.appbundle.name}.dmg" destfile="${project.build.directory}/${tft.appbundle.name}.dmg.gz" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${project.build.directory}/${tft.appbundle.name}.dmg.gz</file> <type>dmg.gz</type> <classifier>executable</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile configures the jarbundler for the build. Create an empty file in src/config/activate-it.tidalwave-javafx-appbundle-v1-profile to activate it. =================================================================================================================--> <profile> <id>it.tidalwave-javafx-appbundle-v1</id> <activation> <file> <exists>src/config/activate-it.tidalwave-javafx-appbundle-v1-profile</exists> </file> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-application</id> <phase>generate-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <excludeTransitive>false</excludeTransitive> <includeScope>runtime</includeScope> <!-- FIXME: workaround until we're able to put it in bootclasspath --> <!--<excludeArtifactIds>javafx-embedded</excludeArtifactIds>--> <outputDirectory>${project.build.directory}/application</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>create-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="src/main/app-resources/appbundler-${tft.appbundler.version}.jar" /> <!-- FIXME applicationCategory="public.app-category.developer-tools"--> <!-- FIXME: way to specify min Java version? --> <bundleapp outputdirectory="${project.build.directory}" name="${tft.appbundle.name}" displayname="${tft.appbundle.name}" icon="src/main/app-resources/${tft.appbundle.name}.icns" identifier="${project.groupId}" shortversion="${project.version}" mainclassname="${tft.mainClass}" signature="${tft.appbundle.signature}"> <classpath dir="${project.basedir}" casesensitive="yes"> <include name="target/application/*.jar" /> </classpath> <options value="${tft.javafx.vmargs}" /> <option value="-Dcom.apple.mrj.application.apple.menu.about.name=${tft.appbundle.name}" /> <option value="-Xdock:name=${tft.appbundle.name}" /> </bundleapp> <exec dir="${project.build.directory}" os="Mac OS X" executable="hdiutil"> <arg value="create" /> <arg value="-noanyowners" /> <arg value="-imagekey" /> <arg value="zlib-level=1" /> <arg value="-srcfolder" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.dmg" /> </exec> <exec dir="${project.build.directory}" os="Linux" executable="mkisofs"> <arg value="-V" /> <arg value="${tft.appbundle.name}" /> <arg value="-U" /> <arg value="-f" /> <arg value="-D" /> <arg value="-l" /> <arg value="-L" /> <arg value="-allow-multidot" /> <arg value="-max-iso9660-filenames" /> <arg value="-relaxed-filenames" /> <arg value="-no-iso-translate" /> <arg value="-r" /> <arg value="-o" /> <arg value="${tft.appbundle.name}.dmg" /> <arg value="-root" /> <arg value="${tft.appbundle.name}.app" /> <arg value="${tft.appbundle.name}.app" /> </exec> <gzip src="${project.build.directory}/${tft.appbundle.name}.dmg" destfile="${project.build.directory}/${tft.appbundle.name}.dmg.gz" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-app-bundle</id> <phase>pre-integration-test</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${project.build.directory}/${tft.appbundle.name}.dmg.gz</file> <type>dmg.gz</type> <classifier>executable</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ =================================================================================================================--> <profile> <id>it.tidalwave.use-local-artifact-target-repo-v1</id> <properties> <altDeploymentRepository>local-repo::default::${staging.mvn.repo.url}</altDeploymentRepository> </properties> </profile> <!--================================================================================================================ Deploys to a public repo those artifacts that have been generated during a release process and stored in a local repository. Run as: mvn -N -Pit.tidalwave.publish-artifacts-v1 Note: on Mac OS X you need to run this with -Djava.io.tmpdir=/tmp (or other directory). =================================================================================================================--> <profile> <id>it.tidalwave.publish-artifacts-v1</id> <properties> <wagon.source>${staging.mvn.repo.url}</wagon.source> <wagon.target>https://oss.sonatype.org/content/repositories/snapshots</wagon.target> <wagon.targetId>snapshots-oss.sonatype.org</wagon.targetId> </properties> <build> <defaultGoal>initialize org.codehaus.mojo:wagon-maven-plugin:copy</defaultGoal> </build> </profile> <!--================================================================================================================ This profile updates all the dependencies to their latest release. The project must be structured in the standard TheseFoolishThings layout. Run as: mvn -N -Pit.tidalwave-update-releases-v1 =================================================================================================================--> <profile> <id>it.tidalwave-update-releases-v1</id> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>update-properties</goal> </goals> <configuration> <allowSnapshots>false</allowSnapshots> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile updates all the dependencies to their latest snapshots. The project must be structured in the standard TheseFoolishThings layout. Run as: mvn -N -Pit.tidalwave-update-snapshots-v1 =================================================================================================================--> <profile> <id>it.tidalwave-update-snapshots-v1</id> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>update-properties</goal> </goals> <configuration> <allowSnapshots>true</allowSnapshots> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile updates the headers of files. =================================================================================================================--> <profile> <id>it.tidalwave-update-headers</id> <properties> <tft.license.template>${basedir}/target/it/tidalwave/license/filtered/tidalwave-header-description.ftl</tft.license.template> </properties> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>it.tidalwave.thesefoolishthings</groupId> <artifactId>superpom-config</artifactId> <version>${tft.superpom.config.version}</version> <overWrite>true</overWrite> <outputDirectory>${basedir}/target/superpom-config</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/it/tidalwave/license/filtered</outputDirectory> <resources> <resource> <directory>${basedir}/target/superpom-config/it/tidalwave/license</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>update-file-header</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!--================================================================================================================ This profile checks the headers of files. =================================================================================================================--> <profile> <id>it.tidalwave-check-headers</id> <properties> <tft.license.template>${basedir}/target/it/tidalwave/license/filtered/tidalwave-header-description.ftl</tft.license.template> </properties> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>it.tidalwave.thesefoolishthings</groupId> <artifactId>superpom-config</artifactId> <version>${tft.superpom.config.version}</version> <overWrite>true</overWrite> <outputDirectory>${basedir}/target/superpom-config</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/it/tidalwave/license/filtered</outputDirectory> <resources> <resource> <directory>${basedir}/target/superpom-config/it/tidalwave/license</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <phase>initialize</phase> <goals> <goal>check-file-header</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <!-- Version must be copied here because of http://jira.codehaus.org/browse/MSITE-443 --> <version>${tft.maven-javadoc-plugin.version}</version> <!-- Configuration must be replicated in build section --> <configuration> <tags> <tag> <name>stable</name> <placement>t</placement> <head>Status: stable API</head> </tag> <tag> <name>it.tidalwave.javadoc.stable</name> <placement>t</placement> <head>Status: stable API</head> </tag> <tag> <name>draft</name> <placement>t</placement> <head>Status: draft API</head> </tag> <tag> <name>it.tidalwave.javadoc.draft</name> <placement>t</placement> <head>Status: draft API</head> </tag> <tag> <name>experimental</name> <placement>t</placement> <head>Status: experimental API</head> </tag> <tag> <name>it.tidalwave.javadoc.experimental</name> <placement>t</placement> <head>Status: experimental API</head> </tag> </tags> <docfilessubdirs>true</docfilessubdirs> <excludePackageNames>${tft.javadoc.excludePackageNames}</excludePackageNames> <doclet>${tft.javadoc.doclet}</doclet> <docletArtifact> <groupId>org.umlgraph</groupId> <artifactId>doclet</artifactId> <version>${tft.UmlGraphDoc.version}</version> </docletArtifact> <additionalparam>${tft.UmlGraphDoc.additionalParam} ${tft.javadoc.doclint}</additionalparam> <useStandardDocletOptions>true</useStandardDocletOptions> <skip>${tft.disableJavaDocs}</skip> <failOnError>false</failOnError> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>clirr-maven-plugin</artifactId> <!-- Version must be copied here because of http://jira.codehaus.org/browse/MSITE-443 --> <version>${tft.clirr-maven-plugin.version}</version> <!-- Configuration must be replicated in build section --> <configuration> <skip>${tft.clirr.skip}</skip> <failOnError>${tft.stableAPI}</failOnError> <comparisonVersion>${tft.stableAPIVersion}</comparisonVersion> <logResults>true</logResults> <minSeverity>info</minSeverity> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>javancss-maven-plugin</artifactId> <!-- Version must be copied here because of http://jira.codehaus.org/browse/MSITE-443 --> <version>${tft.javancss-maven-plugin.version}</version> <!-- Configuration must be replicated in build section --> </plugin> </plugins> </reporting> </project>