jgrade2
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.jgrade2</groupId> <artifactId>jgrade2</artifactId> <version>2.0.0-a3</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> <developers> <developer> <id>dscpsyl</id> <name>dscpsyl</name> <email>gento.keyboardking+github@gmail.com</email> <url>https://github.com/dscpsyl</url> <organization>UCSB</organization> <organizationUrl>https://www.cs.ucsb.edu/</organizationUrl> <roles> <role>architect</role> <role>developer</role> </roles> <timezone>America/Los_Angeles</timezone> </developer> <developer> <id>pconrad</id> <name>Phill Conrad</name> <email>pconrad@cs.ucsb.edu</email> <url>https://github.com/pconrad</url> <organization>UCSB</organization> <organizationUrl>https://www.cs.ucsb.edu/</organizationUrl> <roles> <role>architect</role> <role>developer</role> </roles> <timezone>America/Los_Angeles</timezone> </developer> </developers> <groupId>io.github.jgrade2</groupId> <artifactId>jgrade2</artifactId> <packaging>jar</packaging> <version>2.0.0-a3</version> <name>jgrade2</name> <inceptionYear>2023</inceptionYear> <url>https://github.com/jgrade2/jgrade2</url> <description>An update to the original jGrade (based on tkutcher/jgrade) for modern Java and JUnit versions</description> <!-- Required for Maven Central--> <scm> <connection>scm:git:https://github.com/jgrade2/jgrade2.git</connection> <developerConnection>scm:git:https://github.com/jgrade2/jgrade2.git</developerConnection> <url>https://github.com/jgrade2/jgrade2.git</url> <tag>HEAD</tag> </scm> <licenses> <license> <name>MIT License</name> <url>https://github.com/jgrade2/jgrade2/blob/dev/LICENSE.md</url> </license> </licenses> <properties> <!-- NOTE - All dependency, java, and plugin versions should be added/changed here --> <project.finalName>{$artifactId}-{$version}</project.finalName> <java.target.version>21</java.target.version> <commons-cli.version>1.5.0</commons-cli.version> <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version> <org.json.version>chargebee-1.0</org.json.version> <maven-checkstyle-plugin.version>3.3.0</maven-checkstyle-plugin.version> <maven-wrapper-parent.version>3.2.0</maven-wrapper-parent.version> <maven-assembly-plugin.version>3.6.0</maven-assembly-plugin.version> <maven-javadoc-plugin.version>3.6.2</maven-javadoc-plugin.version> <hamcrest.version>2.2</hamcrest.version> <junit-jupiter.version>5.10.0</junit-jupiter.version> <junit-platform.version>1.10.0</junit-platform.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jacoco-coverage.version>0.8.11</jacoco-coverage.version> <pitest-mutation.version>1.15.3</pitest-mutation.version> <pitest-junit5.version>1.2.1</pitest-junit5.version> <maven-source-plugin.version>3.3.0</maven-source-plugin.version> <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version> <!-- Maven Central release options--> <jreleaser.version>1.17.0</jreleaser.version> <jreleaser.closeRepository>true</jreleaser.closeRepository> <jreleaser.releaseRepository>true</jreleaser.releaseRepository> <target.deploy.folder>local::file:./target/staging-deploy</target.deploy.folder> </properties> <!--________________________DO NOT CHANGE BELOW THIS LINE BETWEEN VERSIONS UNLESS ADDING/REMOVING/UPGRADING________________________--> <dependencies> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <!-- NOTE - Put hamcrest dependencies first to override all other versions (specifically for jUnit5)--> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <!--NOTE - Required due to change in packaging from hamcrest 1.x to 2.x. See https://hamcrest.org/JavaHamcrest/distributables--> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <!--NOTE - Required due to change in packaging from hamcrest 1.x to 2.x. See https://hamcrest.org/JavaHamcrest/distributables--> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <!-- NOTE - Aggregator artifact for api, engine, and params. See https://junit.org/junit5/docs/current/user-guide/#dependency-metadata--> <version>${junit-jupiter.version}</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite</artifactId> <version>${junit-platform.version}</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> <version>${junit-platform.version}</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-reporting</artifactId> <version>${junit-platform.version}</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>org.json</artifactId> <version>${org.json.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons-cli.version}</version> </dependency> <dependency> <groupId>org.apache.maven.wrapper</groupId> <artifactId>maven-wrapper-parent</artifactId> <version>${maven-wrapper-parent.version}</version> <type>pom</type> </dependency> </dependencies> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <finalName>${project.finalName}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${java.target.version}</source> <target>${java.target.version}</target> </configuration> </plugin> <plugin> <!-- Required for Javadoc in Github--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <additionalOptions>-html5</additionalOptions> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> <executions> <execution> <id>create-my-bundle</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${project.finalName}-all</finalName> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <appendAssemblyId>false</appendAssemblyId> <archive> <manifest> <mainClass>com.github.jgrade2.jgrade2.JGrade2</mainClass> </manifest> </archive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> <configuration> <configLocation>res/jgrade2_checks.xml</configLocation> <consoleOutput>true</consoleOutput> <failsOnError>true</failsOnError> </configuration> <executions> <execution> <phase>validate</phase> <goals> <goal>checkstyle</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco-coverage.version}</version> <configuration> <excludes> <!-- Hard to test for specific failures due to inability to create a TestIdentifier manually--> <exclude>**/com/github/jgrade2/jgrade2/gradedtest/GradedTestListener.class</exclude> <!-- Nothing to do--> <exclude>**/com/github/jgrade2/jgrade2/**/DefaultGraderStrategy.*</exclude> <!-- Mostly private classes and cannot be unit tested--> <exclude>**/com/github/jgrade2/jgrade2/**/*CheckstyleGrader.*</exclude> <!-- CLI interface and difficult to unit test--> <exclude>**/com/github/jgrade2/jgrade2/**/*CLITester.*</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> <execution> <id>check</id> <goals> <goal>check</goal> </goals> <phase>test</phase> <configuration> <rules> <rule implementation="org.jacoco.maven.RuleConfiguration"> <element>BUNDLE</element> <limits> <limit implementation="org.jacoco.report.check.Limit"> <counter>INSTRUCTION</counter> <value>COVEREDRATIO</value> <minimum>0.75</minimum> </limit> <limit implementation="org.jacoco.report.check.Limit"> <counter>BRANCH</counter> <value>COVEREDRATIO</value> <minimum>0.50</minimum> </limit> <limit implementation="org.jacoco.report.check.Limit"> <counter>LINE</counter> <value>COVEREDRATIO</value> <minimum>0.75</minimum> </limit> <limit implementation="org.jacoco.report.check.Limit"> <counter>CLASS</counter> <value>MISSEDCOUNT</value> <maximum>0</maximum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>${pitest-mutation.version}</version> <executions> <execution> <phase>test</phase> <goals> <goal>mutationCoverage</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.pitest</groupId> <artifactId>pitest-junit5-plugin</artifactId> <version>${pitest-junit5.version}</version> </dependency> </dependencies> <configuration> <historyInputFile> target/pit-history/history.bin </historyInputFile> <historyOutputFile> target/pit-history/history.bin </historyOutputFile> <verbose>true</verbose> <targetClasses> <param>com.github.jgrade2.jgrade2.*</param> </targetClasses> <targetTests> <param>com.github.jgrade2.jgrade2.*</param> </targetTests> <excludedClasses> <!--See reason from jacoco test coverage exclusion--> <param>com.github.jgrade2.jgrade2.CheckstyleGrader</param> <!--See reason from jacoco test coverage exclusion--> <param>com.github.jgrade2.jgrade2.CLITester*</param> </excludedClasses> <excludedTestClasses></excludedTestClasses> <excludedMethods> <param>flush_and_close_noPitest</param> <!--Private constructor--> <param>com.github.jgrade2.jgrade2.ReflectGrade.ReflectGrade</param> </excludedMethods> <outputFormats> <outputFormat>HTML</outputFormat> <outputFormat>CSV</outputFormat> <outputFormat>XML</outputFormat> </outputFormats> <avoidCallsTo> <avoidCallsTo>java.util.logging</avoidCallsTo> <avoidCallsTo>org.apache.log4j</avoidCallsTo> <avoidCallsTo>org.slf4j</avoidCallsTo> <avoidCallsTo>org.apache.commons.logging</avoidCallsTo> <avoidCallsTo>java.lang.Exception</avoidCallsTo> </avoidCallsTo> <timestampedReports>false</timestampedReports> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <properties> <maven.test.skip>true</maven.test.skip> <checker.fail.on.error>true</checker.fail.on.error> <altDeploymentRepository>${target.deploy.folder}</altDeploymentRepository> </properties> <build> <defaultGoal>deploy</defaultGoal> <finalName>${project.finalName}</finalName> <plugins> <plugin> <groupId>org.kordamp.maven</groupId> <artifactId>pomchecker-maven-plugin</artifactId> <version>1.9.0</version> <executions> <execution> <id>check-release</id> <phase>validate</phase> <goals> <goal>check-maven-central</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${java.target.version}</source> <target>${java.target.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> <executions> <execution> <id>create-my-bundle</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${project.finalName}-all</finalName> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <appendAssemblyId>false</appendAssemblyId> <archive> <manifest> <mainClass>com.github.jgrade2.jgrade2.JGrade2</mainClass> </manifest> </archive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <additionalOptions>-html5</additionalOptions> <failOnError>false</failOnError> <!-- FIXME - Cannot compile due to weird error of org.junit.jupiter.engine module not found--> </configuration> <executions> <execution> <id>attach-javadoc</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> <executions> <execution> <id>attach-source</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jreleaser</groupId> <artifactId>jreleaser-maven-plugin</artifactId> <version>${jreleaser.version}</version> <configuration> <jreleaser> <signing> <active>ALWAYS</active> <armored>true</armored> </signing> <deploy> <maven> <mavenCentral> <sonatype> <active>ALWAYS</active> <url>https://central.sonatype.com/api/v1/publisher</url> <stagingRepositories>target/staging-deploy</stagingRepositories> </sonatype> </mavenCentral> </maven> </deploy> </jreleaser> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>gh_release</id> <properties> <maven.test.skip>true</maven.test.skip> <checker.fail.on.error>true</checker.fail.on.error> <gh.release.dir>target/gh_release</gh.release.dir> <outputDirectory>${gh.release.dir}</outputDirectory> </properties> <build> <defaultGoal>package</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> <executions> <execution> <id>create-my-bundle</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${project.finalName}-all</finalName> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <appendAssemblyId>false</appendAssemblyId> <outputDirectory>${gh.release.dir}</outputDirectory> <workDirectory>${gh.release.dir}</workDirectory> <archive> <manifest> <mainClass>com.github.jgrade2.jgrade2.JGrade2</mainClass> </manifest> </archive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.1</version> <configuration> <outputDirectory>${gh.release.dir}</outputDirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>