<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>
  <parent>
    <groupId>org.bidib.jbidib</groupId>
    <artifactId>bidibwizard-parent</artifactId>
    <version>2.0.13</version>
    <relativePath>../bidibwizard-parent/pom.xml</relativePath>
  </parent>
  <groupId>org.bidib.jbidib</groupId>
  <artifactId>bidibwizard-api</artifactId>
  <version>2.0.13</version>
  <name>jBiDiB :: BiDiB Wizard API</name>
  <description>jBiDiB BiDiB Wizard API POM</description>
  <licenses>
    <license>
      <name>GNU General Purpose License Version 3.0</name>
      <url>http://www.gnu.org/licenses/gpl-3.0.txt</url>
    </license>
  </licenses>
  <properties>
    <buildnumber-and-branch-info>${git.total.commit.count}, ${git.branch}</buildnumber-and-branch-info>
    <build-timestamp>${maven.build.timestamp}</build-timestamp>
    <maven.build.timestamp.format>dd.MM.yyyy HH:mm</maven.build.timestamp.format>
  </properties>
  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.datatype</groupId>
      <artifactId>jackson-datatype-jdk8</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.datatype</groupId>
      <artifactId>jackson-datatype-jsr310</artifactId>
    </dependency>
    <dependency>
      <groupId>com.github.akarnokd</groupId>
      <artifactId>rxjava3-extensions</artifactId>
    </dependency>
    <dependency>
      <groupId>com.jgoodies</groupId>
      <artifactId>jgoodies-binding</artifactId>
    </dependency>
    <dependency>
      <groupId>com.jgoodies</groupId>
      <artifactId>jgoodies-forms</artifactId>
    </dependency>
    <dependency>
      <groupId>com.jgoodies</groupId>
      <artifactId>jgoodies-validation</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>io.reactivex.rxjava3</groupId>
      <artifactId>rxjava</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-math3</artifactId>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
    </dependency>
    <dependency>
      <groupId>org.bidib.jbidib</groupId>
      <artifactId>bidibwizard-model</artifactId>
    </dependency>
    <dependency>
      <groupId>org.bidib.jbidib</groupId>
      <artifactId>jbidibc-exchange</artifactId>
    </dependency>
    <dependency>
      <groupId>org.bidib.jbidib</groupId>
      <artifactId>jbidibc-simulation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-indexer</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.bidib.jbidib</groupId>
      <artifactId>jbidibc-core</artifactId>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.xmlunit</groupId>
      <artifactId>xmlunit-assertj</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>cz.habarta.typescript-generator</groupId>
                    <artifactId>typescript-generator-maven-plugin</artifactId>
                    <versionRange>[2.5.423,)</versionRange>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.jsonschema2pojo</groupId>
        <artifactId>jsonschema2pojo-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <sourcePaths>
            <sourcePath>${basedir}/src/main/resources/schema</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/action</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/system</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/common</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/booster</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/commandstation</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/feature</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/firmware</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/switching</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/occupancy</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/node</sourcePath>
            <sourcePath>${basedir}/src/main/resources/schema/dccmapping</sourcePath>
          </sourcePaths>
          <sourceSortOrder>FILES_FIRST</sourceSortOrder>
          <targetPackage>org.bidib.api.json.types</targetPackage>
          <generateBuilders>true</generateBuilders>
          <includeConstructors>true</includeConstructors>
          <includeJsr303Annotations>true</includeJsr303Annotations>
          <dateType>java.time.LocalDate</dateType>
          <dateTimeType>java.time.LocalDateTime</dateTimeType>
          <includeGeneratedAnnotation>false</includeGeneratedAnnotation>
        </configuration>
      </plugin>
      <plugin>
        <groupId>cz.habarta.typescript-generator</groupId>
        <artifactId>typescript-generator-maven-plugin</artifactId>
        <version>3.2.1263</version>
        <executions>
          <execution>
            <id>generate</id>
            <phase>process-classes</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <jsonLibrary>jackson2</jsonLibrary>
          <mapEnum>asEnum</mapEnum>
          <classPatterns>
            <pattern>org.bidib.api.json.types.system.*</pattern>
            <pattern>org.bidib.api.json.types.node.*</pattern>
            <pattern>org.bidib.api.json.types.switching.*</pattern>
            <pattern>org.bidib.api.json.types.occupancy.*</pattern>
            <pattern>org.bidib.api.json.types.firmware.*</pattern>
          </classPatterns>
          <outputKind>module</outputKind>
          <customTypeMappings>
            <mapping>org.bidib.api.json.types.occupancy.OccupancyStatusResponse$FeedbackPortStatus:FeedbackPortStatus</mapping>
          </customTypeMappings>
          <stringQuotes>singleQuotes</stringQuotes>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Implementation-Version>${project.version} (${buildnumber-and-branch-info})</Implementation-Version>
              <Implementation-Build>${project.artifactId}-${project.version} (${buildnumber-and-branch-info})</Implementation-Build>
              <BuildNumber>${git.total.commit.count}</BuildNumber>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>release</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <buildnumber-and-branch-info>${git.total.commit.count}</buildnumber-and-branch-info>
      </properties>
    </profile>
  </profiles>
</project>
