Files
upo-ai/pom.xml
Berack96 af41eae58c JAR
- modified library loading
- jar now is os indipendent (win11 only tested)
2024-01-08 19:17:47 +01:00

173 lines
6.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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>net.berack.upo</groupId>
<artifactId>upo-ai</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.17</maven.compiler.source>
<maven.compiler.target>1.17</maven.compiler.target>
<smile.version>2.2.0</smile.version>
</properties>
<repositories>
<repository>
<id>bayesfusion-repo</id>
<name>BayesFusion Repository</name>
<url>https://support.bayesfusion.com/maven-A</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.bayesfusion</groupId>
<artifactId>jsmile</artifactId>
<version>${smile.version}</version>
</dependency>
</dependencies>
<!-- Setting variables/properties for differents OS (mainly for smile API)-->
<profiles>
<profile>
<id>MacNative</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<nativeSuffix>macos</nativeSuffix>
<smileFile>libjsmile.jnilib</smileFile>
</properties>
</profile>
<profile>
<id>WinNative</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties>
<nativeSuffix>win64</nativeSuffix>
<smileFile>jsmile.dll</smileFile>
</properties>
</profile>
<profile>
<id>LinuxNative</id>
<activation>
<os>
<family>Unix</family>
</os>
</activation>
<properties>
<nativeSuffix>linux64</nativeSuffix>
<smileFile>libjsmile.so</smileFile>
</properties>
</profile>
</profiles>
<build>
<plugins>
<!-- Getting jsmile library (from https://support.bayesfusion.com/docs/Wrappers/)-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>resource-dependencies</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.bayesfusion</groupId>
<artifactId>jsmile-native-win64</artifactId>
<version>${smile.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<includes>*jsmile*</includes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.basedir}/src/main/resources/</outputDirectory>
</configuration>
</execution>
<execution>
<id>resource-dependencies</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.bayesfusion</groupId>
<artifactId>jsmile-native-macos</artifactId>
<version>${smile.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<includes>*jsmile*</includes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.basedir}/src/main/resources/</outputDirectory>
</configuration>
</execution>
<execution>
<id>resource-dependencies</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.bayesfusion</groupId>
<artifactId>jsmile-native-linux64</artifactId>
<version>${smile.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<includes>*jsmile*</includes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.basedir}/src/main/resources/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Make a copy of JSMILE to test resources -->
<plugin>
<groupId>com.coderplus.maven.plugins</groupId>
<artifactId>copy-rename-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>copy-file</id>
<phase>compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<fileSets>
<fileSet>
<sourceFile>${project.basedir}/src/main/resources/${smileFile}</sourceFile>
<destinationFile>${project.basedir}/src/test/resources/${smileFile}</destinationFile>
</fileSet>
</fileSets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>