475 lines
18 KiB
Plaintext
475 lines
18 KiB
Plaintext
<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 https://maven.apache.org/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>org.xerial</groupId>
|
|
<artifactId>sqlite-jdbc</artifactId>
|
|
<version>3.46.0.0</version>
|
|
<name>SQLite JDBC</name>
|
|
<description>SQLite JDBC library</description>
|
|
<url>https://github.com/xerial/sqlite-jdbc</url>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<junit.version>5.10.2</junit.version>
|
|
<surefire.version>3.2.5</surefire.version>
|
|
<archunit.version>1.3.0</archunit.version>
|
|
<graalvm.version>24.0.1</graalvm.version>
|
|
<java9.sourceDirectory>${project.basedir}/src/main/java9</java9.sourceDirectory>
|
|
</properties>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>The Apache Software License, Version 2.0</name>
|
|
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>leo</id>
|
|
<name>Taro L. Saito</name>
|
|
<email>leo@xerial.org</email>
|
|
<organization>Xerial Project</organization>
|
|
<roles>
|
|
<role>Architect</role>
|
|
<role>Project Manager</role>
|
|
<role>Chief Developer</role>
|
|
</roles>
|
|
<timezone>+9</timezone>
|
|
</developer>
|
|
</developers>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>org/**</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>META-INF/native-image/**</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<targetPath>META-INF/services</targetPath>
|
|
<includes>
|
|
<include>java.sql.Driver</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>sqlite-jdbc.properties</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>${basedir}</directory>
|
|
<targetPath>META-INF/maven/${project.groupId}/${project.artifactId}</targetPath>
|
|
<includes>
|
|
<include>VERSION</include>
|
|
<include>LICENSE*</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/java</directory>
|
|
<excludes>
|
|
<exclude>**/*.java</exclude>
|
|
</excludes>
|
|
</testResource>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
</testResource>
|
|
</testResources>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-help-plugin</artifactId>
|
|
<version>3.4.0</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.13.0</version>
|
|
<configuration>
|
|
<release>8</release>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>java9-compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<release>9</release>
|
|
<compileSourceRoots>
|
|
<compileSourceRoot>${java9.sourceDirectory}</compileSourceRoot>
|
|
</compileSourceRoots>
|
|
<multiReleaseOutput>true</multiReleaseOutput>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-report-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.4.1</version>
|
|
<configuration>
|
|
<!-- Pick the MANIFEST generated by the bundle plugin -->
|
|
<archive>
|
|
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
|
<manifestEntries>
|
|
<Multi-Release>true</Multi-Release>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<configuration>
|
|
<instructions>
|
|
<Bundle-SymbolicName>org.xerial.sqlite-jdbc;singleton:=true</Bundle-SymbolicName>
|
|
<Import-Package>
|
|
*;resolution:=optional
|
|
</Import-Package>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.diffplug.spotless</groupId>
|
|
<artifactId>spotless-maven-plugin</artifactId>
|
|
<version>2.27.2</version>
|
|
<configuration>
|
|
<java>
|
|
<toggleOffOn/>
|
|
<googleJavaFormat>
|
|
<version>1.11.0</version>
|
|
<style>AOSP</style>
|
|
</googleJavaFormat>
|
|
</java>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.sonatype.plugins</groupId>
|
|
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
<version>1.6.13</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<serverId>ossrh</serverId>
|
|
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
|
|
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.jreleaser</groupId>
|
|
<artifactId>jreleaser-maven-plugin</artifactId>
|
|
<version>1.12.0</version>
|
|
<configuration>
|
|
<configFile>jreleaser.yml</configFile>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>versions-maven-plugin</artifactId>
|
|
<version>2.16.2</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>3.4.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-maven</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<version>3.2.5</version>
|
|
</requireMavenVersion>
|
|
<requireJavaVersion>
|
|
<version>11</version>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>5.1.9</version>
|
|
<extensions>true</extensions>
|
|
<executions>
|
|
<execution>
|
|
<!-- Need to have MANIFEST.MF in place before
|
|
packaging, so unit-tests will work -->
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>manifest</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<scm>
|
|
<connection>scm:git:git://github.com/xerial/sqlite-jdbc.git</connection>
|
|
<developerConnection>scm:git:git@github.com:xerial/sqlite-jdbc.git</developerConnection>
|
|
<url>https://github.com/xerial/sqlite-jdbc</url>
|
|
</scm>
|
|
|
|
<distributionManagement>
|
|
<snapshotRepository>
|
|
<id>ossrh</id>
|
|
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>release</id>
|
|
<activation>
|
|
<property>
|
|
<name>performRelease</name>
|
|
<value>true</value>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>3.2.4</version>
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>3.6.3</version>
|
|
<configuration>
|
|
<sourcepath>src/main/java</sourcepath>
|
|
<additionalOptions>-Xdoclint:none</additionalOptions>
|
|
<additionalJOption>-Xdoclint:none</additionalJOption>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>3.3.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>native</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.graalvm.buildtools</groupId>
|
|
<artifactId>native-maven-plugin</artifactId>
|
|
<version>0.10.2</version>
|
|
<extensions>true</extensions>
|
|
<executions>
|
|
<execution>
|
|
<id>test-native-default</id>
|
|
<goals>
|
|
<goal>test</goal>
|
|
</goals>
|
|
<phase>integration-test</phase>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<fallback>false</fallback>
|
|
<verbose>true</verbose>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
<configuration>
|
|
<excludes>
|
|
<!-- Cannot run in native mode, classes under test cannot be found, class path is empty -->
|
|
<exclude>**/MultipleClassLoaderTest.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5</artifactId>
|
|
<version>${archunit.version}</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<!--
|
|
ArchUnit tests don't run in native-image tests.
|
|
Remove the ArchUnit JUnit Engine entirely from the dependency graph thus from the ServiceLoader.
|
|
-->
|
|
<exclusion>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5-engine</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
<profile>
|
|
<id>native-exported</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.graalvm.buildtools</groupId>
|
|
<artifactId>native-maven-plugin</artifactId>
|
|
<configuration>
|
|
<buildArgs combine.children="append">
|
|
<buildArg>-Dorg.sqlite.lib.exportPath=${project.build.directory}</buildArg>
|
|
</buildArgs>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>1.7.36</version>
|
|
</dependency>
|
|
<!--
|
|
This dependency makes compilation on non-GraalVM versions possible.
|
|
The dependency should however never actually be required by end-users because if they require
|
|
GraalVM features, they will be provided by the JDK they are using.
|
|
-->
|
|
<dependency>
|
|
<groupId>org.graalvm.sdk</groupId>
|
|
<artifactId>nativeimage</artifactId>
|
|
<version>${graalvm.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>3.25.3</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<!--
|
|
assertj bundles an outdated version of byte-buddy.
|
|
This exclusion this makes sure the one junit brings in is used.
|
|
-->
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit-pioneer</groupId>
|
|
<artifactId>junit-pioneer</artifactId>
|
|
<version>2.2.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>5.12.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5</artifactId>
|
|
<version>${archunit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- Required by archunit -->
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<version>1.2.13</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|