<?xml version="1.0"?>
<!-- SPDX-FileCopyrightText: 2020-2026 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
     SPDX-License-Identifier: AGPL-3.0-or-later -->
<project
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <groupId>eu.mulk</groupId>
  <artifactId>aendggner</artifactId>
  <version>${revision}</version>

  <licenses>
    <license>
      <name>AGPL-3.0-or-later</name>
      <url>https://www.gnu.org/licenses/agpl-3.0.html</url>
      <distribution>repo</distribution>
      <comments>Wortlaut im Quelltext unter LICENSES/AGPL-3.0-or-later.txt (COPYING).</comments>
    </license>
  </licenses>

  <properties>
    <maven.compiler.parameters>true</maven.compiler.parameters>
    <maven.compiler.release>25</maven.compiler.release>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <enforced.maven-version>3.9.0</enforced.maven-version>
    <enforced.java-version>25</enforced.java-version>

    <build-helper-plugin.version>3.6.0</build-helper-plugin.version>
    <clean-plugin.version>3.3.2</clean-plugin.version>
    <compiler-plugin.version>3.15.0</compiler-plugin.version>
    <dependency-plugin.version>3.11.0</dependency-plugin.version>
    <deploy-plugin.version>3.1.4</deploy-plugin.version>
    <enforcer-plugin.version>3.6.3</enforcer-plugin.version>
    <exec-plugin.version>3.6.3</exec-plugin.version>
    <jar-plugin.version>3.5.0</jar-plugin.version>
    <resources-plugin.version>3.5.0</resources-plugin.version>
    <spotless-plugin.version>3.8.0</spotless-plugin.version>
    <surefire-plugin.version>3.5.6</surefire-plugin.version>

    <google.java.format.version>1.28.0</google.java.format.version>

    <assertj.version>3.27.7</assertj.version>
    <java-diff-utils.version>4.17</java-diff-utils.version>
    <jboss-logging.version>3.6.3.Final</jboss-logging.version>
    <jzlib.version>1.1.5</jzlib.version>
    <jspecify.version>1.0.0</jspecify.version>
    <junit.version>5.13.4</junit.version>
    <pdfbox.version>3.0.8</pdfbox.version>
    <picocli.version>4.7.7</picocli.version>
    <slf4j.version>2.0.18</slf4j.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <!-- Annotations -->
    <dependency>
      <groupId>org.jspecify</groupId>
      <artifactId>jspecify</artifactId>
      <version>${jspecify.version}</version>
    </dependency>

    <!-- Command line parsing -->
    <dependency>
      <groupId>info.picocli</groupId>
      <artifactId>picocli</artifactId>
      <version>${picocli.version}</version>
    </dependency>

    <!-- Logging -->
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging</artifactId>
      <version>${jboss-logging.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- PDF text extraction -->
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
      <version>${pdfbox.version}</version>
    </dependency>

    <!-- Text diffing -->
    <dependency>
      <groupId>io.github.java-diff-utils</groupId>
      <artifactId>java-diff-utils</artifactId>
      <version>${java-diff-utils.version}</version>
    </dependency>

    <!-- Testing -->
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>${assertj.version}</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>

    <!--
      Der Beispielkorpus liegt unter src/test/resources, wird aber von den Tests über
      Dateisystempfade gelesen, nicht über den Klassenpfad. Eine Kopie nach
      target/test-classes wäre deshalb bei jedem Bau 35 MB umsonst.
    -->
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <excludes>
          <exclude>sampledata/**</exclude>
        </excludes>
      </testResource>
    </testResources>

    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <configuration>
            <generateBackupPoms>false</generateBackupPoms>
          </configuration>
        </plugin>

      </plugins>
    </pluginManagement>

    <plugins>

      <!-- Compiler -->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${compiler-plugin.version}</version>
        <configuration>
          <annotationProcessorPaths>
            <path>
              <groupId>info.picocli</groupId>
              <artifactId>picocli-codegen</artifactId>
              <version>${picocli.version}</version>
            </path>
          </annotationProcessorPaths>
          <compilerArgs>
            <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
          </compilerArgs>
        </configuration>
      </plugin>

      <!-- Resources -->
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${resources-plugin.version}</version>
      </plugin>

      <!-- Tests -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
      </plugin>

      <!-- Google Java Code Formatter, for enforcing style conventions -->
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>${spotless-plugin.version}</version>
        <configuration>
          <java>
            <!-- src/wasm/java tritt dem Quellbaum erst im Profil -Pwasm bei; damit die
                 beiden Wasm-Klassen dennoch stets mitgeprüft werden, sind die
                 Quellverzeichnisse hier ausdrücklich benannt. -->
            <includes>
              <include>src/*/java/**/*.java</include>
            </includes>
            <removeUnusedImports/>
            <importOrder>
              <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
            </importOrder>
            <googleJavaFormat>
              <version>${google.java.format.version}</version>
              <style>GOOGLE</style>
            </googleJavaFormat>
            <licenseHeader>
              <content><![CDATA[// SPDX-FileCopyrightText: $YEAR Matthias Andreas Benkard <code@mail.matthias.benkard.de>
// SPDX-License-Identifier: AGPL-3.0-or-later

]]></content>
            </licenseHeader>
          </java>
        </configuration>
        <executions>
          <!-- Hält den Bau an, sobald eine Quelldatei ohne SPDX-Kopfzeile oder ohne
               die vereinbarte Formatierung hinzukommt. -->
          <execution>
            <id>spotless-check</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${enforcer-plugin.version}</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>${enforced.maven-version}</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>${enforced.java-version}</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>${exec-plugin.version}</version>
        <configuration>
          <mainClass>eu.mulk.aendggner.AendGgner</mainClass>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>${dependency-plugin.version}</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>
                ${project.build.directory}/libs
              </outputDirectory>
              <includeScope>runtime</includeScope>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!--
        Das Erzeugnis geht nicht in ein Maven-Repositorium: es ist eine Anwendung, keine
        Bibliothek, und seine Fassungsbezeichnung ist die CI-freundliche ${revision}
        (.mvn/maven.config), die ohne Flatten kein brauchbares POM ergäbe. Ausgeliefert
        wird nach Cloudflare Workers. Das Ziel „deploy:deploy“ ist deshalb stillgelegt und
        die Phase steht dem Profil „wasm“ offen (README § 15). „install“ bleibt unberührt.
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>${deploy-plugin.version}</version>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${jar-plugin.version}</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>libs/</classpathPrefix>
              <mainClass>
                eu.mulk.aendggner.AendGgner
              </mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>

    </plugins>

  </build>

  <profiles>

    <!--
      Browserfassung: übersetzt dieselbe Pipeline mit GraalVM Web Image nach WebAssembly.
      Ausdrücklich anzufordern (`-Pwasm`); der Standard-Build bleibt unberührt und braucht
      kein GraalVM.

      Voraussetzung: Oracle GraalVM 25.1+ (Web Image ist dort enthalten, in der CE nicht):

        JAVA_HOME=/pfad/zu/oracle-graalvm ./mvnw -Pwasm package

      Ergebnis: target/web/ — aendggner.js, aendggner.js.wasm und die statischen Seiten.
    -->
    <profile>
      <id>wasm</id>

      <properties>
        <native-image.executable>${java.home}/bin/native-image</native-image.executable>
        <wasm.output.directory>${project.build.directory}/web</wasm.output.directory>
        <!--
          Die Option „release 25“ beschränkte den Modulpfad auf die dokumentierte JDK-API; die
          Web-Image-API des GraalVM wäre damit unsichtbar. Deshalb hier source/target statt
          release — übersetzt wird ohnehin nur mit dem GraalVM, gegen dessen eigene Klassen.
        -->
        <maven.compiler.release/>
        <maven.compiler.source>25</maven.compiler.source>
        <maven.compiler.target>25</maven.compiler.target>
      </properties>

      <dependencies>
        <!--
          Reines Java-zlib. Web Image bindet die nativen zlib-Funktionen des JDK nicht an
          (GR-65205); ohne Inflate ist kein PDF lesbar. Siehe
          src/wasm/java/.../InflaterErsatz.java.
        -->
        <dependency>
          <groupId>org.jruby</groupId>
          <artifactId>jzlib</artifactId>
          <version>${jzlib.version}</version>
        </dependency>
      </dependencies>

      <build>
        <plugins>

          <!-- Der Wasm-Quellbaum kommt nur in diesem Profil hinzu: Er braucht die
               Web-Image-API und svm.jar, die es nur im GraalVM gibt. -->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>${build-helper-plugin.version}</version>
            <executions>
              <execution>
                <id>wasm-quellen</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/wasm/java</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <compilerArgs>
                <arg>--add-modules</arg>
                <arg>org.graalvm.webimage.api</arg>
              </compilerArgs>
              <!--
                Ohne Picocli-Annotationsprozessor: Er meldet die Befehlszeilenklasse
                eu.mulk.aendggner.AendGgner mit „allDeclaredMethods“ zur Reflexion an, und
                die Erreichbarkeitsanalyse zieht daraufhin die gesamte Befehlszeilenfassung
                samt Picocli und den Dateizugriffen ins Browser-Image, obwohl BrowserMain
                nichts davon anfasst. Im Browser gibt es keine Befehlszeile.
              -->
              <proc>none</proc>
              <annotationProcessorPaths/>
            </configuration>
          </plugin>

          <!--
            Ein vorangegangener gewöhnlicher Bau hat die Picocli-Konfiguration womöglich
            schon nach target/classes gelegt; native-image liest sie von dort auch dann,
            wenn dieser Bau sie nicht mehr erzeugt. Also fort damit, sonst hinge die
            Bildgröße davon ab, was vorher lief.
          -->
          <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>${clean-plugin.version}</version>
            <executions>
              <execution>
                <id>picocli-konfiguration-fort</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
                <configuration>
                  <excludeDefaultDirectories>true</excludeDefaultDirectories>
                  <filesets>
                    <fileset>
                      <directory>
                        ${project.build.outputDirectory}/META-INF/native-image/picocli-generated
                      </directory>
                    </fileset>
                  </filesets>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>statische-seiten</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <outputDirectory>${wasm.output.directory}</outputDirectory>
                  <resources>
                    <resource>
                      <directory>src/main/resources/eu/mulk/aendggner/web</directory>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>web-image</id>
                <phase>package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>${native-image.executable}</executable>
                  <arguments>
                    <argument>--tool:svm-wasm</argument>
                    <!-- Größe vor Durchsatz: Das Modul muss über die Leitung, und die
                         Rechenzeit einer Synopse liegt ohnehin im Sekundenbereich. -->
                    <argument>-Os</argument>
                    <!-- Der Textzwischenschritt (aendggner.js.wat) wird sonst mehrere hundert
                         Megabyte groß; auf die Größe des .wasm hat das keinen Einfluss. -->
                    <argument>-H:WasmComments=NONE</argument>
                    <argument>-classpath</argument>
                    <classpath/>
                    <argument>-o</argument>
                    <argument>${wasm.output.directory}/aendggner</argument>
                    <argument>eu.mulk.aendggner.wasm.BrowserMain</argument>
                  </arguments>
                </configuration>
              </execution>

              <!--
                Macht aus dem Übersetzerergebnis ein auslieferbares Verzeichnis: entfernt den
                .wat-Zwischenschritt, legt den Quelltext der gebauten Fassung bei (AGPLv3 §13)
                und komprimiert vor. Läuft in derselben Phase, aber nach „web-image“ — Maven
                führt gleichphasige Ausführungen in Deklarationsreihenfolge aus.
              -->
              <execution>
                <id>webpaket</id>
                <phase>package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>${project.basedir}/deploy/webpaket.sh</executable>
                  <arguments>
                    <argument>${wasm.output.directory}</argument>
                  </arguments>
                </configuration>
              </execution>

              <!--
                Die Auslieferung. Hochgeladen wird allein das Verzeichnis, das „webpaket“
                auslieferfertig hinterlassen hat; welches, sagt wrangler.toml im
                Projektverzeichnis. Ein Lauf von `./mvnw -Pwasm deploy` baut und liefert
                also in einem Zuge aus, und die Prüfungen aus webpaket.sh (sauberer
                Arbeitsbaum für den Quelltext nach AGPLv3 §13, 25-MiB-Grenze) liegen vor
                dem Hochladen. Vorausgesetzt wird ein angemeldetes „wrangler“ im Pfad.
              -->
              <execution>
                <id>cloudflare</id>
                <phase>deploy</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>wrangler</executable>
                  <workingDirectory>${project.basedir}</workingDirectory>
                  <arguments>
                    <argument>deploy</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    </profile>

  </profiles>

</project>
