wickra-proof
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.wickra</groupId>
<artifactId>wickra-proof</artifactId>
<version>0.1.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>
<groupId>org.wickra</groupId>
<artifactId>wickra-proof</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>
<name>wickra-proof</name>
<description>The deterministic Proof-of-Backtest core for the JVM over the Wickra C ABI (FFM/Panama): create a stateless Prover, prove a (spec, data) pair to a canonical report and blake3 hash, verify a proof.</description>
<url>https://github.com/wickra-lib/wickra-proof</url>
<licenses>
<license>
<name>MIT</name>
<url>https://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
<license>
<name>Apache-2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>kingchenc</id>
<name>kingchenc</name>
<url>https://github.com/kingchenc</url>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/wickra-lib/wickra-proof.git</connection>
<developerConnection>scm:git:ssh://git@github.com/wickra-lib/wickra-proof.git</developerConnection>
<url>https://github.com/wickra-lib/wickra-proof</url>
<tag>HEAD</tag>
</scm>
<properties>
<maven.compiler.release>22</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- The native C ABI library is built by `cargo build -p wickra-proof-c`
(debug profile) into the workspace target/debug directory. -->
<native.lib.dir>${project.basedir}/../../target/debug</native.lib.dir>
<junit.version>6.1.3</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.16.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<!-- FFM needs native access enabled. native.lib.dir goes through
systemPropertyVariables (not argLine) so a path with spaces is not
split into separate JVM arguments. -->
<argLine>--enable-native-access=ALL-UNNAMED</argLine>
<systemPropertyVariables>
<native.lib.dir>${native.lib.dir}</native.lib.dir>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
<!--
The `release` profile is what `mvn -Prelease deploy` activates. Without it
Maven matches no profile, warns, and deploys bare: no sources jar, no
javadoc jar, no signatures, and no publishing plugin to send them with.
Central requires all four, so the deployment is rejected after the job has
already reported success.
-->
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<doclint>none</doclint>
<quiet>true</quiet>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals><goal>jar</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals><goal>sign</goal></goals>
<configuration>
<!-- Non-interactive signing on CI: modern GPG needs loopback
pinentry to take the passphrase from the env without a TTY. -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.11.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<!-- Wait for the deployment to be *published*, not merely
validated. Without this the plugin stops at validation and
prints "to finish publishing visit ...", so the job reports
success while the artifact is not on the repository and
anything failing after validation is invisible here. -->
<waitUntil>published</waitUntil>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>