screwbox
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.srcimon</groupId>
<artifactId>screwbox</artifactId>
<version>2.20.0</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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.srcimon</groupId>
<artifactId>screwbox</artifactId>
<version>2.20.0</version>
<packaging>pom</packaging>
<description>ScrewBox is a minimalist pure Java game engine. If you want to start building your own 2D game without leaving your cozy IDE it might be a fun choice.</description>
<name>ScrewBox</name>
<url>https://github.com/srcimon/screwbox</url>
<licenses>
<license>
<name>MIT</name>
<url>https://www.mit.edu/~amini/LICENSE.md</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:https://github.com/srcimon/screwbox.git</connection>
<developerConnection>scm:git:https://github.com/srcimon/screwbox.git</developerConnection>
<url>scm:git:https://github.com/srcimon/screwbox</url>
<tag>2.20.0</tag>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source>
<javdoc-exluded-packages>*.internal,*.internal.*</javdoc-exluded-packages>
<sonar.organization>srcimon</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.issue.ignore.multicriteria>e1, e2, e3, e4, e5, e6, e7, e8</sonar.issue.ignore.multicriteria>
<!-- public accessibility in components by intention -->
<sonar.issue.ignore.multicriteria.e1.ruleKey>java:S1104</sonar.issue.ignore.multicriteria.e1.ruleKey>
<sonar.issue.ignore.multicriteria.e1.resourceKey>**/*Component.java</sonar.issue.ignore.multicriteria.e1.resourceKey>
<!-- ConsoleLoggingAdapter is allowed to use System.out -->
<sonar.issue.ignore.multicriteria.e2.ruleKey>java:S106</sonar.issue.ignore.multicriteria.e2.ruleKey>
<sonar.issue.ignore.multicriteria.e2.resourceKey>**/ConsoleLoggingAdapter.java</sonar.issue.ignore.multicriteria.e2.resourceKey>
<!-- disable false-positive in CollisionSensorComponent -->
<sonar.issue.ignore.multicriteria.e3.ruleKey>java:S1948</sonar.issue.ignore.multicriteria.e3.ruleKey>
<sonar.issue.ignore.multicriteria.e3.resourceKey>**/CollisionDetectionComponent.java</sonar.issue.ignore.multicriteria.e3.resourceKey>
<!-- disable false-positive naming convention for Vector.$ -->
<sonar.issue.ignore.multicriteria.e4.ruleKey>java:S100</sonar.issue.ignore.multicriteria.e4.ruleKey>
<sonar.issue.ignore.multicriteria.e4.resourceKey>**/Vector.java</sonar.issue.ignore.multicriteria.e4.resourceKey>
<!-- disable false-positive naming convention for Bounds.$$ -->
<sonar.issue.ignore.multicriteria.e5.ruleKey>java:S100</sonar.issue.ignore.multicriteria.e5.ruleKey>
<sonar.issue.ignore.multicriteria.e5.resourceKey>**/Bounds.java</sonar.issue.ignore.multicriteria.e5.resourceKey>
<!-- disable false-positive security sensitive usages of Random -->
<sonar.issue.ignore.multicriteria.e6.ruleKey>java:S2245</sonar.issue.ignore.multicriteria.e6.ruleKey>
<sonar.issue.ignore.multicriteria.e6.resourceKey>**.java</sonar.issue.ignore.multicriteria.e6.resourceKey>
<!-- disable cycle detection: some choices were made that cannot be undone -->
<sonar.issue.ignore.multicriteria.e7.ruleKey>javaarchitecture:S7027</sonar.issue.ignore.multicriteria.e7.ruleKey>
<sonar.issue.ignore.multicriteria.e7.resourceKey>**.java</sonar.issue.ignore.multicriteria.e7.resourceKey>
<!-- disable cycle detection: some choices were made that cannot be undone -->
<sonar.issue.ignore.multicriteria.e8.ruleKey>javaarchitecture:S7091</sonar.issue.ignore.multicriteria.e8.ruleKey>
<sonar.issue.ignore.multicriteria.e8.resourceKey>**.java</sonar.issue.ignore.multicriteria.e8.resourceKey>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>screwbox-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>screwbox-tiled</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.12.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.12.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.27.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>5.17.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.18.3</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.7.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>5.0.0.4389</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1
</version><!-- not upgrading due to https://issues.apache.org/jira/browse/MSOURCES-141 -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.8.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar}</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.6.3</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>build-and-test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>screwbox-core</module>
<module>screwbox-tiled</module>
<module>docs</module>
<module>examples/hello-world</module>
<module>examples/playground</module>
<module>examples/pathfinding</module>
<module>examples/game-of-life</module>
<module>examples/platformer</module>
<module>examples/vacuum-outlaw</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludePackageNames>${javdoc-exluded-packages}</excludePackageNames>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>relase-to-maven-central</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludePackageNames>${javdoc-exluded-packages}</excludePackageNames>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org</nexusUrl>
<autoReleaseAfterClose>false</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<tagNameFormat>@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
</configuration>
<executions>
<execution>
<id>perform</id>
<goals>
<goal>perform</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<modules>
<module>screwbox-core</module>
<module>screwbox-tiled</module>
</modules>
</profile>
</profiles>
<developers>
<developer>
<id>srcimon</id>
<name>Sebastian Simon</name>
<email>sebastian.simon@koeln.de</email>
<url>https://github.com/srcimon</url>
</developer>
</developers>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>