Source code file content

Revision: 253 (of 253)

Prepared next version.
» Project Revision History

» Checkout URL

superpom-src / pom.xml

Size: 79445 bytes, 1 line
<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>1.14-SNAPSHOT</version>
    <name>TheseFoolishThings - SuperPOM</name>
    <url>http://thesefoolishthings.kenai.com</url>
    <description>TheseFoolishThings</description>
    <organization>
        <name>Tidalwave s.a.s.</name>
        <url>http://www.tidalwave.it</url>
    </organization>
    <inceptionYear>2010</inceptionYear>

    <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>
        <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>

        <!-- 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>
        <scm.repo.effective.url>${scm.repo.url}</scm.repo.effective.url>
        <release.profiles>release</release.profiles>

        <tft.descriptionStamp>.description</tft.descriptionStamp>
        <tft.maven.requiredVersion>3.0.3</tft.maven.requiredVersion> 
        <tft.mainClass>please-set-the-tft.mainClass-property-to-specify-the-main-class</tft.mainClass>
        <tft.javac.source>1.6</tft.javac.source>
        <tft.javac.target>1.6</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.stableAPI>${stableAPI}</tft.stableAPI>
        <tft.stableAPIVersion>${stableAPIVersion}</tft.stableAPIVersion>
        <tft.disableJavaDocs>${disableJavaDocs}</tft.disableJavaDocs>
        <tft.disableDeploy>${disableDeploy}</tft.disableDeploy>
        <tft.release.localCheckout>true</tft.release.localCheckout>            
        <tft.lombok.version>0.10.6</tft.lombok.version>
        <tft.testng.version>6.1.1</tft.testng.version>
        <tft.junit.version>4.7</tft.junit.version>
        <tft.mockito.version>1.8.2</tft.mockito.version>
        <tft.hamcrest-matchers.version>1.1</tft.hamcrest-matchers.version>
        <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.netbeans.useOSGiDependencies>false</tft.netbeans.useOSGiDependencies>

        <tft.aspectjrt.version>1.6.11</tft.aspectjrt.version>

        <tft.jarbundler.version>2.2.0</tft.jarbundler.version>

        <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.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>2.9.0-beta-4</tft.maven-android-plugin.version>
        <tft.maven-antrun-plugin.version>1.6</tft.maven-antrun-plugin.version>
        <tft.maven-archetype-plugin.version>2.0-alpha-5</tft.maven-archetype-plugin.version>
        <tft.maven-assembly-plugin.version>2.2.1</tft.maven-assembly-plugin.version>
        <tft.maven-bundle-plugin.version>2.0.1</tft.maven-bundle-plugin.version>
        <tft.maven-checkstyle-plugin.version>2.6</tft.maven-checkstyle-plugin.version>
        <tft.maven-clean-plugin.version>2.4.1</tft.maven-clean-plugin.version>
        <tft.maven-compiler-plugin.version>2.3.2</tft.maven-compiler-plugin.version>
        <tft.maven-dependency-plugin.version>2.4</tft.maven-dependency-plugin.version>
        <tft.maven-deploy-plugin.version>2.6</tft.maven-deploy-plugin.version>
        <tft.maven-doap-plugin.version>1.1</tft.maven-doap-plugin.version>
        <tft.maven-enforcer-plugin.version>1.0.1</tft.maven-enforcer-plugin.version>
        <tft.maven-gpg-plugin.version>1.3</tft.maven-gpg-plugin.version>
        <tft.maven-graph-plugin.version>1.15</tft.maven-graph-plugin.version>
        <tft.maven-install-plugin.version>2.3.1</tft.maven-install-plugin.version>
        <tft.maven-jar-plugin.version>2.3.2</tft.maven-jar-plugin.version>
        <tft.maven-jarsigner-plugin.version>1.2</tft.maven-jarsigner-plugin.version>
        <tft.maven-javadoc-plugin.version>2.8</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>2.5</tft.maven-pmd-plugin.version>
        <tft.maven-release-plugin.version>2.2.1</tft.maven-release-plugin.version> 
        <tft.maven-replacer-plugin.version>1.3.9</tft.maven-replacer-plugin.version>
        <tft.maven-resources-plugin.version>2.5</tft.maven-resources-plugin.version>
        <tft.maven-scm-plugin.version>1.5</tft.maven-scm-plugin.version>
        <tft.maven-shade-plugin.version>1.5</tft.maven-shade-plugin.version>
        <tft.maven-site-plugin.version>2.2</tft.maven-site-plugin.version> <!-- 3.0-beta-3 miserably fails with -->
        <tft.maven-source-plugin.version>2.1.2</tft.maven-source-plugin.version>
        <tft.maven-surefire-plugin.version>2.10</tft.maven-surefire-plugin.version>
        <tft.maven-war-plugin.version>2.1.1</tft.maven-war-plugin.version>

        <tft.aspectj-maven-plugin.version>1.3.1</tft.aspectj-maven-plugin.version>
        <tft.build-helper-maven-plugin.version>1.7</tft.build-helper-maven-plugin.version>
        <tft.buildnumber-maven-plugin.version>1.0</tft.buildnumber-maven-plugin.version>
        <tft.clirr-maven-plugin.version>2.3</tft.clirr-maven-plugin.version>
        <tft.cobertura-maven-plugin.version>2.5.1</tft.cobertura-maven-plugin.version>
        <tft.exec-maven-plugin.version>1.1.1</tft.exec-maven-plugin.version>  <!-- Version 1.2 breaks the generation of .revision -->
        <tft.findbugs-maven-plugin.version>2.4.0</tft.findbugs-maven-plugin.version> 
        <tft.gmaven-plugin>1.0</tft.gmaven-plugin>
        <tft.gwt-maven-plugin.version>2.1.0-1</tft.gwt-maven-plugin.version>
        <tft.javancss-maven-plugin.version>2.0</tft.javancss-maven-plugin.version>
        <tft.jaxb2-maven-plugin.version>1.3</tft.jaxb2-maven-plugin.version>
        <tft.nbm-maven-plugin.version>3.6</tft.nbm-maven-plugin.version>                    
        <tft.nexus-maven-plugin.version>1.9.2.4</tft.nexus-maven-plugin.version>
        <tft.tomcat-maven-plugin.version>1.1</tft.tomcat-maven-plugin.version>
        <tft.vaadin-maven-plugin.version>1.0.2</tft.vaadin-maven-plugin.version>
        <tft.versions-maven-plugin.version>1.2</tft.versions-maven-plugin.version>
        <tft.wagon-maven-plugin.version>1.0-beta-3</tft.wagon-maven-plugin.version>                
        <tft.webdav-jackrabbit.version>1.0-beta-7</tft.webdav-jackrabbit.version>

        <tft.archetype-packaging.version>2.0-alpha-5</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>
    </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>

            <!--==== 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-all</artifactId>
                <version>${tft.mockito.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>
        <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>
                </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>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.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>

            </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>
                </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>
                    <descriptors>
                        <descriptor>src/assemble/bin.xml</descriptor>
                        <descriptor>src/assemble/project.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>

            <!-- Executes tests -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <reportsDirectory>${tft.test.reportsDirectory}</reportsDirectory>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                    <!-- systemProperties>
                        <property>
                        </property>
                    </systemProperties -->
                    <argLine>-Xmx${tft.test.maxMemory}</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-->
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>${tft.disableDeploy}</skip>
                </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 --> <!-- doesn't work! NOTE: should have been fixed with scm-plugin 1.5 -->
                    <preparationGoals>clean install verify</preparationGoals>
                    <goals>clean install source:test-jar javadoc:javadoc assembly:assembly deploy</goals>
                    <arguments>-P${release.profiles} -DaltDeploymentRepository="${altDeploymentRepository}"</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>
                            </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>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>**/*.revision</exclude>
                        <exclude>**/*.mf</exclude>
                        <exclude>**/*.form</exclude>
                        <exclude>**/META-INF/**/*.*</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>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>doclet</artifactId>
                        <version>${tft.UmlGraphDoc.version}</version>
                    </docletArtifact>
                    <additionalparam>${tft.UmlGraphDoc.additionalParam}</additionalparam>
                    <useStandardDocletOptions>true</useStandardDocletOptions> 
                    <skip>${tft.disableJavaDocs}</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>metrics</id>
            <properties>
                <tft.test.reportsDirectory>${project.build.directory}/surefire-reports/cobertura</tft.test.reportsDirectory>
            </properties>
            <build>
                <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>1.6</targetJdk>
                        </configuration>
                    </plugin>

                    <!-- CheckStyle -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <!-- version must be replicated here -->
                        <version>${tft.maven-checkstyle-plugin.version}</version>
                        <configuration>
                            <configLocation>${project.basedir}/src/checkstyle/checkstyle.xml</configLocation>
                        </configuration>
                    </plugin>
                </plugins>
            </reporting>
        </profile>

    <!--================================================================================================================
    
    This profile is activated during a release.
    
    =================================================================================================================-->
        <profile>
            <id>release</id>

            <properties>
                <scm.repo.effective.url>file://${project.build.directory}/dummy-hg-repo</scm.repo.effective.url>
                <skipTests>true</skipTests>
                <altDeploymentRepository>release-repo-hudson::default::${staging.mvn.repo.url}</altDeploymentRepository>
            </properties>

            <build>
                <finalName>${project.artifactId}-${project.version}</finalName>
                <plugins>
                    <!-- Cleans and initializes the dummy local hg repo that will be the target of the push performed during release
                         Up to Maven 2.2.1 these executions were marked inherited=false to prevent them from happening in children poms;
                         but since Maven 3 they won't be inherited from the superpom at all. The minor drawback without inheritance=false
                         is that the dummy repo is created for each children module.
                         This step would be unnecessary if pushChanges=false worked... -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>clean-release-dirs</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>rm</executable>
                                    <arguments>
                                        <argument>-rf</argument>
                                        <argument>${project.build.directory}/dummy-hg-repo</argument>
                                        <argument>${project.build.directory}/target-maven-repo</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                            <execution>
                                <id>create-release-dirs</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>mkdir</executable>
                                    <arguments>
                                        <argument>-p</argument>
                                        <argument>${project.build.directory}/dummy-hg-repo</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                            <execution>
                                <id>init-dummy-hg-repo</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>hg</executable>
                                    <workingDirectory>${project.build.directory}/dummy-hg-repo</workingDirectory>
                                    <arguments>
                                        <argument>init</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    <!--================================================================================================================
    
    This profile signs the build artifacts.
    
    =================================================================================================================-->
        <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>
                        <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.
    
    =================================================================================================================-->
        <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}">REVISION: ${buildNumber}${line.separator}DESCRIPTION: ${buildNumber}${line.separator}</echo>
                                        <loadfile property="tft.description" srcFile="${tft.descriptionStamp}"/>
                                        <echo>${tft.description}</echo>
                                        <echo>Java Version: ${java.version}</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}</echo>
                                    </target>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    <!--================================================================================================================
    
    This profile commits local artifacts after a successful staged release and pushes Mercurial changes.
    
    =================================================================================================================-->
        <profile>
            <id>release-commit</id>
            <build>
                <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.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>push-hg</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>hg</executable>
                                    <arguments>
                                        <argument>push</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    <!--================================================================================================================
    
    This profile is executed when a staged release is canceled. BEWARE: it strips the local HG repository! It has been
    designed to work with Hudson.
    
    =================================================================================================================-->
        <profile>
            <id>release-cancel</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>strip-hg</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <!-- FIXME: would be better to strip local changes -->
                                    <executable>rm</executable>
                                    <arguments>
                                        <argument>-rf</argument>
                                        <argument>.hg</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    <!--================================================================================================================
    
    This profile deploys the extra artifacts xxx-bin.tar.gz and xxx-project.tar.gz.
    
    =================================================================================================================-->
        <profile>
            <id>deploy-extra-artifacts</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>
                <finalName>${project.artifactId}-${project.version}</finalName>
                <plugins>
                    <!-- Attaches the extra artifacts prepared during the release process by the assembly plugin -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-artifacts</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>attach-artifact</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>${project.build.directory}/${project.build.finalName}-project.tar.gz</file>
                                    <type>tar.gz</type>
                                    <classifier>project</classifier>
                                </artifact>
                                <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 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.
    
    =================================================================================================================-->
        <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 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/activate-appbundle-profile
    to activate it.

    =================================================================================================================-->
        <profile>
            <id>appbundle</id>
            <activation>
                <file>
                    <exists>src/config/activate-netbeans-platform-appbundle-profile</exists>
                </file>
            </activation>
            <build>
                <plugins>             
                    <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="jarbundler" 
                                                 classname="net.sourceforge.jarbundler.JarBundler" 
                                                 classpath="src/main/app-resources/jarbundler-${tft.jarbundler.version}.jar" />
    
                                        <mkdir dir="${project.build.directory}/appbundle/java"/>
                                        <mkdir dir="${project.build.directory}/appbundle/resources"/>
                                        <mkdir dir="${project.build.directory}/appbundle/executables"/>

                                        <unjar src="${project.build.directory}/${project.build.finalName}.zip" 
                                               dest="${project.build.directory}/appbundle/java"/>

                                        <jarbundler dir="${project.build.directory}"
                                                    jar="${project.build.directory}/appbundle/java/${netbeans.cluster}/platform/lib/boot.jar" 
                                                    mainclass="dummy"
                                                    name="${tft.appbundle.name}"
                                                    shortname="${tft.appbundle.name}"
                                                    signature="${tft.appbundle.signature}"
                                                    icon="src/main/app-resources/${netbeans.cluster}.icns"
                                                    jvmversion="${tft.javac.target}+"
                                                    showplist="false"
                                                    build="${project.version}"
                                                    bundleId="${project.groupId}"
                                                    stubfile="src/main/app-resources/${netbeans.cluster}"
                                                    version="${project.version}">
                                            <javafileset dir="src/main/app-resources">
                                                <include name="**/*.icns" />
                                            </javafileset>
                                            <javafileset dir="${project.build.directory}/appbundle/java">
                                                <include name="**/*" />
                                            </javafileset>
                                            <resourcefileset dir="${project.build.directory}/appbundle/resources">
                                                <include name="**/*" />
                                            </resourcefileset>
                                            <execfileset dir="${project.build.directory}/appbundle/executables">
                                                <include name="**/*" />
                                            </execfileset>
                                        </jarbundler>

                                        <chmod file="${project.build.directory}/${tft.appbundle.name}.app/Contents/Resources/Java/${netbeans.cluster}/bin/${netbeans.cluster}" 
                                               perm="ugo+rx"/>

                                        <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>jdk7</id>
            <properties>
                <tft.javac.source>1.7</tft.javac.source>
                <tft.javac.target>1.7</tft.javac.target>
            </properties>
        </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>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>doclet</artifactId>
                        <version>${tft.UmlGraphDoc.version}</version>
                    </docletArtifact>
                    <additionalparam>${tft.UmlGraphDoc.additionalParam}</additionalparam>
                    <useStandardDocletOptions>true</useStandardDocletOptions> 
                    <skip>${tft.disableJavaDocs}</skip>
                </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>

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2013, Oracle Corporation and/or its affiliates
(revision 20140418.2d69abc)
 
 
Close
loading
Please Confirm
Close