<?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.wicket</groupId>
		<artifactId>wicket-parent</artifactId>
		<version>10.0.0-M1</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

  <artifactId>wicket-commons-fileupload</artifactId>

  <name>Wicket Commons FileUpload</name>
  <description>
    The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart
    file upload functionality to servlets and web applications.
  </description>
  <url>https://commons.apache.org/proper/commons-fileupload/</url>
  <inceptionYear>2002</inceptionYear>

  <developers>
    <developer>
      <name>Martin Cooper</name>
      <id>martinc</id>
      <email>martinc@apache.org</email>
      <organization>Yahoo!</organization>
    </developer>
    <developer>
      <name>dIon Gillard</name>
      <id>dion</id>
      <email>dion@apache.org</email>
      <organization>Multitask Consulting</organization>
    </developer>
    <developer>
      <name>John McNally</name>
      <id>jmcnally</id>
      <email>jmcnally@collab.net</email>
      <organization>CollabNet</organization>
    </developer>
    <developer>
      <name>Daniel Rall</name>
      <id>dlr</id>
      <email>dlr@finemaltcoding.com</email>
      <organization>CollabNet</organization>
    </developer>
    <developer>
      <name>Jason van Zyl</name>
      <id>jvanzyl</id>
      <email>jason@zenplex.com</email>
      <organization>Zenplex</organization>
    </developer>
    <developer>
      <name>Robert Burrell Donkin</name>
      <id>rdonkin</id>
      <email>rdonkin@apache.org</email>
      <organization />
    </developer>
    <developer>
      <name>Sean C. Sullivan</name>
      <id>sullis</id>
      <email>sean |at| seansullivan |dot| com</email>
      <organization />
    </developer>
    <developer>
      <name>Jochen Wiedmann</name>
      <id>jochen</id>
      <email>jochen.wiedmann@gmail.com</email>
      <organization />
    </developer>
    <developer>
      <name>Simone Tripodi</name>
      <id>simonetripodi</id>
      <email>simonetripodi@apache.org</email>
      <organization>Adobe</organization>
    </developer>
    <developer>
      <id>ggregory</id>
      <name>Gary Gregory</name>
      <email>ggregory at apache.org</email>
      <url>https://www.garygregory.com</url>
      <organization>The Apache Software Foundation</organization>
      <organizationUrl>https://www.apache.org/</organizationUrl>
      <roles>
        <role>PMC Member</role>
      </roles>
      <timezone>America/New_York</timezone>
      <properties>
        <picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
      </properties>
    </developer>
    <developer>
      <name>Rob Tompkins</name>
      <id>chtompki</id>
      <email>chtompki@apache.org</email>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Aaron Freeman</name>
      <email>aaron@sendthisfile.com</email>
    </contributor>
    <contributor>
      <name>Daniel Fabian</name>
      <email>dfabian@google.com</email>
    </contributor>
    <contributor>
      <name>Jörg Heinicke</name>
      <email>joerg.heinicke@gmx.de</email>
    </contributor>
    <contributor>
      <name>Stepan Koltsov</name>
      <email>yozh@mx1.ru</email>
    </contributor>
    <contributor>
      <name>Michael Macaluso</name>
      <email>michael.public@wavecorp.com</email>
    </contributor>
    <contributor>
      <name>Amichai Rothman</name>
      <email>amichai2@amichais.net</email>
    </contributor>
    <contributor>
      <name>Alexander Sova</name>
      <email>bird@noir.crocodile.org</email>
    </contributor>
    <contributor>
      <name>Paul Spurr</name>
      <email>pspurr@gmail.com</email>
    </contributor>
    <contributor>
      <name>Thomas Vandahl</name>
      <email>tv@apache.org</email>
    </contributor>
    <contributor>
      <name>Henry Yandell</name>
      <email>bayard@apache.org</email>
    </contributor>
    <contributor>
      <name>Jan Novotný</name>
      <email>novotnaci@gmail.com</email>
    </contributor>
    <contributor>
      <name>frank</name>
      <email>mailsurfie@gmail.com</email>
    </contributor>
    <contributor>
      <name>maxxedev</name>
      <email>maxxedev@gmail.com</email>
    </contributor>
    <contributor>
      <name>Rafal Krzewski</name>
      <email>Rafal.Krzewski@e-point.pl</email>
    </contributor>
    <contributor>
      <name>Sean Legassick</name>
      <email>sean@informage.net</email>
    </contributor>
    <contributor>
      <name>Oleg Kalnichevski</name>
      <email>oleg@ural.ru</email>
    </contributor>
    <contributor>
      <name>David Sean Taylor</name>
      <email>taylor@apache.org</email>
    </contributor>
    <contributor>
      <name>fangwentong</name>
      <email>fangwentong2012@gmail.com</email>
    </contributor>
    <contributor>
      <name>David Georg Reichelt</name>
    </contributor>
    <contributor>
      <name>Merbin J Anselm</name>
      <email>merbinjanselm@gmail.com</email>
    </contributor>
    <contributor>
      <name>Arturo Bernal</name>
      <email>arturobernalg@gmail.com</email>
    </contributor>
    <contributor>
      <name>Martin Grigorov</name>
      <email>mgrigorov@apache.org</email>
    </contributor>
  </contributors>

  <scm>
    <connection>scm:git:http://gitbox.apache.org/repos/asf/commons-fileupload.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-fileupload.git</developerConnection>
    <url>https://gitbox.apache.org/repos/asf?p=commons-fileupload.git</url>
    <tag>rel/wicket-10.0.0-M1</tag>
  </scm>
  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/FILEUPLOAD</url>
  </issueManagement>

  <distributionManagement>
    <site>
      <id>apache.website</id>
      <name>Apache Commons Site</name>
      <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-fileupload/</url>
    </site>
  </distributionManagement>

  <properties>
    <commons.componentid>fileupload</commons.componentid>
    <commons.module.name>org.apache.commons.fileupload</commons.module.name>
    <commons.release.version>2.0</commons.release.version>
    <commons.release.desc>(requires Java ${maven.compiler.target} or later)</commons.release.desc>
    <commons.jira.id>FILEUPLOAD</commons.jira.id>
    <commons.jira.pid>12310476</commons.jira.pid>
    <commons.site.path>fileupload</commons.site.path>
    <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-fileupload</commons.scmPubUrl>
    <commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
    <commons.osgi.export>!org.apache.commons.fileupload.util.mime,org.apache.commons.*;version=${project.version};-noimport:=true</commons.osgi.export>
    <commons.osgi.import>!javax.portlet,*</commons.osgi.import>
    <commons.osgi.dynamicImport>javax.portlet</commons.osgi.dynamicImport>
    <japicmp.skip>true</japicmp.skip>
    <moditect-maven-plugin.version>1.0.0.RC2</moditect-maven-plugin.version>
    <moditect.skip>true</moditect.skip>
    <enforcer.skip>true</enforcer.skip>
    <checkstyle.skip>true</checkstyle.skip>

    <!-- Commons Release Plugin -->
    <commons.bc.version>2.0.0</commons.bc.version>
    <commons.rc.version>RC1</commons.rc.version>
    <commons.release.isDistModule>true</commons.release.isDistModule>
    <commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
    <commons.releaseManagerName>Rob Tompkins</commons.releaseManagerName>
    <commons.releaseManagerKey>B6E73D84EA4FCC47166087253FAAD2CD5ECBB314</commons.releaseManagerKey>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
    	<groupId>jakarta.servlet</groupId>
    	<artifactId>jakarta.servlet-api</artifactId>
    	<scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.12.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.2.1</version>
        <executions>
          <execution>
            <id>validate-main</id>
            <phase>validate</phase>
            <configuration>
              <configLocation>${basedir}/src/checkstyle/fileupload_checks.xml</configLocation>
              <suppressionsLocation>${basedir}/src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
              <includeTestSourceDirectory>false</includeTestSourceDirectory>
              <enableRulesSummary>false</enableRulesSummary>
              <consoleOutput>true</consoleOutput>
              <failsOnError>true</failsOnError>
              <linkXRef>false</linkXRef>
            </configuration>
            <goals>
              <goal>checkstyle</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>${basedir}/src/main/assembly/bin.xml</descriptor>
            <descriptor>${basedir}/src/main/assembly/src.xml</descriptor>
          </descriptors>
          <tarLongFileMode>gnu</tarLongFileMode>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <preparationGoals>clean site verify</preparationGoals>
          <goals>clean site deploy</goals>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <excludeDependencies>true</excludeDependencies>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludes>
              <exclude>site-content/**</exclude>
              <exclude>src/site/resources/download_lang.cgi</exclude>
              <exclude>src/checkstyle/license-header.txt</exclude>
            </excludes>
          </configuration>
        </plugin><!-- override skip property of parent pom -->
        <plugin>
          <groupId>com.github.siom79.japicmp</groupId>
          <artifactId>japicmp-maven-plugin</artifactId>
          <configuration>
            <skip>true</skip>
          </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>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.8,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <versionRange>[1.10,)</versionRange>
                    <goals>
                      <goal>parse-version</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <configuration>
            <configLocation>${basedir}/src/checkstyle/fileupload_checks.xml</configLocation>
            <suppressionsLocation>${basedir}/src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
            <includeTestSourceDirectory>false</includeTestSourceDirectory>
            <enableRulesSummary>false</enableRulesSummary>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <defaultGoal>clean verify apache-rat:check checkstyle:check javadoc:javadoc spotbugs:check</defaultGoal>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>${commons.changes.version}</version>
        <configuration>
          <issueLinkTemplate>%URL%/../%ISSUE%</issueLinkTemplate>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
              <!--  NPE, retry from time to time <report>jira-report</report>  -->
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${checkstyle.plugin.version}</version>
        <configuration>
          <configLocation>${basedir}/src/checkstyle/fileupload_checks.xml</configLocation>
          <suppressionsLocation>${basedir}/src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <enableRulesSummary>false</enableRulesSummary>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <configuration>
          <targetJdk>${maven.compiler.target}</targetJdk>
          <rulesets>
            <ruleset>${basedir}/src/checkstyle/fileupload_basic.xml</ruleset>
          </rulesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <tagListOptions>
            <tagClasses>
              <tagClass>
                <displayName>Needs Work</displayName>
                <tags>
                  <tag>
                    <matchString>TODO</matchString>
                    <matchType>exact</matchType>
                  </tag>
                  <tag>
                    <matchString>FIXME</matchString>
                    <matchType>exact</matchType>
                  </tag>
                  <tag>
                    <matchString>XXX</matchString>
                    <matchType>exact</matchType>
                  </tag>
                </tags>
              </tagClass>
              <tagClass>
                <displayName>Noteable Markers</displayName>
                <tags>
                  <tag>
                    <matchString>NOTE</matchString>
                    <matchType>exact</matchType>
                  </tag>
                  <tag>
                    <matchString>NOPMD</matchString>
                    <matchType>exact</matchType>
                  </tag>
                  <tag>
                    <matchString>NOSONAR</matchString>
                    <matchType>exact</matchType>
                  </tag>
                </tags>
              </tagClass>
            </tagClasses>
          </tagListOptions>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>setup-checkout</id>
      <activation>
        <file>
          <missing>site-content</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>prepare-checkout</id>
                <phase>pre-site</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <exec executable="svn">
                      <arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}" />
                    </exec>

                    <exec executable="svn">
                      <arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs" />
                    </exec>

                    <pathconvert pathsep=" " property="dirs">
                      <dirset dir="${commons.scmPubCheckoutDirectory}" includes="*" />
                    </pathconvert>
                    <exec executable="svn">
                      <arg line="update --set-depth infinity ${dirs}" />
                    </exec>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>4.7.3.3</version>
            <configuration>
              <excludeFilterFile>${basedir}/spotbugs-exclude-filter.xml</excludeFilterFile>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>java9</id>
      <activation>
        <jdk>9</jdk>
      </activation>
      <properties>
        <!-- coverall version 4.3.0 does not work with java 9, see https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
        <coveralls.skip>true</coveralls.skip>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <properties>
        <moditect.skip>false</moditect.skip>
        <maven.compiler.release>8</maven.compiler.release>
      </properties>
    </profile>
  </profiles>
</project>
