<?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>
  <parent>
    <groupId>com.kapdion.pisano</groupId>
    <artifactId>productknowledge-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>client-lib</artifactId>

  <properties>
    <currentReleaseDir>r2025_27</currentReleaseDir>

    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    <maven.compiler.release>21</maven.compiler.release>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
    <timestamp>${maven.build.timestamp}</timestamp>
  </properties>

  <dependencies>
<!--    <dependency>-->
<!--      <groupId>com.kapdion.pisano</groupId>-->
<!--      <artifactId>api-definition</artifactId>-->
<!--      <version>${project.version}</version>-->
<!--    </dependency>-->

    <dependency>
      <!-- https://mvnrepository.com/artifact/jakarta.xml.bind/jakarta.xml.bind-api -->
      <!-- MIT License http://www.eclipse.org/org/documents/edl-v10.php -->
      <groupId>jakarta.xml.bind</groupId>
      <artifactId>jakarta.xml.bind-api</artifactId>
      <version>4.0.2</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/jakarta.xml.soap/jakarta.xml.soap-api -->
      <!-- MIT License http://www.eclipse.org/org/documents/edl-v10.php -->
      <groupId>jakarta.xml.soap</groupId>
      <artifactId>jakarta.xml.soap-api</artifactId>
      <version>3.0.0</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/com.sun.xml.messaging.saaj/saaj-impl -->
      <!-- MIT License http://www.eclipse.org/org/documents/edl-v10.php -->
      <groupId>com.sun.xml.messaging.saaj</groupId>
      <artifactId>saaj-impl</artifactId>
      <version>3.0.4</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime -->
      <!-- MIT License http://www.eclipse.org/org/documents/edl-v10.php -->
      <groupId>org.glassfish.jaxb</groupId>
      <artifactId>jaxb-runtime</artifactId>
      <version>4.0.5</version>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
      <!-- GPLv2+CE License https://openjdk.java.net/legal/gplv2+ce.html-->
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-controls</artifactId>
      <version>23.0.1</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.controlsfx/controlsfx -->
      <!-- The 3-Clause BSD License http://www.opensource.org/licenses/bsd-license.php -->
      <groupId>org.controlsfx</groupId>
      <artifactId>controlsfx</artifactId>
      <version>11.2.2</version>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.jvnet.jaxb2_commons/jaxb2-basics-annotate -->
      <!-- BSD 2-Clause License http://opensource.org/licenses/BSD-2-Clause-->
      <groupId>org.jvnet.jaxb2_commons</groupId>
      <artifactId>jaxb2-basics-annotate</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/com.sun.xml.ws/jaxws-maven-plugin -->
      <!-- The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt -->
      <groupId>com.sun.xml.ws</groupId>
      <artifactId>jaxws-maven-plugin</artifactId>
      <version>4.0.3</version>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-restclient -->
      <!-- The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-restclient</artifactId>
      <version>4.0.0-M3</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
      <!-- The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt -->
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.20.0</version>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-model -->
      <!-- Eclipse Distribution License v1.0 https://eclipse.org/org/documents/edl-v10.php-->
      <groupId>org.eclipse.rdf4j</groupId>
      <artifactId>rdf4j-model</artifactId>
      <version>5.1.5</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-rio-turtle -->
      <!-- Eclipse Distribution License v1.0 https://eclipse.org/org/documents/edl-v10.php-->
      <groupId>org.eclipse.rdf4j</groupId>
      <artifactId>rdf4j-rio-turtle</artifactId>
      <version>5.1.5</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-shacl -->
      <!-- Eclipse Distribution License v1.0 https://eclipse.org/org/documents/edl-v10.php-->
      <groupId>org.eclipse.rdf4j</groupId>
      <artifactId>rdf4j-shacl</artifactId>
      <version>5.1.5</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.eclipse.rdf4j/rdf4j-rio-jsonld -->
      <!-- Eclipse Distribution License v1.0 https://eclipse.org/org/documents/edl-v10.php-->
      <groupId>org.eclipse.rdf4j</groupId>
      <artifactId>rdf4j-rio-jsonld</artifactId>
      <version>5.1.5</version>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
      <!-- MIT License https://www.eclipse.org/legal/epl-v20.html -->
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
      <!-- MIT License	http://www.opensource.org/licenses/mit-license.php -->
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>2.0.16</version>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-reload4j -->
      <!-- MIT License	http://www.opensource.org/licenses/mit-license.php -->
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-reload4j</artifactId>
      <version>2.0.16</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
      <!-- MIT License	http://www.opensource.org/licenses/mit-license.php -->
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>2.0.16</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.12.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.6.3</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>assembly.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>install</phase> <!-- bind to the install phase, damit source-jar und javadoc-jar mit eingepackt werden -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.3.1</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <!--						<Revision>${SVN_REVISION}</Revision>-->
              <!--						<BuildTag>${BUILD_TAG}</BuildTag>-->
              <BuildTimestamp>${maven.build.timestamp}</BuildTimestamp>
              <JDKVersion>${maven.compiler.release}</JDKVersion>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <doclint>reference</doclint>
        </configuration>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-codegen-plugin</artifactId>
        <version>4.1.3</version>
        <executions>
          <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
              <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
              <wsdlOptions>
                <wsdlOption>
                  <wsdl>${project.basedir}/src/main/resources/def/${currentReleaseDir}/omds3Services.wsdl</wsdl>
                  <extraargs>
                    <extraarg>-xjc-Xannotate</extraarg>
                    <extraarg>-client</extraarg>
                    <extraarg>-impl</extraarg>
                    <extraarg>-server</extraarg>
                    <extraarg>-p</extraarg>
                    <extraarg>at.vvo.omds.services</extraarg>
                  </extraargs>
                  <bindingFiles>
                    <bindingFile>${project.basedir}/src/main/resources/def/${currentReleaseDir}/binding.xjb</bindingFile>
                  </bindingFiles>
                </wsdlOption>
              </wsdlOptions>
            </configuration>
            <goals>
              <goal>wsdl2java</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.jvnet.jaxb</groupId>
            <artifactId>jaxb-plugin-annotate</artifactId>
            <version>3.0.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>