<?xml version="1.0" encoding="UTF-8"?>
<!--
  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>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>18</version>
    </parent>
    <groupId>org.apache.ws.xmlschema</groupId>
    <artifactId>xmlschema</artifactId>
    <packaging>pom</packaging>
    <name>XmlSchema</name>
    <version>2.2.3</version>
    <description>Apache XMLSchema is a light weight schema object model that can be used to manipulate or generate XML schema.</description>
    <url>http://ws.apache.org/commons/xmlschema20/</url>
    <issueManagement>
        <system>JIRA</system>
        <url>http://issues.apache.org/jira/browse/XMLSCHEMA</url>
    </issueManagement>
    <mailingLists>
        <mailingList>
            <name>WS Developers</name>
            <subscribe>dev-subscribe@ws.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@ws.apache.org</unsubscribe>
            <post>dev@ws.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/ws-dev/</archive>
        </mailingList>
        <mailingList>
            <name>WS Users</name>
            <subscribe>users-subscribe@ws.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@ws.apache.org</unsubscribe>
            <post>users@ws.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/ws-users/</archive>
        </mailingList>
    </mailingLists>
    <inceptionYear>2004</inceptionYear>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/webservices/xmlschema/tags/xmlschema-2.2.3</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/webservices/xmlschema/tags/xmlschema-2.2.3</developerConnection>
        <url>http://svn.apache.org/viewvc/webservices/xmlschema/tags/xmlschema-2.2.3</url>
    </scm>
    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>
    <distributionManagement>
        <site>
            <id>apache.cxf.site</id>
            <url>scm:svn:https://svn.apache.org/repos/asf/webservices/website/xmlschema/</url>
        </site>
    </distributionManagement>
    <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>
    <properties>
        <xmlschema-eclipse-version>2.0</xmlschema-eclipse-version>
    </properties>
    <modules>
        <module>xmlschema-core</module>
        <module>xmlschema-walker</module>
        <module>xmlschema-bundle-test</module>
        <module>w3c-testcases</module>
    </modules>
    <build>
        <defaultGoal>install</defaultGoal>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.4.0</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
                            <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
                            <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
                            <Bundle-DocURL>http://ws.apache.org/xmlschema/</Bundle-DocURL>
                            <_failok>true</_failok>
                            <_nouses>true</_nouses>
                            <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                            <Import-Package>
                                *
                            </Import-Package>
                        </instructions>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>2.5</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.ws.xmlschema</groupId>
                            <artifactId>xmlschema-eclipse</artifactId>
                            <version>${xmlschema-eclipse-version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <rulesets>
                            <ruleset>xmlschema-pmd-ruleset.xml</ruleset>
                        </rulesets>
                        <sourceEncoding>UTF-8</sourceEncoding>
                        <targetJdk>1.6</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>

                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <useReleaseProfile>false</useReleaseProfile>
                        <goals>site:site deploy</goals>
                        <arguments>-Papache-release,release</arguments>
                        <preparationGoals>site:site install</preparationGoals>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.12.1</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <phase>validate</phase>
                            <configuration>
                                <configLocation>/xmlschema-checkstyle.xml</configLocation>
                                <consoleOutput>true</consoleOutput>
                                <failsOnError>true</failsOnError>
                                <linkXRef>false</linkXRef>
                                <sourceDirectory>${basedir}/src</sourceDirectory>
                            </configuration>
                            <goals>
                                <goal>checkstyle</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.ws.xmlschema</groupId>
                            <artifactId>xmlschema-eclipse</artifactId>
                            <version>${xmlschema-eclipse-version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18</version>
                    <configuration>
                        <systemPropertyVariables>
                            <org.apache.ws.commons.schema.protectReadOnlyCollections>true</org.apache.ws.commons.schema.protectReadOnlyCollections>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.4</version>
                    <configuration>
                        <attach>true</attach>
                        <quiet>true</quiet>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                </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-remote-resources-plugin
                						</artifactId>
                						<versionRange>[1.0,)</versionRange>
                						<goals>
                							<goal>process</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-pmd-plugin
                						</artifactId>
                						<versionRange>
                							[2.5,)
                						</versionRange>
                						<goals>
                							<goal>check</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-checkstyle-plugin
                						</artifactId>
                						<versionRange>
                							[2.6,)
                						</versionRange>
                						<goals>
                							<goal>checkstyle</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                			</pluginExecutions>
                		</lifecycleMappingMetadata>
                	</configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>site</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>site</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!--
                    We want to sign the artifact, the POM, and all attached artifacts
                    -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </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>
                            <encoding>${project.build.sourceEncoding}</encoding>
                            <attach>true</attach>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>DefaultTest</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>IBMTest</id>
            <activation>
                <property>
                    <name>java.vendor</name>
                    <value>IBM Corporation</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.bcel</groupId>
                    <artifactId>bcel</artifactId>
                    <version>5.2</version>
                </dependency>
                <dependency>
                    <groupId>xalan</groupId>
                    <artifactId>xalan</artifactId>
                    <version>2.7.1</version>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <systemPropertyVariables>
                                <!--
                                The default xalan TransformerFactory on the ibm jdk is
                                org.apache.xalan.processor.TransformerFactoryImpl which has a
                                known issue with implicit namespaces. Set this property to use
                                the xsltc TransformerFactory (which the sun jdk seems to
                                default to). -->
                                <javax.xml.transform.TransformerFactory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</javax.xml.transform.TransformerFactory>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>setup.eclipse</id>
            <properties>
                <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
            </properties>
            <build>
                <defaultGoal>process-test-sources</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <version>2.9</version>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>setup.eclipse.workspace</id>
                                <!-- This is the execution that we run only at the top level. -->
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>configure-workspace</goal>
                                </goals>
                                <configuration>
                                    <workspace>${eclipse.workspace.dir}</workspace>
                                    <workspaceCodeStylesURL>file:${basedir}/etc/eclipse/XmlSchemaCodeFormatter.xml</workspaceCodeStylesURL>
                                </configuration>
                            </execution>
                            <execution>
                                <id>setup.eclipse.projects</id>
                                <inherited>true</inherited>
                                <!-- This is the execution that we run only at the top level. -->
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>eclipse</goal>
                                </goals>
                                <configuration>
                                    <workspace>${eclipse.workspace.dir}</workspace>
                                    <workspaceCodeStylesURL>file:${basedir}/etc/eclipse/XmlSchemaCodeFormatter.xml</workspaceCodeStylesURL>
                                    <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>/xmlschema-eclipse-checkstyle</location>
                                        </file>
                                        <file>
                                            <name>.pmd</name>
                                            <location>/xmlschema-eclipse-pmd</location>
                                        </file>
                                        <file>
                                            <name>.ruleset</name>
                                            <location>/xmlschema-pmd-ruleset.xml</location>
                                        </file>
                                    </additionalConfig>
                                    <workspace>${eclipse.workspace.dir}</workspace>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.ws.xmlschema</groupId>
                                <artifactId>xmlschema-eclipse</artifactId>
                                <version>${xmlschema-eclipse-version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <inherited>false</inherited>
                        <dependencies>
                            <dependency>
                                <groupId>ant</groupId>
                                <artifactId>ant-nodeps</artifactId>
                                <version>1.6.5</version>
                            </dependency>
                            <dependency>
                                <groupId>ant</groupId>
                                <artifactId>ant-trax</artifactId>
                                <version>1.6.5</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>setup.workspace</id>
                                <phase>validate</phase>
                                <configuration>
                                    <tasks>
                                        <path id="ecp.ws.path" location="${eclipse.workspace.dir}" />
                                        <property name="full.eclipse.workspace" refid="ecp.ws.path" />
                                        <property name="checkstyle.url" location="xmlschema-eclipse/src/main/resources/xmlschema-checkstyle.xml" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings" />
                                        <mkdir dir="${full.eclipse.workspace}/.metadata/.plugins/net.sourceforge.pmd.eclipse" />
                                        <get src="file:${checkstyle.url}" dest="${full.eclipse.workspace}/xmlschema-checkstyle.xml" />
                                        <!-- Add checkstyle config for 5.0 plugin -->
                                        <copy file="${basedir}/etc/eclipse/template.checkstyle-config.xml" tofile="${full.eclipse.workspace}/.metadata/.plugins/net.sf.eclipsecs.core/checkstyle-config.xml" overwrite="no">
                                            <filterset>
                                                <filter token="CHECKSTYLE_CONFIG_FILE" value="${full.eclipse.workspace}/xmlschema-checkstyle.xml" />
                                            </filterset>
                                        </copy>
                                        <!-- Add warning flags that we want -->
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs">
                                            <entry key="org.eclipse.jdt.core.compiler.problem.missingSerialVersion" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.unusedImport" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.annotationSuperInterface" value="ignore" />
                                            <entry key="org.eclipse.jdt.core.compiler.problem.rawTypeReference" value="ignore" />
                                        </propertyfile>
                                        <!-- Add code format rules -->
                                        <loadfile property="eclipse.code.cleanup" srcFile="${basedir}/etc/eclipse/XmlSchemaCleanUp.xml" />
                                        <loadfile property="eclipse.code.templates" srcFile="${basedir}/etc/eclipse/codetemplates.xml" />
                                        <loadfile property="eclipse.xml.templates" srcFile="${basedir}/etc/eclipse/xmltemplates.xml" />
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs">
                                            <entry key="cleanup_profile" value="XmlSchema" />
                                            <entry key="org.eclipse.jdt.ui.cleanupprofiles" value="${eclipse.code.cleanup}" />
                                            <entry key="org.eclipse.jdt.ui.text.custom_code_templates" value="${eclipse.code.templates}" />
                                            <!-- Add import order -->
                                            <entry key="org.eclipse.jdt.ui.importorder" value="java;javax;org.w3c;org.xml;org.junit;#org.junit" />
                                            <!-- Sort order -->
                                            <entry key="org.eclipse.jdt.ui.visibility.order" value="B,R,D,V," />
                                            <entry key="outlinesortoption" value="T,SF,F,SI,I,C,SM,M," />
                                            <entry key="org.eclipse.jdt.ui.enable.visibility.order" value="true" />
                                        </propertyfile>
                                        <propertyfile file="${full.eclipse.workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs">
                                            <entry key="eclipse.preferences.version" value="1" />
                                            <entry key="org.eclipse.wst.sse.ui.custom_templates" value="${eclipse.xml.templates}" />
                                        </propertyfile>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>sourcecheck</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <showDeprecation>true</showDeprecation>
                            <showWarnings>true</showWarnings>
                            <compilerArgument>${compile.flags}</compilerArgument>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>fastinstall</id>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <pmd.skip>true</pmd.skip>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
        </profile>
    </profiles>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>xmlunit</groupId>
                <artifactId>xmlunit</artifactId>
                <version>1.6</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-testlib</artifactId>
                <version>15.0</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
                <!--configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                    <reports>
                        <report>summary</report>
                        <report>dependencies</report>
                        <report>index</report>
                        <report>dependencies</report>
                        <report>issue-tracking</report>
                        <report>scm</report>
                        <report>project-team</report>
                        <report>mailing-list</report>
                        <report>license</report>
                    </reports>
                </configuration-->
            </plugin>
        </plugins>
    </reporting>
</project>
