<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at
 
  http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<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>
    <groupId>org.apache.cxf.xjc-utils</groupId>
    <artifactId>xjc-utils</artifactId>
    <packaging>pom</packaging>
    <version>3.3.2</version>
    <name>Apache CXF XJC Utils</name>
    <url>https://cxf.apache.org</url>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>23</version>
    </parent>
    <scm>
      <connection>scm:git:https://gitbox.apache.org/repos/asf/cxf-xjc-utils.git</connection>
      <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/cxf-xjc-utils.git</developerConnection>
      <tag>xjc-utils-3.3.2</tag>
  </scm>
    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/CXFXJC</url>
    </issueManagement>
    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>

    <properties>
        <cxf-buildtools-version>3.4.4</cxf-buildtools-version>
        <jdk.version>1.8</jdk.version>
        <jaxb-version>2.3.3</jaxb-version>
        <jaxb-runtime-version>2.3.5</jaxb-runtime-version>

        <eclipse.outputDirectory>${basedir}/target/classes</eclipse.outputDirectory>
        <downloadSources>true</downloadSources>

        <pmd.eclipse.ruleset>cxf-pmd-ruleset.xml</pmd.eclipse.ruleset>
        <resources.base.path />
        <checkstyle.extension />
    </properties>

    <modules>
        <module>cxf-xjc-plugin</module>
        <module>dv</module>
        <module>dv-test</module>
        <module>ts</module>
        <module>ts-test</module>
        <module>boolean</module>
        <module>boolean-test</module>
        <module>wsdlextension</module>
        <module>wsdlextension-test</module>
        <module>bug671</module>
        <module>bug986</module>
        <module>property-listener</module>
        <module>javadoc</module>
        <module>runtime</module>
    </modules>
    <repositories>
         <repository>
             <id>apache.snapshots</id>
             <url>https://repository.apache.org/snapshots/</url>
             <name>Apache Snapshot Repo</name>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository> 
    </repositories>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jaxb-version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${jaxb-runtime-version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-xjc</artifactId>
                <version>${jaxb-runtime-version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>3.6.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>3.6.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-compat</artifactId>
                <version>3.6.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.12.0</version>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>1.6.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <distributionManagement>
        <site>
            <id>apache.cxf.site</id>
            <url>scpexe://people.apache.org/www/cxf.apache.org/cxf/mvn_site/xjc-utils</url>
        </site>
    </distributionManagement>
    <inceptionYear>2006</inceptionYear>

    <mailingLists>
        <mailingList>
            <name>Apache CXF User List</name>
            <subscribe>users-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@cxf.apache.org</unsubscribe>
            <post>users@cxf.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/cxf-users</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Developer List</name>
            <subscribe>dev-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@cxf.apache.org</unsubscribe>
            <post>dev@cxf.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/cxf-dev</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Commits List</name>
            <subscribe>commits-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@cxf.apache.org</unsubscribe>
            <post>commits@cxf.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/cxf-commits</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Issues List</name>
            <subscribe>issues-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>issues-unsubscribe@cxf.apache.org</unsubscribe>
            <post>issues@cxf.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/cxf-issues</archive>
        </mailingList>
        <mailingList>
            <name>Apache CXF Build Notifications List</name>
            <subscribe>notifications-subscribe@cxf.apache.org</subscribe>
            <unsubscribe>notifications-unsubscribe@cxf.apache.org</unsubscribe>
            <post>notifications@cxf.apache.org</post>
            <archive>https://mail-archives.apache.org/mod_mbox/cxf-notifications</archive>
        </mailingList>
    </mailingLists>

    <build>
        <defaultGoal>install</defaultGoal>

        <plugins>
            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <arguments>-Prelease,deploy,apache-release</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <attach>true</attach>
                        <source>${jdk.version}</source>
                        <quiet>true</quiet>
                        <bottom>Apache CXF</bottom>
                        <javadocVersion>${jdk.version}</javadocVersion>
                        <encoding>UTF-8</encoding>
                        <!--subpackages>org.apache.cxf</subpackages-->
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                    <configuration>
                        <reportFormat>brief</reportFormat>
                        <useFile>false</useFile>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>${jdk.version}</source>
                        <target>${jdk.version}</target>
                        <maxmem>256M</maxmem>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Specification-Title>${project.name}</Specification-Title>
                                <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
                                <Specification-Version>${project.version}</Specification-Version>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                                <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
                                <Implementation-Version>${project.version}</Implementation-Version>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.7.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>2.22.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>2.9</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>3.6.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <outputDirectory>${eclipse.outputDirectory}</outputDirectory>
                        <buildcommands>
                            <java.lang.String>org.eclipse.jdt.core.javabuilder</java.lang.String>
                            <java.lang.String>net.sf.eclipsecs.core.CheckstyleBuilder</java.lang.String>
                            <java.lang.String>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</java.lang.String>
                        </buildcommands>
                        <projectnatures>
                            <nature>org.eclipse.jdt.core.javanature</nature>
                            <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
                            <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature>
                        </projectnatures>
                        <ajdtVersion>none</ajdtVersion>
                        <additionalConfig>
                            <file>
                                <name>.checkstyle</name>
                                <location>/cxf-eclipse-checkstyle${checkstyle.extension}</location>
                            </file>
                            <file>
                                <name>.pmd</name>
                                <location>/cxf-eclipse-pmd</location>
                            </file>
                            <file>
                                <name>.ruleset</name>
                                <location>/${pmd.eclipse.ruleset}</location>
                            </file>
                        </additionalConfig>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.cxf.build-utils</groupId>
                            <artifactId>cxf-buildtools</artifactId>
                            <version>${cxf-buildtools-version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.1.2</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.cxf.build-utils</groupId>
                            <artifactId>cxf-buildtools</artifactId>
                            <version>${cxf-buildtools-version}</version>
                        </dependency>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>8.41</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <phase>validate</phase>
                            <configuration>
                                <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                <configLocation>${resources.base.path}cxf-checkstyle${checkstyle.extension}.xml</configLocation>
                                <consoleOutput>true</consoleOutput>
                                <failsOnError>true</failsOnError>
                                <linkXRef>false</linkXRef>
                                <suppressionsLocation>${resources.base.path}cxf-checkstyle-suppressions.xml</suppressionsLocation>
                                <excludes>**/archetype-resources/**/*.java</excludes>
                            </configuration>
                            <goals>
                                <goal>checkstyle</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>3.14.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.cxf.build-utils</groupId>
                            <artifactId>cxf-buildtools</artifactId>
                            <version>${cxf-buildtools-version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <rulesets>
                            <ruleset>${resources.base.path}cxf-pmd-ruleset.xml</ruleset>
                            <ruleset>${resources.base.path}cxf-pmd-custom.xml</ruleset>
                        </rulesets>
                        <sourceEncoding>UTF-8</sourceEncoding>
                        <targetJdk>1.8</targetJdk>
                        <linkXRef>false</linkXRef>
                        <includeTests>true</includeTests>
                        <verbose>true</verbose>
                        <excludeRoots>
                            <excludeRoot>${basedir}/src/main/generated</excludeRoot>
                        </excludeRoots>
                    </configuration>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <phase>validate</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </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>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-checkstyle-plugin
                						</artifactId>
                						<versionRange>
                							[2.9.1,)
                						</versionRange>
                						<goals>
                							<goal>checkstyle</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-pmd-plugin
                						</artifactId>
                						<versionRange>
                							[3.0.1,)
                						</versionRange>
                						<goals>
                							<goal>check</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-remote-resources-plugin
                						</artifactId>
                						<versionRange>
                							[1.0.0,)
                						</versionRange>
                						<goals>
                							<goal>process</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                			</pluginExecutions>
                		</lifecycleMappingMetadata>
                	</configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>fastinstall</id>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <pmd.skip>true</pmd.skip>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
        </profile>
        <profile>
            <id>nochecks</id>
            <properties>
                <pmd.skip>true</pmd.skip>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
        </profile>

        <profile>
             <id>setup.eclipse</id>
             <properties>
                 <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
             </properties>
             <build>
                 <defaultGoal>process-test-sources</defaultGoal>
                 <pluginManagement>
                     <plugins>
                         <plugin>
                             <groupId>org.apache.maven.plugins</groupId>
                             <artifactId>maven-compiler-plugin</artifactId>
                             <version>3.8.1</version>
                             <configuration>
                                 <source>${jdk.version}</source>
                                 <target>${jdk.version}</target>
                                 <maxmem>256M</maxmem>
                             </configuration>
                         </plugin>
                     </plugins>
                 </pluginManagement>
                 <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-eclipse-plugin</artifactId>
                         <executions>
                             <execution>
                                 <id>setup.eclipse.project</id>
                                 <phase>process-test-sources</phase>
                                 <goals>
                                     <goal>eclipse</goal>
                                 </goals>
                             </execution>
                         </executions>
                     </plugin>
                 </plugins>
             </build>
        </profile>
        <profile>
            <id>java9-plus</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>jakarta.annotation</groupId>
                    <artifactId>jakarta.annotation-api</artifactId>
                    <version>1.3.5</version>
                </dependency>
                <dependency>
                    <groupId>jakarta.xml.ws</groupId>
                    <artifactId>jakarta.xml.ws-api</artifactId>
                    <version>2.3.3</version>
                </dependency>
                <dependency>
                    <groupId>jakarta.activation</groupId>
                    <artifactId>jakarta.activation-api</artifactId>
                    <version>1.2.2</version>
                </dependency>
            </dependencies>
         </profile>
    </profiles>

</project>

