<?xml version="1.0" encoding="UTF-8"?>
<!--
  #%L
  JAXX

  $Id: pom.xml 2787 2014-02-04 11:17:51Z maven-release $
  $HeadURL: https://nuiton.org/svn/jaxx/tags/jaxx-2.8/pom.xml $
  %%
  Copyright (C) 2008 - 2010 CodeLutin
  %%
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as
  published by the Free Software Foundation, either version 3 of the
  License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Lesser Public License for more details.

  You should have received a copy of the GNU General Lesser Public
  License along with this program.  If not, see
  <http://www.gnu.org/licenses/lgpl-3.0.html>.
  #L%
  -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.nuiton</groupId>
    <artifactId>mavenpom4redmineAndCentral</artifactId>
    <version>4.7</version>
  </parent>

  <artifactId>jaxx</artifactId>
  <version>2.8</version>

  <modules>
    <module>jaxx-runtime</module>
    <module>jaxx-validator</module>
    <module>jaxx-compiler</module>
    <module>jaxx-maven-plugin</module>
    <module>jaxx-widgets</module>
    <module>jaxx-config</module>
    <module>jaxx-application-api</module>
    <module>jaxx-application-swing</module>
  </modules>

  <developers>

    <developer>
      <name>Tony Chemit</name>
      <id>tchemit</id>
      <email>chemit at codelutin dot com</email>
      <organization>CodeLutin</organization>
      <timezone>Europe/Paris</timezone>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>

    <developer>
      <name>Sylvain Letellier</name>
      <id>sletellier</id>
      <email>letellier at codelutin dot com</email>
      <organization>CodeLutin</organization>
      <timezone>Europe/Paris</timezone>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>

    <developer>
      <name>Jean Couteau</name>
      <id>jcouteau</id>
      <email>couteau at codelutin dot com</email>
      <organization>CodeLutin</organization>
      <timezone>Europe/Paris</timezone>
      <roles>
        <role>Technical Writer</role>
      </roles>
    </developer>

    <developer>
      <name>Yannick Martel</name>
      <id>ymartel</id>
      <email>martel at codelutin dot com</email>
      <organization>CodeLutin</organization>
      <timezone>Europe/Paris</timezone>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>

    <developer>
      <name>Florian Desbois</name>
      <id>fdesbois</id>
      <timezone>Europe/Paris</timezone>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>

  <name>JAXX</name>
  <description>JAXX Project</description>
  <inceptionYear>2008</inceptionYear>
  <url>https://maven-site.nuiton.org/jaxx</url>

  <packaging>pom</packaging>

  <properties>

    <!-- pour un muli module on doit fixer le projectId -->
    <projectId>jaxx</projectId>

    <nuitonUtilsVersion>3.0-rc-2</nuitonUtilsVersion>
    <nuitonValidatorVersion>3.0-alpha-3</nuitonValidatorVersion>
    <nuitonConfigVersion>3.0-alpha-2</nuitonConfigVersion>
    <nuitonDecoratorVersion>3.0-alpha-3</nuitonDecoratorVersion>
    <nuitonI18nVersion>3.0</nuitonI18nVersion>
    <nuitonCsvVersion>3.0-alpha-3</nuitonCsvVersion>
    <eugeneVersion>2.7.4</eugeneVersion>
    <jxLayerVersion>3.0.4</jxLayerVersion>
    <javaHelpVersion>2.0.05</javaHelpVersion>
    <swingXVersion>1.6.5-1</swingXVersion>
    <plexusUtilVersion>3.0.17</plexusUtilVersion>

    <webstartPluginVersion>1.0-beta-6</webstartPluginVersion>

    <!-- i18n configuration -->
    <i18n.bundles>fr_FR,en_GB,es_ES</i18n.bundles>

    <site.verbose>true</site.verbose>

    <!-- jnlp configuration -->
    <jnlpFileName>jaxx-demo.jnlp</jnlpFileName>

    <!-- FIXME-tchemit-2012-07-02 Still not working, normalize all rst docs -->
    <!--pdfGenerationEnabled>true</pdfGenerationEnabled-->
  </properties>


  <!-- Source control management. -->
  <scm>
    <connection>scm:svn:https://nuiton.org/svn/jaxx/tags/jaxx-2.8</connection>
    <developerConnection>
      scm:svn:https://nuiton.org/svn/jaxx/tags/jaxx-2.8
    </developerConnection>
    <url>https://nuiton.org/projects/jaxx/repository/show/tags/jaxx-2.8</url>
  </scm>

  <distributionManagement>
    <site>
      <id>${platform}</id>
      <url>${our.site.repository}/${projectId}</url>
    </site>
  </distributionManagement>

  <dependencyManagement>
    <dependencies>

      <!-- lutin dependencies -->
      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-utils</artifactId>
        <version>${nuitonUtilsVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-config</artifactId>
        <version>${nuitonConfigVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-decorator</artifactId>
        <version>${nuitonDecoratorVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-validator</artifactId>
        <version>${nuitonValidatorVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton.i18n</groupId>
        <artifactId>nuiton-i18n</artifactId>
        <version>${nuitonI18nVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-csv</artifactId>
        <version>${nuitonCsvVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.nuiton.eugene</groupId>
        <artifactId>eugene</artifactId>
        <version>${eugeneVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
          </exclusion>
          <exclusion>
            <groupId>net.sourceforge.saxon</groupId>
            <artifactId>saxon</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-digester</groupId>
            <artifactId>commons-digester</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>helper-maven-plugin-api</artifactId>
        <version>${helperPluginVersion}</version>
        <scope>compile</scope>
        <exclusions>

          <exclusion>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-dependency-tree</artifactId>
          </exclusion>

          <exclusion>
            <groupId>velocity</groupId>
            <artifactId>velocity</artifactId>
          </exclusion>

        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>helper-maven-plugin-api</artifactId>
        <version>${helperPluginVersion}</version>
        <scope>test</scope>
        <classifier>tests</classifier>
        <exclusions>

          <exclusion>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-dependency-tree</artifactId>
          </exclusion>

          <exclusion>
            <groupId>velocity</groupId>
            <artifactId>velocity</artifactId>
          </exclusion>

        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-vfs2</artifactId>
        <version>2.0</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-svnexe</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- sun dependencies -->
      <dependency>
        <groupId>com.sun</groupId>
        <artifactId>dt</artifactId>
        <version>${java.version}</version>
        <scope>system</scope>
        <systemPath>/${java.home}/../lib/dt.jar</systemPath>
      </dependency>

      <dependency>
        <groupId>javax.help</groupId>
        <artifactId>javahelp</artifactId>
        <version>${javaHelpVersion}</version>
      </dependency>

      <!-- maven dependencies -->
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${mavenVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-project</artifactId>
        <version>${mavenVersion}</version>
        <scope>provided</scope>
      </dependency>

      <!-- rsyntaxtextarea dependency -->
      <dependency>
        <groupId>com.fifesoft</groupId>
        <artifactId>rsyntaxtextarea</artifactId>
        <version>2.5.0</version>
      </dependency>

      <!-- swinglabs dependencies -->
      <dependency>
        <groupId>org.swinglabs</groupId>
        <artifactId>jxlayer</artifactId>
        <version>${jxLayerVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.swinglabs.swingx</groupId>
        <artifactId>swingx-core</artifactId>
        <version>${swingXVersion}</version>
        <scope>compile</scope>
      </dependency>

      <dependency>
        <groupId>org.swinglabs.swingx</groupId>
        <artifactId>swingx-common</artifactId>
        <version>${swingXVersion}</version>
        <scope>compile</scope>
      </dependency>

      <dependency>
        <groupId>org.swinglabs.swingx</groupId>
        <artifactId>swingx-autocomplete</artifactId>
        <version>${swingXVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-velocity</artifactId>
        <version>1.1.8</version>
        <exclusions>
          <exclusion>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-container-default</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-component-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>velocity</groupId>
            <artifactId>velocity</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- dependencies to mojo annotations -->
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${pluginPluginVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-verifier</artifactId>
        <version>1.4</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.plugin-testing</groupId>
        <artifactId>maven-plugin-testing-harness</artifactId>
        <version>1.3</version>
        <scope>test</scope>
        <exclusions>

          <exclusion>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-archiver</artifactId>
          </exclusion>

          <exclusion>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-http-lightweight</artifactId>
          </exclusion>

          <exclusion>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-file</artifactId>
          </exclusion>

          <exclusion>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
          </exclusion>

          <exclusion>
            <groupId>org.apache.maven.reporting</groupId>
            <artifactId>maven-reporting-api</artifactId>
          </exclusion>

        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>${plexusUtilVersion}</version>
        <scope>compile</scope>
      </dependency>

      <dependency>
        <groupId>org.nuiton</groupId>
        <artifactId>nuiton-validator</artifactId>
        <version>${nuitonValidatorVersion}</version>
        <scope>test</scope>
        <classifier>tests</classifier>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>

    <pluginManagement>
      <plugins>

        <!-- plugin i18n -->
        <plugin>
          <groupId>org.nuiton.i18n</groupId>
          <artifactId>i18n-maven-plugin</artifactId>
          <version>${nuitonI18nVersion}</version>
        </plugin>

        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.nuiton.jrst</groupId>
              <artifactId>doxia-module-jrst</artifactId>
              <version>${jrstPluginVersion}</version>
            </dependency>
          </dependencies>
          <configuration>
            <relativizeDecorationLinks>false</relativizeDecorationLinks>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>webstart-maven-plugin</artifactId>
          <version>${webstartPluginVersion}</version>
          <configuration>

            <libPath>lib</libPath>
            <makeArchive>false</makeArchive>
            <verbose>false</verbose>
            <updateManifestEntries>
              <Application-Name>JAXX Demo ${project.version}</Application-Name>
              <Permissions>all-permissions</Permissions>
              <Codebase>*</Codebase>
            </updateManifestEntries>
            <filenameMapping>simple</filenameMapping>
            <outputJarVersions>true</outputJarVersions>
            <jnlp>
              <mainClass>${maven.jar.main.class}</mainClass>
              <allPermissions>true</allPermissions>
              <offlineAllowed>true</offlineAllowed>
              <outputFile>${jnlpFileName}</outputFile>
            </jnlp>
            <sign>
              <keystore>${keystorepath}</keystore>
              <storepass>${keystorepass}</storepass>
              <alias>${keyalias}</alias>
              <keypass>${keypass}</keypass>
              <verify>true</verify>
              <keystoreConfig>
                <delete>false</delete>
                <gen>false</gen>
              </keystoreConfig>
            </sign>

            <gzip>true</gzip>
            <pack200>
              <enabled>true</enabled>
              <passFiles>
                <passFile>org/jdesktop/jxlayer/</passFile>
              </passFiles>
            </pack200>
            <jnlpExtensions>
              <jnlpExtension>
                <name>jxlayer</name>
                <title>Swing labs JXLayer</title>
                <vendor>Swing Labs</vendor>
                <includes>
                  <include>org.swinglabs:jxlayer</include>
                </includes>
              </jnlpExtension>
            </jnlpExtensions>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <prepareVerifyArgs>-Pdemo</prepareVerifyArgs>
          </configuration>
        </plugin>

      </plugins>
    </pluginManagement>

  </build>

  <reporting>
    <excludeDefaults>true</excludeDefaults>
  </reporting>

  <profiles>

    <!-- build jaxx-demo project -->
    <profile>
      <id>demo</id>
      <modules>
        <module>jaxx-demo</module>
      </modules>

    </profile>

    <!-- This profile is here just to make more automatic release.
         This profile will be use to do a releasse:prepare, this modules are not
         in default build but need to be release
    -->
    <profile>
      <id>extra-modules</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <modules>
        <module>jaxx-demo</module>
      </modules>

    </profile>

    <!-- reporting at release time -->
    <profile>
      <id>reporting</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>

      <reporting>
        <plugins>

          <plugin>
            <artifactId>maven-plugin-plugin</artifactId>
            <version>${pluginPluginVersion}</version>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>${coberturaPluginVersion}</version>
          </plugin>

          <plugin>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>${projectInfoReportsPluginVersion}</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>project-team</report>
                  <report>mailing-list</report>
                  <report>cim</report>
                  <report>issue-tracking</report>
                  <report>license</report>
                  <report>scm</report>
                  <report>dependencies</report>
                  <report>dependency-convergence</report>
                  <report>plugin-management</report>
                  <report>plugins</report>
                  <report>dependency-management</report>
                  <report>summary</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>

  </profiles>

</project>
