class-forge
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.chrimle</groupId>
<artifactId>class-forge</artifactId>
<version>0.10.1</version>
</dependency><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>
<!-- === Project Coordinates === -->
<groupId>io.github.chrimle</groupId>
<artifactId>class-forge</artifactId>
<version>0.10.1</version>
<packaging>jar</packaging>
<!-- === Project Metadata === -->
<name>ClassForge</name>
<description>Forge Java Classes!</description>
<url>https://chrimle.github.io/ClassForge</url>
<inceptionYear>2025</inceptionYear>
<licenses>
<license>
<name>Apache License 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>ClassForge</name>
<url>https://chrimle.github.io/ClassForge/</url>
</organization>
<developers>
<developer>
<id>Chrimle</id>
<name>Christopher Molin</name>
<url>https://www.chrimle.com</url>
<roles>
<role>Lead Developer</role>
</roles>
<timezone>CET</timezone>
</developer>
</developers>
<scm>
<url>http://github.com/chrimle/classforge/tree/main</url>
<connection>scm:git:git://github.com/chrimle/classforge.git</connection>
<developerConnection>scm:git:ssh://github.com:chrimle/classforge.git</developerConnection>
</scm>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub Chrimle Apache Maven Packages</name>
<url>https://maven.pkg.github.com/chrimle/classforge</url>
</repository>
<snapshotRepository>
<id>github</id>
<name>GitHub Chrimle Apache Maven Snapshot Packages</name>
<url>https://maven.pkg.github.com/chrimle/classforge</url>
</snapshotRepository>
</distributionManagement>
<!-- === Project Properties === -->
<properties>
<!-- === Meta Properties === -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- === Maven Compiler === -->
<maven.compiler.release>17</maven.compiler.release>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- === Spotless === -->
<spotless.check.skip>false</spotless.check.skip>
<spotless-maven-plugin.version>2.45.0</spotless-maven-plugin.version>
<googleJavaFormat.version>1.23.0</googleJavaFormat.version>
<!-- Publish to Maven Central Repository -->
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version>
<central-publishing-maven-plugin.version>0.8.0</central-publishing-maven-plugin.version>
<!-- === Dependency Versions === -->
<junit-jupiter.version>5.12.2</junit-jupiter.version>
<jetbrains-annotations.version>26.0.2</jetbrains-annotations.version>
<apiguardian-api.version>1.1.2</apiguardian-api.version>
<semantic-versioning.version>1.0.3</semantic-versioning.version>
<exception-factory.version>0.1.0</exception-factory.version>
</properties>
<!-- === Dependencies === -->
<dependencies>
<dependency>
<groupId>io.github.chrimle</groupId>
<artifactId>semantic-versioning</artifactId>
<version>${semantic-versioning.version}</version>
</dependency>
<dependency>
<groupId>io.github.chrimle</groupId>
<artifactId>exception-factory</artifactId>
<version>${exception-factory.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>${jetbrains-annotations.version}</version>
</dependency>
<dependency>
<groupId>org.apiguardian</groupId>
<artifactId>apiguardian-api</artifactId>
<version>${apiguardian-api.version}</version>
</dependency>
</dependencies>
<!-- === Build Plugins === -->
<build>
<plugins>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless-maven-plugin.version}</version>
<configuration>
<!-- Skips the spotless:apply when running in GitHub Actions -->
<skip>${env.CI}</skip>
<java>
<lineEndings>UNIX</lineEndings>
<includes>
<include>src/main/**/*.java</include>
<include>src/test/**/*.java</include>
</includes>
<googleJavaFormat>
<version>${googleJavaFormat.version}</version>
<style>GOOGLE</style>
</googleJavaFormat>
</java>
</configuration>
<executions>
<execution>
<goals>
<goal>apply</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<!-- Attach sources.jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Attach javadoc.jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<source>17</source>
<additionalJOptions>
<!-- Turn warnings into errors -->
<additionalJOption>-Werror</additionalJOption>
</additionalJOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- === Profiles === -->
<profiles>
<profile>
<id>deploy-to-maven-central</id>
<build>
<plugins>
<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>
<tokenAuth>true</tokenAuth>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
<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>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>