morphix-all
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.raduking</groupId> <artifactId>morphix-all</artifactId> <version>1.0.3</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> <!-- Using spring-boot-starter-parent to update dependencies easier and ensure that all dependencies work well together this parent having most of the commonly used dependencies defined with tested versions across Java projects. --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.4.5</version> <relativePath /> </parent> <groupId>io.github.raduking</groupId> <artifactId>morphix-all</artifactId> <version>1.0.3</version> <packaging>jar</packaging> <name>${project.groupId}:${project.artifactId}</name> <description>A library that exposes generic Java utility methods and and a package for converting a source object to a destination object.</description> <url>https://github.com/raduking/morphix</url> <licenses> <license> <name>Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <developers> <developer> <id>raduking</id> <name>Radu Sebastian LAZIN</name> <email>raduking@gmail.com</email> </developer> </developers> <scm> <connection>scm:git:git://github.com/raduking/morphix.git</connection> <developerConnection>scm:git:ssh://github.com:raduking/morphix.git</developerConnection> <url>https://github.com/raduking/morphix/tree/master</url> </scm> <properties> <java.version>21</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <pitest.plugin.version>1.18.2</pitest.plugin.version> <pitest.plugin.junit5.version>1.2.1</pitest.plugin.junit5.version> <jacoco.plugin.version>0.8.12</jacoco.plugin.version> <gpg.plugin.version>3.2.7</gpg.plugin.version> <project.info.reports.plugin.version>3.7.0</project.info.reports.plugin.version> <central.publishing.plugin.version>0.6.0</central.publishing.plugin.version> <morphixArgLine> -XX:+EnableDynamicAgentLoading -Xshare:off --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED </morphixArgLine> </properties> <dependencies> <!-- Testing --> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>${jacocoArgLine} ${morphixArgLine}</argLine> </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> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!--Jacoco code coverage --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.plugin.version}</version> <executions> <execution> <id>pre-unit-test</id> <phase>test-compile</phase> <goals> <goal>prepare-agent</goal> </goals> <configuration> <destFile>${project.reporting.outputDirectory}/jacoco.exec</destFile> <propertyName>jacocoArgLine</propertyName> </configuration> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${project.reporting.outputDirectory}/jacoco.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- Mutation testing --> <!-- mvn org.jacoco:jacoco-maven-plugin:prepare-agent org.pitest:pitest-maven:mutationCoverage --> <!-- mvn -DwithHistory org.jacoco:jacoco-maven-plugin:prepare-agent org.pitest:pitest-maven:mutationCoverage --> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>${pitest.plugin.version}</version> <!-- Allows it to work with JUnit 5 --> <dependencies> <dependency> <groupId>org.pitest</groupId> <artifactId>pitest-junit5-plugin</artifactId> <version>${pitest.plugin.junit5.version}</version> </dependency> </dependencies> <configuration> <targetClasses> <param>org.morphix.*</param> </targetClasses> <targetTests> <param>org.morphix.*</param> </targetTests> <excludedClasses> org.morphix.reflection.jvm.* </excludedClasses> <verbose>false</verbose> <parseSurefireArgLine>false</parseSurefireArgLine> <argLine>${morphixArgLine}</argLine> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>active-on-property-environment</id> <activation> <property> <name>release</name> <value>true</value> </property> </activation> <build> <plugins> <!-- Activate it with: -Drelease=true --> <!-- Artifact signing for publishing --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${gpg.plugin.version}</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> <configuration> <keyname>${env.MAVEN_GPG_PLUGIN_KEY}</keyname> <gpgArguments> <argument>--pinentry-mode</argument> <argument>loopback</argument> </gpgArguments> </configuration> </plugin> <!-- Publish to Maven Central --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>${central.publishing.plugin.version}</version> <extensions>true</extensions> <configuration> <autoPublish>true</autoPublish> <deploymentName>release-${project.version}</deploymentName> <publishingServerId>ossrh</publishingServerId> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>eclipse</id> <properties> <jacocoArgLine></jacocoArgLine> </properties> </profile> </profiles> <reporting> <!-- mvn clean install org.pitest:pitest-maven:mutationCoverage site --> <plugins> <!-- Reports --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${project.info.reports.plugin.version}</version> </plugin> <!--Jacoco code coverage --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.plugin.version}</version> <reportSets> <reportSet> <reports> <!-- select non-aggregate reports --> <report>report</report> </reports> </reportSet> </reportSets> </plugin> <!-- Mutation testing --> <!-- mvn clean org.pitest:pitest-maven:mutationCoverage site --> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>${pitest.plugin.version}</version> <reportSets> <reportSet> <reports> <report>report</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <distributionManagement> <snapshotRepository> <id>ossrh</id> <name>Central Repository OSSRH Snapshots</name> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>ossrh</id> <name>Central Repository OSSRH</name> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> <repositories> </repositories> </project>