Pom of org.jenkins-ci.main:jenkins-core:2.61

Back to org.jenkins-ci.main:jenkins-core:2.61

<?xml version="1.0" encoding="UTF-8"?>
<!--
The MIT License

Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi,
Daniel Dyer, Erik Ramfelt, Stephen Connolly, Tom Huybrechts, Alan Harder

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<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.main</groupId>
    <artifactId>pom</artifactId>
    <version>2.61</version>
  </parent>

  <artifactId>jenkins-core</artifactId>

  <name>Jenkins core</name>
  <description>Jenkins core code and view files to render HTML.</description>

  <properties>
    <staplerFork>true</staplerFork>
    <stapler.version>1.250</stapler.version>
    <spring.version>2.5.6.SEC03</spring.version>
    <groovy.version>2.4.11</groovy.version>
    <!-- TODO: Actually many issues are being filtered by src/findbugs/findbugs-excludes.xml -->
    <findbugs.failOnError>true</findbugs.failOnError>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.jenkins-ci.plugins.icon-shim</groupId>
      <artifactId>icon-set</artifactId>
      <version>1.0.5</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>remoting</artifactId>
      <!-- specified in the parent -->
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>cli</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>version-number</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>crypto-util</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>jtidy</artifactId>
      <version>4aug2000r7-dev-hudson-1</version>
      <exclusions>
        <exclusion>
          <groupId>jdom</groupId>
          <artifactId>jdom</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency><!-- working around MCOMPILER-97 -->
      <groupId>org.jenkins-ci</groupId>
      <artifactId>core-annotation-processors</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
    </dependency>

    <dependency> <!-- for compatibility only; all new code should use JNR -->
      <groupId>org.jruby.ext.posix</groupId>
      <artifactId>jna-posix</artifactId>
      <version>1.0.3-jenkins-1</version>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-posix</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>trilead-putty-extension</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>trilead-ssh2</artifactId>
      <version>build217-jenkins-10</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-groovy</artifactId>
      <version>${stapler.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-jelly</groupId>
          <artifactId>commons-jelly</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-jexl</groupId>
          <artifactId>commons-jexl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jvnet.hudson</groupId>
          <artifactId>commons-jexl</artifactId>
        </exclusion>
        <exclusion>
          <!-- we bundle groovy-all -->
          <groupId>org.codehaus.groovy</groupId>
          <artifactId>groovy</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-jrebel</artifactId>
      <version>${stapler.version}</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>windows-package-checker</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-adjunct-zeroclipboard</artifactId>
      <version>1.3.5-1</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-adjunct-timeline</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-adjunct-codemirror</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency><!-- this helps us see the source code of the control while we edit Jenkins. -->
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>stapler-adjunct-timeline</artifactId>
      <version>1.4</version>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.infradna.tool</groupId>
      <artifactId>bridge-method-annotation</artifactId>
      <version>1.13</version>
    </dependency>

    <dependency><!-- until we get this version through Stapler -->
      <groupId>org.kohsuke.stapler</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4-jenkins-2</version>
    </dependency>
    <dependency>
      <groupId>commons-httpclient</groupId>
      <artifactId>commons-httpclient</artifactId>
    </dependency>
    <dependency><!-- JENKINS-21160: remoting also depends on args4j, please update accordingly -->
      <groupId>args4j</groupId>
      <artifactId>args4j</artifactId>
      <version>2.0.31</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>annotation-indexer</artifactId>
      <version>1.11</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>bytecode-compatibility-transformer</artifactId>
      <version>1.8</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>task-reactor</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.localizer</groupId>
      <artifactId>localizer</artifactId>
      <version>1.24</version>
    </dependency>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.6</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>xstream</artifactId>
      <version>1.4.7-jenkins-1</version>
      <exclusions>
        <exclusion>
          <groupId>xmlpull</groupId>
          <artifactId>xmlpull</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xpp3</groupId>
          <artifactId>xpp3_min</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>jfree</groupId>
      <artifactId>jfreechart</artifactId>
      <version>1.0.9</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency><!-- hudson doesn't use this directly, but some plugins wanted to use the latest -->
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>commons-digester</groupId>
      <artifactId>commons-digester</artifactId>
      <version>2.1</version>
      <exclusions>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <!--
        The version included in the transitive dependency doesn't have the source zip,
        so explicitly using the newer version.
      -->
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.8.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.4</version>
      <exclusions>
        <exclusion><!-- using a patched version -->
          <groupId>javax.activation</groupId>
          <artifactId>activation</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>activation</artifactId>
      <version>1.1.1-hudson-1</version>
    </dependency>
    <dependency>
      <groupId>jaxen</groupId>
      <artifactId>jaxen</artifactId>
      <version>1.1-beta-11</version>
      <exclusions>
        <exclusion>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xom</groupId>
          <artifactId>xom</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xercesImpl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jdom</groupId>
          <artifactId>jdom</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-jelly</groupId>
      <artifactId>commons-jelly-tags-fmt</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-jelly</groupId>
      <artifactId>commons-jelly-tags-xml</artifactId>
      <version>1.1</version>
      <exclusions>
        <exclusion>
          <groupId>commons-jelly</groupId>
          <artifactId>commons-jelly</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-jexl</groupId>
          <artifactId>commons-jexl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-jelly</groupId>
          <artifactId>commons-jelly-tags-junit</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xalan</groupId>
          <artifactId>xalan</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xercesImpl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>commons-jelly-tags-define</artifactId>
      <version>1.0.1-hudson-20071021</version>
      <exclusions>
        <exclusion>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-cli</groupId>
          <artifactId>commons-cli</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jvnet.hudson</groupId>
          <artifactId>commons-jelly</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>commons-jexl</artifactId>
      <version>1.1-jenkins-20111212</version>
    </dependency>
    <dependency>
      <groupId>org.acegisecurity</groupId>
      <artifactId>acegi-security</artifactId>
      <version>1.0.7</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-remoting</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-support</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>${groovy.version}</version>
    </dependency>
    <dependency><!-- groovy shell uses this but uses an optional dependency -->
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>2.12</version>
      <scope>compile</scope>
    </dependency>
    <dependency><!-- groovy shell uses this but it doesn't declare this dependency -->
      <groupId>org.fusesource.jansi</groupId>
      <artifactId>jansi</artifactId>
      <version>1.11</version>
    </dependency>
    <dependency>
      <!--
        for Grails spring bean builder.
        Ideally we should be able to modify BeanBuilder so as not to depend on this.
      -->
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency><!-- Jenkins core doesn't use it but HUDSON-3811 requires us to put it. -->
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
      <version>1.1.4c</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency><!-- needed by Jelly -->
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>log4j-over-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.sun.xml.txw2</groupId>
      <artifactId>txw2</artifactId>
      <version>20110809</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.2</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.winp</groupId>
      <artifactId>winp</artifactId>
      <version>1.24</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>memory-monitor</artifactId>
      <version>1.9</version>
    </dependency>
    <dependency><!-- StAX implementation. See HUDSON-2547. -->
      <groupId>org.codehaus.woodstox</groupId>
      <artifactId>wstx-asl</artifactId>
      <version>3.2.9</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>jmdns</artifactId>
      <version>3.4.0-jenkins-3</version>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
      <version>4.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>akuma</artifactId>
      <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>libpam4j</artifactId>
      <version>1.8</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>libzfs</artifactId>
      <version>0.8</version>
    </dependency>
    <dependency>
      <groupId>com.sun.solaris</groupId>
      <artifactId>embedded_su4j</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>net.java.sezpoz</groupId>
      <artifactId>sezpoz</artifactId>
      <version>1.12</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.jinterop</groupId>
      <artifactId>j-interop</artifactId>
      <version>2.0.6-kohsuke-1</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.metainf-services</groupId>
      <artifactId>metainf-services</artifactId>
      <version>1.4</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.jvnet.robust-http-client</groupId>
      <artifactId>robust-http-client</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.jenkins-ci</groupId>
      <artifactId>symbol-annotation</artifactId>
      <version>1.1</version>
    </dependency>

    <dependency><!-- Jenkins doesn't depend on it but some plugin wants the latest version. Bundling 1.6 until we figure out a mechanism to let plugins load its own -->
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.8</version>
    </dependency>

    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>access-modifier-annotation</artifactId>
    </dependency>

    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>annotations</artifactId>
      <version>3.0.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1-jenkins-1</version>
    </dependency>

    <!-- offline profiler API to put in the classpath if we need it -->
    <!--dependency>
      <groupId>com.yourkit.api</groupId>
      <artifactId>yjp</artifactId>
      <version>dontcare</version>
      <scope>system</scope>
      <systemPath>/usr/local/yjp/lib/yjp.jar</systemPath>
    </dependency-->

    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava-testlib</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- Overriding Stapler’s 1.1.3 version to diagnose JENKINS-20618: -->
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jzlib</artifactId>
      <version>1.1.3-kohsuke-1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
        <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
         <executions>
             <execution>
                 <id>add-source</id>
                 <phase>generate-sources</phase>
                 <goals>
                     <goal>add-source</goal>
                 </goals>
                 <configuration>
                     <sources>
                         <source>${project.build.directory}/generated-sources/antlr</source>
                         <source>${project.build.directory}/generated-sources/localizer</source>
                         <source>${project.build.directory}/generated-sources/taglib-interface</source>
                     </sources>
                 </configuration>
             </execution>
         </executions>
      </plugin>
      <plugin>
        <groupId>org.jenkins-ci.tools</groupId>
        <artifactId>maven-hpi-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>generate-taglib-interface</goal>
              <goal>record-core-location</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jvnet.hudson.tools</groupId>
        <artifactId>maven-encoding-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <executions>
          <execution>
            <goals>
              <goal>check-encoding</goal>
            </goals>
            <phase>compile</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.infradna.tool</groupId>
        <artifactId>bridge-method-injector</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.kohsuke.stapler</groupId>
        <artifactId>maven-stapler-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <configuration>
          <fork>${staplerFork}</fork><!-- the source code is big enough now that otherwise it fails with OutOfMemoryError -->
          <maxmem>128m</maxmem>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jvnet.localizer</groupId>
        <artifactId>maven-localizer-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <fileMask>Messages.properties</fileMask>
              <outputDirectory>target/generated-sources/localizer</outputDirectory>
              <accessModifierAnnotations>true</accessModifierAnnotations>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.kohsuke</groupId>
        <artifactId>access-modifier-checker</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>enforce</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>antlr-maven-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <executions>
          <execution>
            <id>cron</id>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <sourceDirectory>${basedir}/src/main/grammar</sourceDirectory>
              <grammars>crontab.g</grammars>
            </configuration>
          </execution>
          <execution>
            <id>labelExpr</id>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <sourceDirectory>${basedir}/src/main/grammar</sourceDirectory>
              <grammars>labelExpr.g</grammars>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>winsw</id>
            <phase>generate-resources</phase>
            <goals>
              <!-- we use copy as this is a dependency from outside the reactor -->
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>com.sun.winsw</groupId>
                  <artifactId>winsw</artifactId>
                  <version>2.1.0</version>
                  <classifier>bin</classifier>
                  <type>exe</type>
                  <outputDirectory>${project.build.outputDirectory}/windows-service</outputDirectory>
                  <destFileName>jenkins.exe</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <forkCount>0.5C</forkCount>
          <reuseForks>true</reuseForks>
          <argLine>-noverify</argLine> <!-- some versions of JDK7/8 causes VerifyError during mock tests: http://code.google.com/p/powermock/issues/detail?id=504 -->
        </configuration>
      </plugin>
      <plugin><!-- set main class -->
        <artifactId>maven-jar-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <configuration>
          <archive>
            <manifest>
              <mainClass>hudson.Main</mainClass>
              <addClasspath>true</addClasspath>
              <classpathPrefix />
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin><!-- run unit test in src/test/java -->
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <!-- version specified in grandparent pom -->
        <executions>
          <execution>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovy.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin><!-- generate Jelly tag lib documentation -->
        <groupId>org.kohsuke.stapler</groupId>
        <artifactId>maven-stapler-plugin</artifactId>
        <version>${maven-stapler-plugin.version}</version>
        <configuration>
          <patterns>
            <pattern>/lib/.*</pattern>
          </patterns>
        </configuration>
      </plugin>
      <plugin><!-- skip slow dependency analysis -->
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>debug</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <!--
              generate jelly taglib docs from src/main/resources.
              this is necessary in addition to the <reporting> configuration
              to get the results deployed.
            -->
            <groupId>org.kohsuke.stapler</groupId>
            <artifactId>maven-stapler-plugin</artifactId>
            <!-- version specified in grandparent pom -->
            <executions>
              <execution>
                <goals>
                  <goal>jelly-taglibdoc</goal>
                </goals>
                <configuration>
                  <patterns>
                    <pattern>/lib/.*</pattern>
                  </patterns>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!-- Run FindBugs for better error detection. Run as "mvn -Pfindbugs install site". -->
      <!-- FindBugs has been moved to the default build flow, but here we fail the build on errors-->
      <id>findbugs</id>
      <properties>
        <!-- In the default profile we always fail the build if there FindBugs errors -->
        <findbugs.failOnError>true</findbugs.failOnError>
      </properties>
    </profile>
    <profile>
      <!-- Obtain code coverage report. This is done by running Unit tests on our own and suppressing surefire. -->
      <id>cobertura</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <!-- version specified in grandparent pom -->
            <executions>
              <!-- run unit test -->
              <execution>
                <phase>test</phase>
                <goals>
                  <goal>execute</goal>
                </goals>
                <configuration>
                  <scriptpath>
                    <element>${project.basedir}/src/build-script</element>
                  </scriptpath>
                  <source>${project.basedir}/src/build-script/unitTest.groovy</source>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <!-- unit tests are run by GMaven through Ant. -->
            <artifactId>maven-surefire-plugin</artifactId>
            <!-- version specified in grandparent pom -->
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>