<?xml version="1.0"?>
<!--

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.5</version>
    </parent>

    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>xsom</artifactId>
    <version>2.3.2</version>

    <name>XSOM</name>
    <description>XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema
        documents and inspect information in them. It is expected to be useful for applications that need to take XML
        Schema as an input.
    </description>

    <properties>
        <findbugs.exclude>${project.basedir}/exclude-xsom.xml</findbugs.exclude>
        <copyright.template.file>${project.basedir}/copyright.txt</copyright.template.file>
        <copyright.exclude.file>${project.basedir}/copyright-exclude</copyright.exclude.file>
        <relaxng.version>2.3.2</relaxng.version>
        <upper.java.level>9</upper.java.level>
        <base.java.level>7</base.java.level>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.sun.xml.bind.external</groupId>
            <artifactId>relaxng-datatype</artifactId>
            <version>${relaxng.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <formats>
                        <format>xml</format>
                    </formats>
                    <check>
                        <totalLineRate>45</totalLineRate>
                        <packageLineRate>45</packageLineRate>
                        <haltOnFailure>true</haltOnFailure>
                    </check>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <argLine>${proxyArgLine}</argLine>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <executions>
                    <execution>
                        <id>default-compile</id>
                        <configuration>
                            <source>${upper.java.level}</source>
                            <target>${upper.java.level}</target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>base-compile</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <release>${base.java.level}</release>
                            <excludes>
                                <exclude>module-info.java</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <id>copy-relaxng-to-mp</id>
                        <phase>process-test-sources</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.1</version>

                <configuration>
                    <additionalJOptions>
                        <additionalparam>-Xdoclint:none</additionalparam>
                        <additionalJOption>--module-path</additionalJOption>
                        <additionalJOption>${project.build.directory}/mod/</additionalJOption>
                    </additionalJOptions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <executions>
                    <execution>
                        <id>default-compile</id>
                        <configuration>
                            <source>${upper.java.level}</source>
                            <target>${upper.java.level}</target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>base-compile</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <release>${base.java.level}</release>
                            <excludes>
                                <exclude>module-info.java</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M2</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <rules>
                        <requireJavaVersion>
                            <version>[9,)</version>
                        </requireJavaVersion>
                        <requireMavenVersion>
                            <version>[3.3.9,)</version>
                        </requireMavenVersion>
                        <DependencyConvergence/>
                    </rules>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>add-resource</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>add-resource</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>${basedir}/../../</directory>
                                    <targetPath>META-INF</targetPath>
                                    <includes>
                                        <include>LICENSE.md</include>
                                        <include>NOTICE.md</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <!--

        Sources in src/com/sun/xml/xsom/impl/parser/state are generated; the tool to generate those is in
        original repo and isn't migrated yet. If regeneration necessary, migrate.

        -->
        <!--<profile>-->
            <!--<id>regenerate-sources</id>-->
            <!--<build>-->
                <!--<plugins>-->
                <!--<plugin>-->
                    <!--<artifactId>maven-antrun-plugin</artifactId>-->
                    <!--&lt;!&ndash;<version>1.1</version>&ndash;&gt;-->
                    <!--<executions>-->
                        <!--<execution>-->
                            <!--<phase>generate-sources</phase>-->
                            <!--<configuration>-->
                                <!--<tasks>-->
                                    <!--<taskdef name="licence" classname="com.sun.tools.LicenceTask">-->
                                        <!--<classpath>-->
                                            <!--<pathelement path="lib/lic.jar" />-->
                                        <!--</classpath>-->
                                    <!--</taskdef>-->

                                    <!--&lt;!&ndash;<mkdir dir="build/automata" />&ndash;&gt;-->

                                    <!--&lt;!&ndash; delete old files to avoid corruption &ndash;&gt;-->
                                    <!--<delete dir="src/com/sun/xml/xsom/impl/parser/state" />-->
                                    <!--<mkdir dir="src/com/sun/xml/xsom/impl/parser/state" />-->

                                    <!--<property name="relaxngcc-jar" value="lib/relaxngcc.jar" />-->
                                    <!--<java jar="${relaxngcc-jar}" fork="true">-->
                                        <!--<arg value="- - target" />-->
                                        <!--<arg path="src/com/sun/xml/xsom/impl/parser/state" />-->
                                        <!--<arg path="src/xmlschema.rng" />-->
                                    <!--</java>-->
                                    <!--<licence licence="licenceheader.txt">-->
                                        <!--<fileset dir="src/" includes="com/sun/xml/xsom/impl/parser/state/*.java" />-->
                                    <!--</licence>-->
                                <!--</tasks>-->
                            <!--</configuration>-->
                            <!--<goals>-->
                                <!--<goal>run</goal>-->
                            <!--</goals>-->
                        <!--</execution>-->
                    <!--</executions>-->
                <!--</plugin>-->
                <!--</plugins>-->
            <!--</build>-->
        <!--</profile>-->

    </profiles>
</project>
