<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>com.modelio.module</groupId>
  <artifactId>xmlreverse</artifactId>
  <version>4.2.04</version>
  <name>ReverseCore library</name>

    <!-- properties -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

  <dependencies>
    <dependency>
      <groupId>com.modeliosoft.modelio</groupId>
      <artifactId>MDAKit</artifactId>
      <version>[6.1.1,6.2.0)</version>
      <type>pom</type>
      <scope>provided</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/jakarta.annotation/jakarta.annotation-api -->
    <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>2.1.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>4.0.2</version>
       </dependency>

       <dependency>
        <groupId>jakarta.xml.ws</groupId>
        <artifactId>jakarta.xml.ws-api</artifactId>
         <version>4.0.0</version>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>5.12.1</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>3.8.1</version>
                  <configuration>
            <release>11</release>
                      <encoding>${project.build.sourceEncoding}</encoding>
                  </configuration>
              </plugin>
              <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
              <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                  <lifecycleMappingMetadata>
                    <pluginExecutions>
                      <pluginExecution>
                        <pluginExecutionFilter>
                          <groupId>com.helger.maven</groupId>
                          <artifactId>jaxb40-maven-plugin</artifactId>
                          <versionRange>[0.16.1,)</versionRange>
                          <goals>
                            <goal>generate</goal>
                          </goals>
                        </pluginExecutionFilter>
                        <action>
                          <execute></execute>
                        </action>
                      </pluginExecution>
                    </pluginExecutions>
                  </lifecycleMappingMetadata>
                </configuration>
              </plugin>
      </plugins>
    </pluginManagement>

      <plugins>
      <plugin>

        <groupId>com.helger.maven</groupId>
        <artifactId>jaxb40-maven-plugin</artifactId>
        <version>0.16.1</version>

        <dependencies>
          <dependency>

            <groupId>com.massfords</groupId>
            <artifactId>jaxb-visitor</artifactId>
            <version>3.0.0</version>
          </dependency>
        </dependencies>

        <executions>
          <execution>
            <id>xjc</id>
            <goals>
              <goal>generate</goal>
            </goals>
            <phase>generate-sources</phase>
          </execution>
        </executions>
        <configuration>
          <schemaDirectory>src/main/xsd</schemaDirectory>
          <generatePackage>com.modelio.module.xmlreverse.model</generatePackage>
          <args>
            <arg>-Xvisitor</arg>
            <arg>-Xvisitor-includeType</arg>
            <arg>-Xvisitor-package:com.modelio.module.xmlreverse.model</arg>
          </args>
          <locale>en</locale>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
