javabox
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>javabox</artifactId>
<version>1.3.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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.dellroad</groupId>
<artifactId>dellroad-dependencies</artifactId>
<version>3.2.11.0</version>
</parent>
<artifactId>javabox</artifactId>
<version>1.3.0</version>
<packaging>pom</packaging>
<name>JavaBox Java Scripting Container</name>
<description>Scripting in Java, by Java, for Java</description>
<url>https://github.com/archiecobbs/javabox</url>
<modules>
<module>core</module>
<module>execution</module>
<module>controls</module>
</modules>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/archiecobbs/javabox/issues</url>
</issueManagement>
<scm>
<url>https://github.com/archiecobbs/javabox/</url>
<connection>scm:git:git://github.com/archiecobbs/javabox.git</connection>
<developerConnection>scm:git:git://github.com/archiecobbs/javabox.git</developerConnection>
</scm>
<developers>
<developer>
<id>archiecobbs</id>
<name>Archie Cobbs</name>
<email>archie.cobbs@gmail.com</email>
</developer>
</developers>
<properties>
<!-- Basic stuff -->
<java.version>17</java.version>
<javadoc.version>24</javadoc.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Root package name -->
<javabox.package.root>org.dellroad.javabox</javabox.package.root>
<!-- Dependency versions -->
<testng.version>7.7.1</testng.version>
<!-- Plugin versions -->
<central-publishing-maven-plugin.version>0.7.0</central-publishing-maven-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- TestNG -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
<!-- DellRoad Stuff Test (missing from dellroad-dependencies) -->
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>dellroad-stuff-test</artifactId>
<version>${dellroad-stuff.version}</version>
</dependency>
<!-- Sibling JARs -->
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>javabox-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>javabox-execution</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<downloadUrl>https://github.com/archiecobbs/javabox</downloadUrl>
<site>
<id>${project.artifactId}-site</id>
<url>file://${project.basedir}/site/</url>
</site>
</distributionManagement>
<build>
<plugins>
<!-- Maven enforcer -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra-enforcer-rules.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>maven_enforcer</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- Enforce Java version -->
<requireJavaVersion>
<version>[${java.version},)</version>
<display>false</display>
</requireJavaVersion>
<!-- Enforce maximum bytecode version among dependencies -->
<enforceBytecodeVersion>
<maxJdkVersion>${java.version}</maxJdkVersion>
<ignoredScopes>
<ignoredScopes>test</ignoredScopes>
</ignoredScopes>
</enforceBytecodeVersion>
<!-- Enforce Maven version 3.8.0 or better -->
<requireMavenVersion>
<version>[3.8.0,)</version>
</requireMavenVersion>
<!-- Check for dependency conflicts -->
<!-- <dependencyConvergence/> -->
<banDuplicatePomDependencyVersions/>
<!-- Check for same class appearing more than once but not identically -->
<banDuplicateClasses>
<findAllDuplicates>true</findAllDuplicates>
<ignoreWhenIdentical>true</ignoreWhenIdentical>
</banDuplicateClasses>
<!-- Other rules -->
<reactorModuleConvergence/>
<requireUpperBoundDeps/>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Compile -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>${java.version}</release>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint:all,-serial,-processing</arg>
<arg>-implicit:class</arg>
<arg>-parameters</arg>
<arg>-Werror</arg>
</compilerArgs>
</configuration>
</plugin>
<!-- JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<!-- Checkstyle -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>default-verify</id>
<phase>verify</phase>
<configuration>
<failOnViolation>true</failOnViolation>
<includeResources>false</includeResources>
<includeTestResources>false</includeTestResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<sourceDirectories>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
</sourceDirectories>
<configLocation>src/checkstyle/checkstyle.xml</configLocation>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<!-- Override version to get bug fixes -->
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>10.21.4</version>
</dependency>
</dependencies>
</plugin>
<!-- Sources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<notimestamp>true</notimestamp>
<validateLinks>true</validateLinks>
<doclint>-reference,-missing</doclint>
<additionalJOption>--allow-script-in-comments</additionalJOption>
<links/>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<deleteTempDirs>true</deleteTempDirs>
<randomSeed/>
</systemPropertyVariables>
<properties>
<property>
<name>surefire.testng.verbose</name>
<value>10</value>
</property>
</properties>
</configuration>
</plugin>
<!-- SpotBugs -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<effort>Max</effort>
<threshold>Default</threshold>
<xmlOutput>true</xmlOutput>
<excludeFilterFile>src/spotbugs/spotbugs-exclude.xml</excludeFilterFile>
<failOnError>true</failOnError>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Info Reports -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<!-- Site plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<!-- Deployment -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-scm</artifactId>
<version>${maven-wagon-scm-extension.version}</version>
</extension>
</extensions>
</build>
<reporting>
<plugins>
<!-- Aggregated Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<notimestamp>true</notimestamp>
<validateLinks>true</validateLinks>
<doclint>-missing</doclint>
<additionalJOption>--allow-script-in-comments</additionalJOption>
<aggregate>true</aggregate>
<inherited>false</inherited>
<links>
<link>https://archiecobbs.github.io/dellroad-stuff/site/apidocs/</link>
<link>https://guava.dev/releases/${guava.version}/api/docs/</link>
<link>https://www.slf4j.org/apidocs/</link>
</links>
</configuration>
<reportSets>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- Maven Central requires signed artifacts -->
<profile>
<id>sign</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>