PAMGuard/pom.xml

998 lines
31 KiB
XML
Raw Normal View History

2024-08-04 10:41:08 +00:00
<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>
<groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId>
<version>2.02.12</version>
<name>Pamguard</name>
<description>Pamguard using Maven to control dependencies</description>
<url>www.pamguard.org</url>
<organization>
<name>Sea Mammal Research Unit, University of St. Andrews</name>
<url>http://www.smru.st-andrews.ac.uk</url>
</organization>
2024-08-04 10:41:08 +00:00
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<javafx.version>21</javafx.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<!-- Tethys version control -->
<jaxb.runtime.version>2.4.0-b180830.0438</jaxb.runtime.version>
<jaxb.api.version>2.4.0-b180830.0359</jaxb.api.version>
<jaxb.xjc.version>2.4.0-b180830.0438</jaxb.xjc.version>
2024-08-04 10:41:08 +00:00
<mockito.version>1.10.19</mockito.version>
<powermock.version>1.6.6</powermock.version>
</properties>
<build>
<!-- Define where the source and test directories are -->
<sourceDirectory>${basedir}/src</sourceDirectory>
<testSourceDirectory>${basedir}/src/test</testSourceDirectory> <!-- where the Unit tets are located -->
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>META-INF/*.SF,META-INF/*.DSA,META-INF/*.RSA</exclude>
<exclude>**/*.java</exclude> <!-- don't include any source files -->
<exclude>jars/*.*</exclude> <!-- don't include files in the jars folder -->
</excludes>
</resource>
</resources>
<plugins>
<!-- original maven compiler definition - uses the JRE's javac compiler, not the one Eclipse uses
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>13</release>
</configuration>
-->
2024-08-04 10:41:08 +00:00
<!-- attempt to use the Eclipse JDT compiler, so that the errors match when building
https://stackoverflow.com/questions/38070326/java-generics-compiler-error-not-shown-in-eclipse
https://wiki.eclipse.org/JDT/FAQ#Can_I_use_JDT_outside_Eclipse_to_compile_Java_code.3F
https://wiki.eclipse.org/Tycho/FAQ#Can_I_use_the_Tycho_compiler_support_in_non-OSGi_projects.2C_too.3F
2024-08-04 10:41:08 +00:00
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.12.1</version>
<configuration>
<!-- set compiler to use Java version 11 API https://docs.oracle.com/javase/9/tools/javac.htm#JSWOR627 -->
<release>21</release>
<compilerId>jdt</compilerId>
</configuration>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.eclipse.tycho/tycho-compiler-jdt -->
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-jdt</artifactId>
<version>1.5.1</version>
</dependency>
</dependencies>
</plugin>
<!-- Set up javafx properly. -->
2024-08-04 10:41:08 +00:00
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
</plugin>
<!-- Maven Shade plugin - for creating the uberjar / fatjar -->
<!-- see http://maven.apache.org/plugins/maven-shade-plugin/index.html for details -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
<filters>
<!-- Moved these filters up to here from where they were int <executions><execution><configurtion>
based on advice at https://stackoverflow.com/questions/34738653/maven-shade-plugin-does-not-exclude-the-manifest-signature-files
and the are now working -->
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude> <!-- get rid of manifests from library jars - also done in orig ant build file -->
<exclude>META-INF/*.DSA</exclude>
Merge from Jamie (#143) * Working on the exporter * Working out on exporter * Working on new symbol options for deep learning and sud file options in SoundAcquisition GUI * Add zero pad option for sud files. * Updates to sud zero pad options on FX GUI * Implementing a data selector for the deep learning module * Bug fix to data transforms if the wave data and sample length are different * Updated POm to ignore test resources and updates to DL data selector * Updates to DL data selector and POM * Work on the data selector for the deep learning module. * Working on the exporter * Working out on exporter * Working on new symbol options for deep learning and sud file options in SoundAcquisition GUI * Add zero pad option for sud files. * Updates to sud zero pad options on FX GUI * Implementing a data selector for the deep learning module * Updated POm to ignore test resources and updates to DL data selector * Bug fix to data transforms if the wave data and sample length are different * Updates to DL data selector and POM * Work on the data selector for the deep learning module. * Data selectors for deep learning models now working with FX Still have to be implemented in Swing * Update deep_learning_help.md Updated help values to have some info on data selectors and symbol managers. * Updates to deep learning symbol options for swing and data selector panel for swing Made tooltips last longer on TD display FX * Update deep_learning_help.md * Swing symbol modifiers for DL and peak freq * Squashed commit of the following: commit bad2255710a251199bf78e063938f10200c72df9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Thu Jul 18 09:47:47 2024 +0100 Better symbol options Add clearer options button to multi option symbol manager panel. * Fix bugs in detection display * Bug fix to hiding panes * Squashed commit of the following: commit 8b5b5b2f18da88d5aa33206966d6a61e2861420e Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri Jul 19 17:14:28 2024 +0100 Updated data selectors for BT display Merging old status bar and new DataSelector options so that they work more consistently on the BT display. commit bad2255710a251199bf78e063938f10200c72df9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Thu Jul 18 09:47:47 2024 +0100 Better symbol options Add clearer options button to multi option symbol manager panel. * Deep learning bug fix * Ignore the class path * Squashed commit of the following: commit 577670ccd09cfdbe66116728e68bb86aff5f2d4a Merge: 6510d226 8b5b5b2f Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:35:01 2024 +0100 Merge branch 'main' of https://github.com/PAMGuard/PAMGuard commit 6510d2260e76f00253c5f204dcacae260b5521e2 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:34:58 2024 +0100 Remove unnecessary text output commit 3da84017568536ca93e1e6f588e8268e31d040e9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:29:38 2024 +0100 updates to Daq New DLL, and some LED control, but hasn't fixed stalling problem. commit 8b5b5b2f18da88d5aa33206966d6a61e2861420e Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri Jul 19 17:14:28 2024 +0100 Updated data selectors for BT display Merging old status bar and new DataSelector options so that they work more consistently on the BT display. commit bad2255710a251199bf78e063938f10200c72df9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Thu Jul 18 09:47:47 2024 +0100 Better symbol options Add clearer options button to multi option symbol manager panel. * Squashed commit of the following: commit 687220dad5ef3e7a2e46fd34abaaed9df80a644b Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 11:42:19 2024 +0100 Change click data selector Change Click BT display so it can handle CompoundDataSelectors commit 577670ccd09cfdbe66116728e68bb86aff5f2d4a Merge: 6510d226 8b5b5b2f Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:35:01 2024 +0100 Merge branch 'main' of https://github.com/PAMGuard/PAMGuard commit 6510d2260e76f00253c5f204dcacae260b5521e2 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:34:58 2024 +0100 Remove unnecessary text output commit 3da84017568536ca93e1e6f588e8268e31d040e9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Mon Jul 22 09:29:38 2024 +0100 updates to Daq New DLL, and some LED control, but hasn't fixed stalling problem. commit 8b5b5b2f18da88d5aa33206966d6a61e2861420e Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri Jul 19 17:14:28 2024 +0100 Updated data selectors for BT display Merging old status bar and new DataSelector options so that they work more consistently on the BT display. commit bad2255710a251199bf78e063938f10200c72df9 Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Thu Jul 18 09:47:47 2024 +0100 Better symbol options Add clearer options button to multi option symbol manager panel. --------- Co-authored-by: Jamie Mac <macster110@gmail.com>
2024-07-22 10:55:06 +00:00
<exclude>META-INF/*.RSA</exclude>
2024-08-04 10:41:08 +00:00
<exclude>test/resources/**</exclude> <!-- get rid of deep learning moduels and wav files used for unit tests -->
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>pamguard.Pamguard</Main-Class>
<Class-Path>.</Class-Path> <!-- this is from the orig ant build file -->
<SplashScreen-Image>Resources/pgBlankSplash.png</SplashScreen-Image> <!-- this is from the orig ant build file -->
</manifestEntries>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
</configuration>
</execution>
</executions>
</plugin>
2024-08-04 10:41:08 +00:00
<!-- The Maven-JDEPS plugin, to analyze necessary JDK dependencies. See
2024-08-04 10:41:08 +00:00
this site for details: https://maven.apache.org/plugins/maven-jdeps-plugin/index.html -->
<plugin>
<groupId>com.github.marschall</groupId>
<artifactId>jdeps-maven-plugin</artifactId>
<version>0.5.1</version>
</plugin>
<!-- The Maven dependency plugin, which can copy all dependencies into a temp folder for jdeps analysis -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/tempDependencies</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
<!-- this deletes all the dependencies in the local repository and downloads them again.
Run a Maven > Update after doing this in order to properly reset the dependencies. Also, you
will need to add the 3 jar files (x3, JasioHost and jave) back into the local repository after
running this command -->
2024-08-04 10:41:08 +00:00
<!-- I'm not sure why, but every time I try to run the shade:shade build to create a
fatjar it first runs this, which deletes all of the dependencies and completely fails.
I think it has something to do with the lifecycle mapping, but that's beyond my Maven
abilities right now.
I can't even remember why I added this in the first place, so I'm going to comment
it out
<execution>
<id>purge-local-dependencies</id>
<phase>process-sources</phase>
<goals>
<goal>purge-local-repository</goal>
</goals>
<configuration>
</configuration>
</execution>
-->
2024-08-04 10:41:08 +00:00
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
2024-08-04 10:41:08 +00:00
<artifactId>
maven-dependency-plugin
</artifactId>
2024-08-04 10:41:08 +00:00
<versionRange>
[3.1.1,)
</versionRange>
2024-08-04 10:41:08 +00:00
<goals>
<goal>
purge-local-repository
</goal>
2024-08-04 10:41:08 +00:00
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>com.github.marschall</groupId>
<artifactId>jdeps-maven-plugin</artifactId>
<version>0.5.1</version>
</plugin>
</plugins>
</reporting>
<!-- ************************* Extra Repositories ************************************* -->
<repositories>
<!-- Project repo to hold the custom jar files that are not available in Maven. Do
this so that we don't have to do the extra step of manually installing jar files in the local repo -->
<repository>
<id>repo</id>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.basedir}/repo</url>
</repository>
2024-08-04 10:41:08 +00:00
<!-- Repo for netCDF -->
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>unidata-all</id>
<name>Unidata netCDF</name>
<url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
</repository>
<!--
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>geomajas</id>
<name>geomajas</name>
<url>http://maven.geomajas.org/</url>
</repository>-->
2024-08-04 10:41:08 +00:00
<!-- Repo for Renjin Script Engine -->
<repository>
<id>bedatadriven</id>
<name>bedatadriven public repo</name>
<url>https://nexus.bedatadriven.com/content/groups/public/</url>
</repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>talan</id>
<name>talan</name>
<url>https://nexus.talanlabs.com/content/repositories/releases/</url>
</repository>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
</repositories>
<!-- ************************* Dependencies ************************************* -->
<dependencies>
<!--jpam project - utilities -->
<dependency>
<groupId>io.github.macster110</groupId>
<artifactId>jpamutils</artifactId>
<version>0.0.59</version>
</dependency>
<!--jpam project - Deep learning java library -->
<dependency>
<groupId>io.github.macster110</groupId>
<artifactId>jdl4pam</artifactId>
<version>0.0.99b</version>
</dependency>
<!-- https://mvnrepository.com/artifact/gov.nist.math/jama -->
<dependency>
<groupId>gov.nist.math</groupId>
<artifactId>jama</artifactId>
<version>1.0.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-swing -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-media -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- Decorates JavaFX components with error icons if inputs are incorrect-->
<dependency>
<groupId>net.synedra</groupId>
<artifactId>validatorfx</artifactId>
<version>0.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.19</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
<version>2.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.controlsfx/controlsfx -->
<dependency>
<groupId>org.controlsfx</groupId>
<artifactId>controlsfx</artifactId>
<version>11.2.0</version>
<exclusions>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://search.maven.org/artifact/org.kordamp.ikonli/ikonli-javafx/12.2.0/jar -->
<!-- Icon symbol pack to replace FontAwesome. This is the core library, and the
actual symbol packs need to be added separately (see below) -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-javafx</artifactId>
<version>12.3.1</version>
</dependency>
<!-- Icon symbol pack for swing icons . -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-swing</artifactId>
<version>12.3.1</version>
</dependency>
<!-- Ikonli MaterialDesign2 (Latest) font pack https://kordamp.org/ikonli/cheat-sheet-materialdesign2.html -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-materialdesign2-pack</artifactId>
<version>12.3.1</version>
</dependency>
<!-- Ikonli File Icons (Latest) font pack https://kordamp.org/ikonli/cheat-sheet-materialdesign2.html -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-fileicons-pack</artifactId>
<version>12.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.geographiclib/GeographicLib-Java
Used in the video range module-->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>net.sf.geographiclib</groupId>
<artifactId>GeographicLib-Java</artifactId>
<version>1.50</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jogamp.gluegen/gluegen
<dependency>
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<version>2.3.2</version>
</dependency>-->
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/com.healthmarketscience.jackcess/jackcess
<dependency>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess</artifactId>
<version>3.0.1</version>
</dependency>-->
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jogamp.jogl/jogl-all-main
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
<version>2.3.2</version>
</dependency>-->
2024-08-04 10:41:08 +00:00
<!-- NOT SURE IF WE NEED THE JAXB LIBRARIES HERE - NO ERRORS WHEN REMOVED
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.2</version>
</dependency>
-->
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/org.jflac/jflac-codec -->
<dependency>
<groupId>org.jflac</groupId>
<artifactId>jflac-codec</artifactId>
<version>1.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.help/javahelp -->
<dependency>
<groupId>javax.help</groupId>
<artifactId>javahelp</artifactId>
<version>2.0.05</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.5.0</version>
</dependency>
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna-platform -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>5.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fazecast/jSerialComm
I've tried updating this to 2.11 bu tit's throwing problems at me with a missing Android class-->
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>2.5.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/edu.emory.mathcs/JTransforms -->
<dependency>
<groupId>edu.emory.mathcs</groupId>
<artifactId>JTransforms</artifactId>
<version>2.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor -->
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
<!-- this is needed so that tensorflow models run properly (used in Deep Learning plugin) -->
<!-- NOTE it is important this is included before edu.ucar.netcdfAll so
that this version is used instead of the internal version - exclusions do
not seem to work otherwise -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
2024-08-04 10:41:08 +00:00
<version>3.17.0</version>
</dependency>
<!-- https://docs.unidata.ucar.edu/netcdf-java/5.2/userguide/using_netcdf_java_artifacts.html -->
<!-- exclusions have been added here to fix problem with Deep Learning plugin - see above -->
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>netcdfAll</artifactId>
<version>4.6.14</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
</exclusion>
</exclusions>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/org.springframework.core -->
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.24</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.renjin/renjin-script-engine
Used to export data to R structures-->
<dependency>
<groupId>org.renjin</groupId>
<artifactId>renjin-script-engine</artifactId>
<version>0.9.2725</version>
</dependency>
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api
this one is only needed to get rid of an annoying warning that shows up during startup -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta4</version>
</dependency>
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop
this one is only needed to get rid of an annoying warning that shows up during startup -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.8.0-beta4</version>
</dependency>
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/org.docx4j/docx4j-JAXB-ReferenceImpl -->
<!-- note that we are excluding slf4j-api here, because if we don't then one of the
transitive dependencies of docx4j (jcl-over-slf4j) will try to load an older
version of slf4j-api, resulting in a weird warning/error that shows up every time that
PAMGuard start up -->
2024-08-04 10:41:08 +00:00
<!-- DONT BOTHER WITH EXCLUSION, DOESN'T MAKE THE ERROR GO AWAY. Leaving code here
just in case the older version does cause a conflict at some point -->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>11.1.3</version>
<!--
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
-->
2024-08-04 10:41:08 +00:00
</dependency>
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.45.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.ucanaccess/ucanaccess -->
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/nz.ac.waikato.cms.weka/weka-dev -->
<dependency>
<groupId>nz.ac.waikato.cms.weka</groupId>
<artifactId>weka-dev</artifactId>
<version>3.7.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.vecmath/vecmath -->
<dependency>
<groupId>javax.vecmath</groupId>
<artifactId>vecmath</artifactId>
<version>1.5.2</version>
</dependency>
<!-- Jave2 (https://github.com/a-schild/jave2) - fork of original jave from sauronsoft. A LOT bigger; the win64 files alone are > 60Mb compared
to 14Mb originally. Since the old one worked fine, let's stick with it for now and save the space
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-win64</artifactId>
<version>2.7.1</version>
</dependency>
-->
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/it.sauronsoftware/jave
DOESN'T WORK - NOT IN THE ICM REPOSITORY ANYMORE. STICK WITH ORIG JAR FILE
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
-->
2024-08-04 10:41:08 +00:00
<!-- From NilusXMLGenerator POM at https://bitbucket.org/tethysacousticmetadata/nilusxmlgenerator/src/master/-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${jaxb.runtime.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb.xjc.version}</version>
</dependency>
<!-- dependencies copied from TethysJavaClient -->
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-beta1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-apache-client</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.miglayout</groupId>
<artifactId>miglayout</artifactId>
<version>3.7.4</version>
</dependency>
<dependency>
<groupId>ca.juliusdavies</groupId>
<artifactId>not-yet-commons-ssl</artifactId>
<version>0.3.11</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.9</version>
</dependency>
<!-- dependencies copied from TethysJavaClient END -->
<!-- Thethy library not in Maven central, so you may need to copy the javaclient and nilus folders from
e.g. C:\Users\dg50\source\repos\**your projectfolder**\repo\tethys\org
to C:\Users\dg50\.m2\repository\tethys\org -->
<dependency>
<groupId>tethys.org</groupId>
<artifactId>nilus</artifactId>
<version>3.1</version>
</dependency>
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>tethys.org</groupId>
<artifactId>javaclient</artifactId>
<version>3.0</version>
</dependency>
2024-08-04 10:41:08 +00:00
<!--
X3 library for decompressing sud files. Not in Maven repository
you may need to copy files from your downloaded PAMGuard source code,
e.g. C:\Users\*yourreposfolder*\source\repos\PAMGuardPAMGuard\repo\pamguard\org\x3\2.2.2 to
C:\Users\*yourusername*\.m2\repository\pamguard\org\x3\2.2.2
-->
2024-08-04 10:41:08 +00:00
<dependency>
<groupId>org.pamguard</groupId>
<artifactId>x3</artifactId>
<version>2.2.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/it.sauronsoftware/jave -->
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
<!-- not in Maven repository -->
<dependency>
<groupId>com.synthbot</groupId>
<artifactId>jasiohost</artifactId>
<version>1.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->
<!--
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.10.1</version>
</dependency>
-->
2024-08-04 10:41:08 +00:00
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.1stleg/jnativehook -->
<!-- For global hotkeys, especially in Logger -->
<dependency>
<groupId>com.1stleg</groupId>
<artifactId>jnativehook</artifactId>
<version>2.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.swinglabs.swingx/swingx-all -->
<!-- For new Network Receive Module -->
<dependency>
<groupId>org.swinglabs.swingx</groupId>
<artifactId>swingx-all</artifactId>
<version>1.6.5-1</version>
</dependency>
<!-- Extra 3D bits for JavaFX -->
<dependency>
<groupId>org.fxyz3d</groupId>
<artifactId>fxyz3d</artifactId>
<version>0.6.0</version>
</dependency>
<!-- Atlanta style for JavaFX -->
<dependency>
<groupId>io.github.mkpaz</groupId>
<artifactId>atlantafx-base</artifactId>
<version>2.0.1</version>
</dependency>
<!-- Four dependencies from xbee library that are needed for Genus module. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
</dependency>
</dependencies>
</project>