<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.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>2.35</version>
    <relativePath />
  </parent>

  <groupId>org.jvnet.hudson.plugins</groupId>
  <artifactId>analysis-pom</artifactId>
  <packaging>pom</packaging>
  <name>Static Analysis Plug-ins Parent POM</name>
  <version>1.68</version>

  <properties>
    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>

    <!-- Override properties defined in parent POM -->
    <jenkins.version>1.625.1</jenkins.version>
    <java.level>7</java.level>

    <!-- Dependencies versions -->
    <analysis-config.version>1.0.34</analysis-config.version>
    <mockito.version>1.10.8</mockito.version>
    <dashboard-view.version>2.9.4</dashboard-view.version>
    <token-macro.version>2.1</token-macro.version>
    <jenkins-maven-plugin.version>2.17</jenkins-maven-plugin.version>
    <matrix-project.version>1.7.1</matrix-project.version>

    <!-- Maven plug-in versions -->
    <maven-cobertura-plugin.version>2.6</maven-cobertura-plugin.version>
    <maven-checkstyle-plugin.version>2.10</maven-checkstyle-plugin.version>
    <maven-pmd-plugin.version>3.0.1</maven-pmd-plugin.version>

    <!-- Enabled while there are fatal Findbugs issues -->
    <findbugs.failOnError>false</findbugs.failOnError>
  </properties>

  <licenses>
    <license>
      <name>MIT license</name>
      <comments>All source code is under the MIT license.</comments>
    </license>
    <license>
      <name>BSD license</name>
      <comments>All YUI source code is under the BSD license.</comments>
    </license>
  </licenses>

  <url>http://wiki.jenkins-ci.org/x/CwDgAQ</url>

  <scm>
    <connection>scm:git:git://github.com/jenkinsci/${project.artifactId}-plugin.git</connection>
    <developerConnection>scm:git:git@github.com:jenkinsci/${project.artifactId}-plugin.git</developerConnection>
    <url>https://github.com/jenkinsci/${project.artifactId}-plugin</url>
    <tag>analysis-pom-1.68</tag>
  </scm>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://jenkins.ci.cloudbees.com/job/plugins/job/${project.artifactId}-plugin</url>
  </ciManagement>

  <developers>
    <developer>
      <name>Ulli Hafner</name>
      <id>drulli</id>
      <email>ullrich.hafner@gmail.com</email>
    </developer>
  </developers>

  <dependencies>
    <dependency>
      <groupId>org.jenkins-ci.plugins</groupId>
      <artifactId>matrix-project</artifactId>
      <version>${matrix-project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci.main</groupId>
      <artifactId>maven-plugin</artifactId>
      <version>${jenkins-maven-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci.plugins</groupId>
      <artifactId>dashboard-view</artifactId>
      <version>${dashboard-view.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci.plugins</groupId>
      <artifactId>token-macro</artifactId>
      <version>${token-macro.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${mockito.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <configuration>
          <rules>
            <requireUpperBoundDeps>
              <excludes combine.children="append">
                <!-- All of these are required as maven-plugin has
                     a lot of inconsistent transitive dependencies -->
                <exclude>org.apache.ant:ant</exclude>
                <exclude>org.apache.httpcomponents:httpclient</exclude>
                <exclude>org.apache.httpcomponents:httpcore</exclude>
                <exclude>org.apache.maven:maven-aether-provider</exclude>
                <exclude>org.apache.maven:maven-core</exclude>
                <exclude>org.apache.maven:maven-embedder</exclude>
                <exclude>org.codehaus.plexus:plexus-classworlds</exclude>
                <exclude>org.codehaus.plexus:plexus-utils</exclude>
                <exclude>org.jenkins-ci.plugins:junit</exclude>
                <exclude>org.jenkins-ci.plugins:mailer</exclude>
                <exclude>org.jenkins-ci.modules:instance-identity</exclude>
                <exclude>org.jenkins-ci.modules:ssh-cli-auth</exclude>
                <exclude>commons-io:commons-io</exclude>
              </excludes>
            </requireUpperBoundDeps>
          </rules>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <argLine>-Djava.awt.headless=true</argLine>
          </configuration>
        </plugin>
        <!-- TODO: Fix failures so that this configuration isn't required -->
        <plugin>
          <groupId>org.jenkins-ci.tools</groupId>
          <artifactId>maven-hpi-plugin</artifactId>
          <configuration>
            <disabledTestInjection>true</disabledTestInjection>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${maven-cobertura-plugin.version}</version>
          <configuration>
            <format>xml</format>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.jvnet.hudson.plugins</groupId>
              <artifactId>analysis-config</artifactId>
              <version>${analysis-config.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>checkstyle-configuration.xml</configLocation>
            <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
            <propertyExpansion>config_loc=${project.build.directory}/</propertyExpansion>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${maven-pmd-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.jvnet.hudson.plugins</groupId>
              <artifactId>analysis-config</artifactId>
              <version>${analysis-config.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <rulesets>
              <ruleset>pmd-configuration.xml</ruleset>
            </rulesets>
            <targetJdk>${java.level}</targetJdk>
            <excludeRoots>
              <excludeRoot>target/generated-sources/localizer</excludeRoot>
            </excludeRoots>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.jvnet.hudson.plugins</groupId>
              <artifactId>analysis-config</artifactId>
              <version>${analysis-config.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <xmlOutput>true</xmlOutput>
            <findbugsXmlOutput>true</findbugsXmlOutput>
            <threshold>Low</threshold>
            <effort>Max</effort>
            <relaxed>false</relaxed>
            <fork>false</fork>
            <excludeFilterFile>findbugs-exclusion-filter.xml</excludeFilterFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <additionalparam>-Xdoclint:none</additionalparam>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <repositories>
    <repository>
      <id>repo.jenkins-ci.org</id>
      <url>http://repo.jenkins-ci.org/public/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>repo.jenkins-ci.org</id>
      <url>http://repo.jenkins-ci.org/public/</url>
    </pluginRepository>
  </pluginRepositories>

</project>

