<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>fr.ifremer.reefdb</groupId> <artifactId>reefdb</artifactId> <version>1.0</version> </parent> <artifactId>reefdb-ui-swing</artifactId> <packaging>jar</packaging> <name>Reef DB :: UI</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- jaxx configuration --> <jaxx.addProjectClassPath>true</jaxx.addProjectClassPath> <jaxx.addSourcesToClassPath>true</jaxx.addSourcesToClassPath> <jaxx.defaultErrorUIFQN> jaxx.runtime.validator.swing.ui.ImageValidationUI </jaxx.defaultErrorUIFQN> <!--<jaxx.useUIManagerForIcon>true</jaxx.useUIManagerForIcon>--> <jaxx.generateHelp>true</jaxx.generateHelp> <jaxx.generateSearch>false</jaxx.generateSearch> <jaxx.autoImportCss>true</jaxx.autoImportCss> <jaxx.autoRecurseInCss>false</jaxx.autoRecurseInCss> <jaxx.addAutoHandlerUI>true</jaxx.addAutoHandlerUI> <!-- jaxx help configuration --> <jaxx.helpsetName>reefdb</jaxx.helpsetName> <jaxx.locales>fr,en</jaxx.locales> <jaxx.mergeIdsToInput>true</jaxx.mergeIdsToInput> <jaxx.inputHelpDirectory> src/main/filtered-resources </jaxx.inputHelpDirectory> <jaxx.inputHelpFilenamePrefix>reefdb-help</jaxx.inputHelpFilenamePrefix> <jaxx.helpBrokerFQN> fr.ifremer.reefdb.ui.swing.ReefDbHelpBroker </jaxx.helpBrokerFQN> <!-- i18n configuration --> <i18n.bundleOutputName>reefdb-i18n</i18n.bundleOutputName> <i18n.generateCsvFile>true</i18n.generateCsvFile> <i18n.bundleCsvFile> ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv </i18n.bundleCsvFile> <maven.jar.main.class> fr.ifremer.reefdb.ui.swing.RunUI </maven.jar.main.class> <bundlePrefix>reefdb-${project.version}</bundlePrefix> <reefdb.log.file> <!--\$\{java.io.tmpdir\}/reefdb-${project.version}.log--> reefdb-${project.version}.log </reefdb.log.file> <!-- generate license bundled files --> <license.generateBundle>true</license.generateBundle> <license.bundleThirdPartyPath> META-INF/reefdb-THIRD-PARTY.txt </license.bundleThirdPartyPath> <license.bundleLicensePath> META-INF/reefdb-LICENSE.txt </license.bundleLicensePath> <!-- Post Release configuration --> <skipPostRelease>false</skipPostRelease> </properties> <dependencies> <!-- Sibling dependencies --> <dependency> <groupId>fr.ifremer.reefdb</groupId> <artifactId>reefdb-core</artifactId> <version>${project.version}</version> </dependency> <!-- Quadige2 Core --> <dependency> <groupId>fr.ifremer.reefdb</groupId> <artifactId>quadrige2-core-shared</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>fr.ifremer.reefdb</groupId> <artifactId>reefdb-ui-swing-updater</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>fr.ifremer.reefdb</groupId> <artifactId>reefdb-ui-swing-launcher</artifactId> <version>${project.version}</version> <type>exe</type> <classifier>bin</classifier> </dependency> <!-- Nuiton-* --> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-utils</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-converter</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-decorator</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-validator</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-updater</artifactId> </dependency> <dependency> <groupId>org.nuiton.i18n</groupId> <artifactId>nuiton-i18n</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-config</artifactId> </dependency> <!-- librairie Jaxx --> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-runtime</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-config</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-validator</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-widgets</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-widgets-number</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-application-api</artifactId> </dependency> <dependency> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-application-swing</artifactId> </dependency> <!-- swing widgets --> <dependency> <groupId>org.swinglabs.swingx</groupId> <artifactId>swingx-core</artifactId> </dependency> <dependency> <groupId>org.swinglabs.swingx</groupId> <artifactId>swingx-common</artifactId> </dependency> <dependency> <groupId>org.swinglabs.swingx</groupId> <artifactId>swingx-autocomplete</artifactId> </dependency> <!--<dependency>--> <!--<groupId>com.github.insubstantial</groupId>--> <!--<artifactId>substance</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>com.github.insubstantial</groupId>--> <!--<artifactId>substance-swingx</artifactId>--> <!--</dependency>--> <!-- Commons --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jcl</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <scope>runtime</scope> </dependency> <!-- JNA (need for OS shutdown hook) --> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> </dependency> <!-- Joda time --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.7</version> </dependency> <!-- Unit testing --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-validator</artifactId> <scope>test</scope> <classifier>tests</classifier> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/filtered-resources</directory> <filtering>true</filtering> <includes> <include>*.config</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.nuiton.jaxx</groupId> <artifactId>jaxx-maven-plugin</artifactId> <executions> <execution> <goals> <goal>generate</goal> <goal>generate-help-ids</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.nuiton.i18n</groupId> <artifactId>i18n-maven-plugin</artifactId> <executions> <execution> <id>scan-sources</id> <configuration> <entries> <entry> <specificGoal>parserValidation</specificGoal> <basedir>${maven.src.dir}/main/java/</basedir> <includes> <param>**/**-validation.xml</param> </includes> </entry> <entry> <basedir>${maven.gen.dir}/java/</basedir> </entry> </entries> </configuration> <goals> <goal>parserJava</goal> <goal>parserValidation</goal> <goal>gen</goal> </goals> </execution> <execution> <id>make-bundle</id> <goals> <goal>bundle</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <id>attach-licenses</id> <goals> <goal>update-project-license</goal> <goal>add-third-party</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <useUniqueVersions>false</useUniqueVersions> <addClasspath>true</addClasspath> <classpathPrefix>./lib/</classpathPrefix> </manifest> <!-- <manifestEntries> <Class-Path>../plugins/t0403_product_OBSDEB_export/t0403_product_obsdeb_export_0_1.jar ../plugins/t0403_product_OBSDEB_export/userRoutines.jar</Class-Path> </manifestEntries> --> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <showDeprecation>false</showDeprecation> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> <extensions> <!-- Give a access to settings.xml server properties (need to deploy bundles)--> <extension> <groupId>com.github.shyiko.servers-maven-extension</groupId> <artifactId>servers-maven-extension</artifactId> <version>1.2.0</version> </extension> </extensions> </build> <profiles> <profile> <id>add-release-properties</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <properties> <reefdb.log.file>$\{reefdb.log.file\}</reefdb.log.file> </properties> </profile> <profile> <id>default-bundle</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <goals> <goal>copy-dependencies</goal> </goals> <phase>prepare-package</phase> <configuration> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> <outputDirectory>${project.build.directory}/lib</outputDirectory> <silent>true</silent> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>assembly-standalone</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>true</attach> <descriptors> <descriptor> src/main/assembly/standalone.xml </descriptor> <descriptor> src/main/assembly/i18n.xml </descriptor> <descriptor> src/main/assembly/help.xml </descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>linux-x64-bundle</id> <activation> <property> <name>performFullRelease64</name> <value>true</value> </property> </activation> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>get-linux-x64-jre</id> <phase>prepare-package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/jre-linux-x64 </outputDirectory> <artifactItems> <artifactItem> <groupId>com.oracle</groupId> <artifactId>jre</artifactId> <version>${jreVersion}</version> <type>zip</type> <classifier>linux-x64</classifier> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <finalName>${bundlePrefix}</finalName> </configuration> <executions> <execution> <id>assembly-full-linux-x64</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <descriptors> <descriptor> src/main/assembly/full-linux-x64.xml </descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>linux-i586-bundle</id> <activation> <property> <name>performFullRelease</name> <value>true</value> </property> </activation> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>get-linux-i586-jre</id> <phase>prepare-package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/jre-linux-i586 </outputDirectory> <artifactItems> <artifactItem> <groupId>com.oracle</groupId> <artifactId>jre</artifactId> <version>${jreVersion}</version> <type>zip</type> <classifier>linux-i586</classifier> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <finalName>${bundlePrefix}</finalName> </configuration> <executions> <execution> <id>assembly-full-linux-i586</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <descriptors> <descriptor> src/main/assembly/full-linux-i586.xml </descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>windows-i586-bundle</id> <activation> <property> <name>performFullRelease</name> <value>true</value> </property> </activation> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>get-windows-i586-jre</id> <phase>prepare-package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/jre-windows-i586 </outputDirectory> <artifactItems> <artifactItem> <groupId>com.oracle</groupId> <artifactId>jre</artifactId> <version>${jreVersion}</version> <type>zip</type> <classifier>windows-i586</classifier> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <finalName>${bundlePrefix}</finalName> </configuration> <executions> <execution> <id>assembly-full-windows-i586</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <descriptors> <descriptor> src/main/assembly/full-windows-i586.xml </descriptor> </descriptors> </configuration> </execution> <!-- Ifremer FIXME : uncomment when stable release, for production <execution> <id>assembly-full-windows-i586-ifremer</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <descriptors> <descriptor> src/main/assembly/prod/full-windows-i586-ifremer.xml </descriptor> </descriptors> </configuration> </execution> --> </executions> </plugin> </plugins> </build> </profile> <profile> <id>windows-x64-bundle</id> <activation> <property> <name>performFullRelease64</name> <value>true</value> </property> </activation> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>get-windows-x64-jre</id> <phase>prepare-package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/jre-windows-x64 </outputDirectory> <artifactItems> <artifactItem> <groupId>com.oracle</groupId> <artifactId>jre</artifactId> <version>${jreVersion}</version> <type>zip</type> <classifier>windows-x64</classifier> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <finalName>${bundlePrefix}</finalName> </configuration> <executions> <execution> <id>assembly-full-windows-x64</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <attach>false</attach> <descriptors> <descriptor> src/main/assembly/full-windows-x64.xml </descriptor> </descriptors> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>deploy-bundles-to-forge</id> <activation> <property> <name>performFullRelease</name> <value>true</value> </property> </activation> <properties> <project.changelog.url>${project.issueManagement.url}&ref=changelog_page.php</project.changelog.url> <forge.group_id>252</forge.group_id> <forge.packageName>BDRecif</forge.packageName> </properties> <build> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>check-release-properties</id> <goals> <goal>enforce</goal> </goals> <phase>initialize</phase> <configuration> <rules> <requireProperty> <property>settings.servers.forge-ifremer.username</property> <message>You must set property 'username' for the server 'forge-ifremer'. Please update your settings.xml !</message> </requireProperty> <requireProperty> <property>settings.servers.forge-ifremer.password</property> <message>You must set property 'password' for the server 'forge-ifremer'. Please update your settings.xml !</message> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>webtest-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <haltonfailure>true</haltonfailure> <haltonerror>true</haltonerror> <loglevel>info</loglevel> </configuration> <executions> <execution> <phase>deploy</phase> <goals> <goal>test</goal> </goals> <configuration> <host>forge.ifremer.fr</host> <port>443</port> <protocol>https</protocol> <sourcedirectory>${basedir}/src/main/ant</sourcedirectory> <sourcefile>forge-ifremer.xml</sourcefile> <target>deploy-bundles-to-forge</target> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>profiling</id> <build> <resources> <resource> <directory>src/main/profiling</directory> <includes> <include>**/*</include> </includes> </resource> </resources> </build> <dependencies> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-profiling</artifactId> <scope>runtime</scope> </dependency> </dependencies> </profile> </profiles> </project>