git » crow.game » main » tree

[main] / pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) b0in.xyz 2023

This file is part of crow.game which is released under GPLv3
See file COPYING or go to:
  * https://b0in.xyz/code/git/r/crow.game/b/main/t/f=COPYING.html
  * https://www.gnu.org/licenses/gpl-3.0.en.html#license-text
for full license details.
-->
<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>
  <groupId>crow.game</groupId>
  <artifactId>crow.game.root</artifactId>
  <version>0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <url>https://b0in.xyz/code/crow.game</url>
  <inceptionYear>2023</inceptionYear>
  <organization>
    <name>boin</name>
    <url>https://b0in.xyz/</url>
  </organization>
  <licenses>
    <license>
      <name>GNU General Public License (GPL) version 3.0</name>
      <url>https://www.gnu.org/licenses/gpl-3.0.txt</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>b0in</name>
      <email>b0in@proton.me</email>
      <url>https://b0in.xyz</url>
      <roles>
        <role>creator</role>
      </roles>
    </developer>
  </developers>
  <modules>
    <module>crow.game.site</module>
    <module>crow.game.codec.api</module>
    <module>crow.game.codec.netty</module>
    <module>crow.game.examples.pingpong</module>
    <module>crow.game.login.api</module>
    <module>crow.game.login.proto</module>
    <module>crow.game.login.server</module>
    <module>crow.game.ha0.proto</module>
    <module>crow.game.ha0.server</module>
    <module>crow.game.omnisrv</module>
  </modules>
  <scm>
    <connection>scm:git:https://b0in.xyz/crow/crow-latest-git.tar.gz</connection>
  </scm>
  <properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.build.timestamp.format>yyyyMMdd_HHmm</maven.build.timestamp.format>
    <netty.version>4.1.101.Final</netty.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.36</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-buffer</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-codec</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-transport</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-handler</artifactId>
        <version>${netty.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>2.35.0</version>
        <configuration>
          <pom>
            <includes>
              <include>pom.xml</include>
              <include>**/pom.xml</include>
            </includes>
            <licenseHeader>
              <content><![CDATA[<!--
Copyright (C) b0in.xyz $YEAR

This file is part of crow.game which is released under GPLv3
See file COPYING or go to:
  * https://b0in.xyz/code/git/r/crow.game/b/main/t/f=COPYING.html
  * https://www.gnu.org/licenses/gpl-3.0.en.html#license-text
for full license details.
-->]]></content>
              <delimiter>.project</delimiter>
            </licenseHeader>
            <sortPom>
              <keepBlankLines>false</keepBlankLines>
              <indentSchemaLocation>true</indentSchemaLocation>
              <sortPlugins>groupId,artifactId</sortPlugins>
            </sortPom>
          </pom>
          <java>
            <includes>
              <include>crow*/src/main/java/**/*.java</include>
              <include>crow*/src/test/java/**/*.java</include>
            </includes>
            <licenseHeader>
              <content><![CDATA[/*
              * Copyright (C) b0in.xyz $YEAR
              * ---
              * This file is part of crow.game which is released under GPLv3
              * See file COPYING or go to:
              *   - https://b0in.xyz/code/git/r/crow.game/b/main/t/f=COPYING.html
              *   - https://www.gnu.org/licenses/gpl-3.0.en.html#license-text
              * for full license details.
              */]]></content>
              <skipLinesMatching>^#!.+?$</skipLinesMatching>
            </licenseHeader>
            <googleJavaFormat></googleJavaFormat>
            <importOrder>
              <order>java|javax,io.netty,org,,crow.game,\#</order>
            </importOrder>
          </java>
          <markdown>
            <includes>
              <include>crow.game.site/src/site/markdown/**/*.md</include>
              <include>crow.game.site/src/site/markdown/devlog/*.md</include>
            </includes>
            <flexmark></flexmark>
          </markdown>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
            <phase>verify</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.12.1</version>
        <!-- TODO: maven-site-plugin 3.x will not be mvn4 compatible.
             upgrade to 4.0.0 when the release is available. -->
        <configuration>
          <siteDirectory>${project.basedir}/crow.game.site/src/site</siteDirectory>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>1.12.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <version>2.3</version>
        <!-- TODO: maven-changelog-plugin 3.x will not be mvn4 compatible.
             upgrade to 4.0.0 when the release is available. -->
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.5.0</version>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>aggregate</report>
            </reports>
            <inherited>false</inherited>
          </reportSet>
          <reportSet>
            <id>default</id>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>3.4.5</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>licenses</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>source-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.6.0</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.apache.resources</groupId>
                <artifactId>apache-source-release-assembly-descriptor</artifactId>
                <version>1.5</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>source-release-assembly</id>
                <goals>
                  <goal>single</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                  <descriptorRefs>
                    <descriptorRef>source-release</descriptorRef>
                  </descriptorRefs>
                  <finalName>crow.game-${maven.build.timestamp}</finalName>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>