| <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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.jctools</groupId> |
| <artifactId>jctools-parent</artifactId> |
| <version>4.0.5-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>jctools-core</artifactId> |
| <name>Java Concurrency Tools Core Library</name> |
| <description>Java Concurrency Tools Core Library</description> |
| <packaging>bundle</packaging> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>osgi.annotation</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-all</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava-testlib</artifactId> |
| <version>${guava-testlib.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.jetbrains.kotlinx</groupId> |
| <artifactId>lincheck-jvm</artifactId> |
| <version>${lincheck.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <includes> |
| <include>*</include> |
| </includes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Import-Package>sun.misc;resolution:=optional</Import-Package> |
| </instructions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <additionalOptions> |
| <additionalOption>-Xdoclint:none</additionalOption> |
| </additionalOptions> |
| <source>8</source> |
| </configuration> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>jctools-build</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>generate-atomic-array-queues</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| <mainClass>org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator</mainClass> |
| <arguments> |
| <!-- Output dest --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/atomic</argument> |
| <!-- List of input files --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpmcArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpmcArrayQueue.java</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-atomic-linked-queues</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| <mainClass>org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator</mainClass> |
| <arguments> |
| <!-- Output dest --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/atomic</argument> |
| <!-- List of input files --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscLinkedQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseSpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscGrowableArrayQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseMpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscGrowableArrayQueue.java</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-atomic-unpadded-array-queues</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| <mainClass>org.jctools.queues.atomic.unpadded.JavaParsingAtomicUnpaddedArrayQueueGenerator</mainClass> |
| <arguments> |
| <!-- Output dest --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/atomic/unpadded</argument> |
| <!-- List of input files --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpmcArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpmcArrayQueue.java</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-atomic-unpadded-linked-queues</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| <mainClass>org.jctools.queues.atomic.unpadded.JavaParsingAtomicUnpaddedLinkedQueueGenerator</mainClass> |
| <arguments> |
| <!-- Output dest --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/atomic/unpadded</argument> |
| <!-- List of input files --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscLinkedQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseSpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscGrowableArrayQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseMpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscGrowableArrayQueue.java</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-unpadded-queues</id> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| <configuration> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| <mainClass>org.jctools.queues.unpadded.JavaParsingUnpaddedQueueGenerator</mainClass> |
| <arguments> |
| <!-- Output dest --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/unpadded</argument> |
| <!-- List of input files --> |
| <argument>${basedir}/src/main/java/org/jctools/queues/ConcurrentCircularArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/ConcurrentSequencedCircularArrayQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpmcArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpmcArrayQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscLinkedQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscLinkedQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseSpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/SpscGrowableArrayQueue.java</argument> |
| |
| <argument>${basedir}/src/main/java/org/jctools/queues/BaseMpscLinkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscChunkedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscUnboundedArrayQueue.java</argument> |
| <argument>${basedir}/src/main/java/org/jctools/queues/MpscGrowableArrayQueue.java</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eluder.coveralls</groupId> |
| <artifactId>coveralls-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>generate-code-coverage-report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>surefire-java17-and-over</id> |
| <activation> |
| <jdk>[17,)</jdk> |
| </activation> |
| <properties> |
| <!-- Releases are still done from a JDK8, but this makes life easier--> |
| <java.version>1.8</java.version> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <argLine> |
| --add-opens java.base/jdk.internal.misc=ALL-UNNAMED |
| --add-exports java.base/jdk.internal.util=ALL-UNNAMED |
| </argLine> |
| <excludes> |
| <exclude>org.jctools.maps.linearizability_test.**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |