tfhe-java
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.rdlopes</groupId> <artifactId>tfhe-java</artifactId> <version>0.9.0</version> </dependency>
<?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> <parent> <groupId>io.github.rdlopes</groupId> <artifactId>maven-root-pom</artifactId> <version>1.10.0</version> </parent> <artifactId>tfhe-java</artifactId> <version>0.9.0</version> <name>TFHE Java</name> <description>TFHE encryption scheme for Java</description> <url>https://github.com/rdlopes/tfhe-java</url> <scm> <connection>scm:git:https://github.com/rdlopes/${project.artifactId}.git</connection> <developerConnection>scm:git:https://github.com/rdlopes/${project.artifactId}.git</developerConnection> <tag>0.9.0</tag> <url>https://github.com/rdlopes/${project.artifactId}</url> </scm> <properties> <!-- Project properties --> <java.version>25</java.version> <native.basedir>${project.basedir}/.native</native.basedir> <native-libs.basedir>${native.basedir}/libs</native-libs.basedir> <native-bindings.basedir>${native.basedir}/bindings</native-bindings.basedir> <native-libs.output.directory>${project.build.outputDirectory}/native</native-libs.output.directory> <native-bindings.output.directory>${project.build.directory}/generated-sources/tfhe-rs</native-bindings.output.directory> <tfhe-rs.basedir>${native.basedir}/tfhe-rs</tfhe-rs.basedir> <!--suppress XmlUnresolvedReference --> <java.library.path>${native-libs.basedir}/${os.detected.name}/${os.detected.arch}</java.library.path> <!-- Library dependencies --> <commons-io.version>2.20.0</commons-io.version> <commons-lang3.version>3.18.0</commons-lang3.version> <!-- Plugin dependencies--> <os-maven-plugin.version>1.7.1</os-maven-plugin.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <environmentVariables> <RUST_BACKTRACE>full</RUST_BACKTRACE> </environmentVariables> <argLine combine.children="append">--enable-native-access=ALL-UNNAMED -Djava.library.path=${java.library.path}</argLine> <excludedGroups>largeBitSize</excludedGroups> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-native-bindings</id> <goals> <goal>copy-resources</goal> </goals> <phase>generate-sources</phase> <configuration> <outputDirectory>${native-bindings.output.directory}</outputDirectory> <resources> <resource> <directory>${native-bindings.basedir}</directory> <includes> <include>**/*.java</include> </includes> </resource> </resources> </configuration> </execution> <execution> <id>copy-native-libs</id> <goals> <goal>copy-resources</goal> </goals> <phase>generate-resources</phase> <configuration> <outputDirectory>${native-libs.output.directory}</outputDirectory> <resources> <resource> <directory>${native-libs.basedir}</directory> <includes> <include>LICENSE</include> <include>**/*.h</include> <include>**/*.dylib</include> <include>**/*.so</include> <include>**/*.dll</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-native-bindings</id> <goals> <goal>add-source</goal> </goals> <phase>process-sources</phase> <configuration> <sources> <source>${native-bindings.output.directory}</source> </sources> </configuration> </execution> </executions> </plugin> </plugins> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>${os-maven-plugin.version}</version> </extension> </extensions> </build> <profiles> <profile> <id>local</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <configuration> <excludeDefaultDirectories>false</excludeDefaultDirectories> <filesets> <fileset> <directory>${native.basedir}</directory> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>clone-tfhe-rs</id> <goals> <goal>exec</goal> </goals> <phase>initialize</phase> <configuration> <executable>git</executable> <arguments> <argument>clone</argument> <argument>https://github.com/zama-ai/tfhe-rs.git</argument> <argument>${tfhe-rs.basedir}</argument> </arguments> </configuration> </execution> <execution> <id>generate-native-library</id> <goals> <goal>exec</goal> </goals> <phase>initialize</phase> <configuration> <workingDirectory>${tfhe-rs.basedir}</workingDirectory> <executable>make</executable> <arguments> <argument>build_c_api</argument> </arguments> </configuration> </execution> <execution> <id>generate-bindings-includes</id> <goals> <goal>exec</goal> </goals> <phase>initialize</phase> <configuration> <workingDirectory>${tfhe-rs.basedir}</workingDirectory> <executable>jextract</executable> <arguments> <argument>target/release/tfhe.h</argument> <argument>--dump-includes</argument> <argument>jextract-includes.txt</argument> </arguments> </configuration> </execution> <execution> <id>filter-bindings-includes</id> <goals> <goal>exec</goal> </goals> <phase>initialize</phase> <configuration> <workingDirectory>${tfhe-rs.basedir}</workingDirectory> <executable>grep</executable> <arguments> <argument>tfhe</argument> <argument>jextract-includes.txt</argument> </arguments> <outputFile>${tfhe-rs.basedir}/jextract-includes-filtered.txt</outputFile> </configuration> </execution> <execution> <id>generate-bindings</id> <goals> <goal>exec</goal> </goals> <phase>initialize</phase> <configuration> <workingDirectory>${tfhe-rs.basedir}</workingDirectory> <executable>jextract</executable> <arguments> <argument>@jextract-includes-filtered.txt</argument> <argument>target/release/tfhe.h</argument> <argument>--header-class-name</argument> <argument>TfheHeader</argument> <argument>--target-package</argument> <argument>io.github.rdlopes.tfhe.ffm</argument> <argument>--output</argument> <argument>${native-bindings.basedir}</argument> </arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>prepare-native-libraries</id> <goals> <goal>copy-resources</goal> </goals> <phase>initialize</phase> <configuration> <outputDirectory>${native-libs.basedir}/${os.detected.name}/${os.detected.arch}</outputDirectory> <resources> <resource> <directory>${tfhe-rs.basedir}/target/release</directory> <includes> <include>*.h</include> <include>*.dylib</include> <include>*.so</include> <include>*.dll</include> </includes> </resource> </resources> </configuration> </execution> <execution> <id>copy-licence</id> <goals> <goal>copy-resources</goal> </goals> <phase>initialize</phase> <configuration> <outputDirectory>${native-libs.basedir}</outputDirectory> <resources> <resource> <directory>${tfhe-rs.basedir}/tfhe</directory> <includes> <include>LICENSE</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>