diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..3d47f986c41db29ec6dc0d5036bf760b3a1cf366 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.idea/ +target/ +.settings/ +*.iml +.project +.classpath \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..3eb5316e668076dae80fcc9dd9e05ac3f1aacf74 --- /dev/null +++ b/pom.xml @@ -0,0 +1,110 @@ +<?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> + + <!-- Inherited Icy Parent POM --> + <parent> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>parent-pom-plugin</artifactId> + <version>1.0.3</version> + </parent> + + <!-- Project Information --> + <artifactId>joal</artifactId> + <version>2.3.2</version> + + <packaging>jar</packaging> + + <name>JOAL for Icy</name> + <description>Java™ Binding for the OpenAL® API</description> + <url>http://icy.bioimageanalysis.org/plugin/jogamp-joal-library-for-icy/</url> + <inceptionYear>2020</inceptionYear> + + <organization> + <name>Institut Pasteur</name> + <url>https://pasteur.fr</url> + </organization> + + <licenses> + <license> + <name>GNU GPLv3</name> + <url>https://www.gnu.org/licenses/gpl-3.0.en.html</url> + <distribution>repo</distribution> + </license> + </licenses> + + <developers> + <developer> + <id>sdallongeville</id> + <name>Stéphane Dallongeville</name> + <url>https://research.pasteur.fr/fr/member/stephane-dallongeville/</url> + <roles> + <role>founder</role> + <role>lead</role> + <role>architect</role> + <role>developer</role> + <role>debugger</role> + <role>tester</role> + <role>maintainer</role> + <role>support</role> + </roles> + </developer> + </developers> + + <!-- Project properties --> + <properties> + + </properties> + + <!-- Project build configuration --> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>3.1.1</version> + <executions> + <execution> + <id>${project.artifactId}-fetch</id> + <phase>generate-sources</phase> + <goals> + <goal>unpack-dependencies</goal> + </goals> + <configuration> + <includeArtifactIds>joal</includeArtifactIds> + <outputDirectory>${project.build.outputDirectory}</outputDirectory> + <stripVersion>true</stripVersion> + <excludeTransitive>true</excludeTransitive> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <!-- List of project's dependencies --> + <dependencies> + <!-- The core of Icy --> + <dependency> + <groupId>org.bioimageanalysis.icy</groupId> + <artifactId>icy-kernel</artifactId> + </dependency> + + <dependency> + <groupId>org.jogamp.joal</groupId> + <artifactId>joal</artifactId> + <version>2.3.2</version> + </dependency> + </dependencies> + + <!-- Icy Maven repository (to find parent POM) --> + <repositories> + <repository> + <id>icy</id> + <name>Icy's Nexus</name> + <url>https://icy-nexus.pasteur.fr/repository/Icy/</url> + </repository> + </repositories> +</project> diff --git a/src/main/java/plugins/stef/library/JOALPlugin.java b/src/main/java/plugins/stef/library/JOALPlugin.java new file mode 100644 index 0000000000000000000000000000000000000000..ffaec728d9530591924695ae06462b8108377d15 --- /dev/null +++ b/src/main/java/plugins/stef/library/JOALPlugin.java @@ -0,0 +1,26 @@ +package plugins.stef.library; + +import icy.plugin.abstract_.Plugin; +import icy.plugin.interface_.PluginLibrary; + +/** + * Icy wrapper for the JogAmp JOAL library. + * + * @author Stephane Dallongeville + */ +public class JOALPlugin extends Plugin implements PluginLibrary +{ + static + { + try + { + // load native library + Plugin.loadLibrary(JOALPlugin.class, "joal"); + } + catch (Throwable t) + { + System.err.println("Could not load joal native library."); + System.err.println(t.getMessage()); + } + } +} diff --git a/src/main/resources/joal.png b/src/main/resources/joal.png new file mode 100644 index 0000000000000000000000000000000000000000..47d79904571e9b3afc1a4d00f05255d9bc8569e0 Binary files /dev/null and b/src/main/resources/joal.png differ