hudson-core

Used in: 115 components

Overview

Description

Contains the core Hudson code and view files to render HTML.

Snippets

<dependency>
    <groupId>org.jvnet.hudson.main</groupId>
    <artifactId>hudson-core</artifactId>
    <version>2.2.1</version>
</dependency>

Maven POM File

<!--
The MIT License

Copyright (c) 2004-2011, Oracle Corporation, Kohsuke Kawaguchi,
Daniel Dyer, Erik Ramfelt, Stephen Connolly, Tom Huybrechts, Alan Harder, Anton Kozak, Nikita Levyankov

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.jvnet.hudson.main</groupId>
    <artifactId>hudson</artifactId>
    <version>2.2.1</version>
  </parent>

  <artifactId>hudson-core</artifactId>
  <name>Hudson :: Core</name>
  <description>
    Contains the core Hudson code and view files to render HTML.
  </description>

  <properties>
    <staplerFork>true</staplerFork>
    <!--Libraries-->
    <crypto-util.version>1.0</crypto-util.version>
    <jtidy.version>r938</jtidy.version>
    <jna-posix.version>1.0.3</jna-posix.version>
    <trilead-putty-extension.version>1.0</trilead-putty-extension.version>
    <stapler.version>3.0.1</stapler.version>
    <bridge-method-annotation.version>1.4</bridge-method-annotation.version>
    <json-lib.version>2.4</json-lib.version>
    <annotation-indexer.version>1.2</annotation-indexer.version>
    <task-reactor.version>1.2</task-reactor.version>
    <graph-layouter.version>1.0</graph-layouter.version>
    <antlr.version>2.7.6</antlr.version>
    <jfreechart.version>1.0.9</jfreechart.version>
    <commons-digester.version>3.0</commons-digester.version>
    <commons-beanutils.version>1.8.0</commons-beanutils.version>
    <commons-jelly-tags-fmt.version>1.0</commons-jelly-tags-fmt.version>
    <commons-jelly-tags-xml.version>1.1</commons-jelly-tags-xml.version>
    <commons-jelly-tags-define.version>1.0.1-hudson-20071021</commons-jelly-tags-define.version>
    <commons-jexl.version>2.0.1</commons-jexl.version>
    <commons-logging.version>1.1.1</commons-logging.version>
    <commons-collections.version>3.2</commons-collections.version>
    <javax-mail.version>1.4</javax-mail.version>
    <activation.version>1.1.1-hudson-1</activation.version>
    <jaxen.version>1.1-beta-11</jaxen.version>
    <acegi-security.version>1.0.5</acegi-security.version>
    <spring.version>2.5</spring.version>
    <spring-dao.version>2.0.8</spring-dao.version>
    <xpp3.version>1.1.4c</xpp3.version>
    <jstl.version>1.1.0</jstl.version>
    <log4j.version>1.2.12</log4j.version>
    <logkit.version>2.0</logkit.version>
    <avalon-framework.version>4.1.3</avalon-framework.version>
    <txw2.version>20070624</txw2.version>
    <winp.version>1.14</winp.version>
    <memory-monitor.version>1.3</memory-monitor.version>
    <jcaptcha-all.version>1.0-RC6</jcaptcha-all.version>
    <wstx-asl.version>3.2.7</wstx-asl.version>
    <jmdns.version>3.4.0</jmdns.version>
    <winsw.version>1.9</winsw.version>
    <jna.version>3.3.0</jna.version>
    <akuma.version>1.6</akuma.version>
    <libpam4j.version>1.4</libpam4j.version>
    <libzfs.version>0.5</libzfs.version>
    <embedded_su4j.version>1.1</embedded_su4j.version>
    <sezpoz.version>1.9</sezpoz.version>
    <jinterop-wmi.version>1.0</jinterop-wmi.version>
    <windows-remote-command.version>1.0</windows-remote-command.version>
    <metainf-services.version>1.1</metainf-services.version>
    <asm-commons.version>2.2.3</asm-commons.version>
    <access-modifier-annotation.version>1.0</access-modifier-annotation.version>
    <jline.version>0.9.94</jline.version>

    <!--Plugins-->
    <maven-encoding-plugin.version>1.1</maven-encoding-plugin.version>
    <bridge-method-injector.version>1.4</bridge-method-injector.version>
    <access-modifier-checker.version>1.0</access-modifier-checker.version>
    <antlr-maven-plugin.version>2.1</antlr-maven-plugin.version>
    <apt-maven-plugin.version>1.0-alpha-2</apt-maven-plugin.version>
    <maven-project-info-reports-plugin.version>2.1</maven-project-info-reports-plugin.version>
  </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.jvnet.hudson.tools</groupId>
                <artifactId>maven-encoding-plugin</artifactId>
                <version>${maven-encoding-plugin.version}</version>
                <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>
                <version>${bridge-method-injector.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.hudsonci.stapler</groupId>
                <artifactId>maven-stapler-plugin</artifactId>
                <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>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.kohsuke</groupId>
                <artifactId>access-modifier-checker</artifactId>
                <version>${access-modifier-checker.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>antlr-maven-plugin</artifactId>
                <version>${antlr-maven-plugin.version}</version>
                <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>
            <!--TODO  Use the maven-dependency-plugin -->
            <plugin>
                <groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
                <artifactId>maven-antrun-extended-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <configuration>
                            <tasks>
                                <mkdir dir="target/classes/windows-service" />
                                <resolveArtifact artifactId="winsw" tofile="target/classes/windows-service/hudson.exe" />
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin><!-- set main class -->
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>hudson.Main</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix />
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <!--
                  Configuration for generating Wiki page.
                  This kicks in with the release profile, or by manually running "mvn apt:process"
                -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>apt-maven-plugin</artifactId>
                <version>${apt-maven-plugin.version}</version>
                <configuration>
                    <force>true</force>
                    <!-- disable staleness check -->
                    <factory>org.jvnet.hudson.tools.ExtensionPointListerFactory</factory>
                    <options>
                        <option>page=Extension points</option>
                        <option>target=${project.basedir}/target/extension-points.wiki</option>
                    </options>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.jvnet.hudson.tools</groupId>
                        <artifactId>extension-point-lister</artifactId>
                        <version>1.7</version>
                        <exclusions>
                            <exclusion>
                                <groupId>com.sun</groupId>
                                <artifactId>tools</artifactId>
                            </exclusion>
                            <exclusion>
                                <groupId>commons-logging</groupId>
                                <artifactId>commons-logging</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

  <profiles>
    <profile>
      <id>hudson</id>
      <build>
        <plugins>
           <plugin>
              <groupId>org.codehaus.mojo</groupId>
               <artifactId>cobertura-maven-plugin</artifactId>
            </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>debug</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <id>release</id>
      <properties>
        <!-- for releases, just use the POM version. See above ant-run plugin for how this gets used. -->
        <build.version>${project.version}</build.version>
      </properties>
      <build>
        <plugins>
          <plugin><!-- execute apt:process for "Extension points" Wiki page generation -->
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <version>${apt-maven-plugin.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>process</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <!--
              generate jelly taglib docs from src/main/resoruces.
              this is necessary in addition to the <reporting> configuration
              to get the results deployed.
            -->
            <groupId>org.hudsonci.stapler</groupId>
            <artifactId>maven-stapler-plugin</artifactId>
            <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 -->
      <id>findbugs</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <configuration>
              <effort>Max</effort>
              <threshold>Normal</threshold>
              <onlyAnalyze>hudson.-</onlyAnalyze>
              <excludeFilterFile>src/findbugs-filter.xml</excludeFilterFile>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>pmd</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <configuration>
              <verbose>true</verbose>
              <targetJdk>1.5</targetJdk>
              <outputDirectory>${project.reporting.outputDirectory}</outputDirectory>
              <targetDirectory>${project.build.directory}</targetDirectory>
              <excludeRoots>
                <excludeRoot>${basedir}/target/generated-sources/</excludeRoot>
              </excludeRoots>
              <rulesets>
                <!--http://pmd.sourceforge.net/rules/index.html#Basic_Rules-->
                <!--<ruleset>/rulesets/basic.xml</ruleset>-->
                <!--http://pmd.sourceforge.net/rules/index.html#Unused_Code_Rules-->
                <!--<ruleset>/rulesets/unusedcode.xml</ruleset>-->
                <ruleset>/rulesets/imports.xml</ruleset>
                <!--http://pmd.sourceforge.net/rules/index.html#Braces_Rules-->
                <!--<ruleset>/rulesets/braces.xml</ruleset>-->
                <!--http://pmd.sourceforge.net/rules/index.html#Naming_Rules-->
                <!--<ruleset>/rulesets/naming.xml</ruleset>-->
              </rulesets>
            </configuration>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>check</goal>
                  <!--<goal>cpd-check</goal>-->
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <dependencies>
    <dependency>
      <groupId>org.jvnet.hudson.main</groupId>
      <artifactId>hudson-remoting</artifactId>
    </dependency>
    <!-- Why does the core depend on the CLI? -->
    <dependency>
      <groupId>org.jvnet.hudson.main</groupId>
      <artifactId>hudson-cli</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>crypto-util</artifactId>
      <version>${crypto-util.version}</version>
    </dependency>
    <dependency>
      <groupId>net.sf.jtidy</groupId>
      <artifactId>jtidy</artifactId>
      <version>${jtidy.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jruby.ext.posix</groupId>
      <artifactId>jna-posix</artifactId>
      <version>${jna-posix.version}</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>trilead-putty-extension</artifactId>
      <version>${trilead-putty-extension.version}</version>
    </dependency>
    <dependency>
      <groupId>org.hudsonci.stapler</groupId>
      <artifactId>stapler-jelly</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.codehaus.groovy</groupId>
          <artifactId>groovy</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.kohsuke.stapler</groupId>
          <artifactId>json-lib</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>com.infradna.tool</groupId>
      <artifactId>bridge-method-annotation</artifactId>
      <version>${bridge-method-annotation.version}</version>
    </dependency>

    <dependency><!-- until we get this version through Stapler -->
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>${json-lib.version}</version>
      <classifier>jdk15</classifier>
    </dependency>
    <dependency>
      <groupId>args4j</groupId>
      <artifactId>args4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>annotation-indexer</artifactId>
      <version>${annotation-indexer.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>task-reactor</artifactId>
      <version>${task-reactor.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.localizer</groupId>
      <artifactId>localizer</artifactId>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>graph-layouter</artifactId>
      <version>${graph-layouter.version}</version>
    </dependency>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>${antlr.version}</version>
    </dependency>
    <dependency>
      <groupId>org.hudsonci.tools</groupId>
      <artifactId>xstream</artifactId>
    </dependency>
    <dependency>
      <groupId>jfree</groupId>
      <artifactId>jfreechart</artifactId>
      <version>${jfreechart.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <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>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>

    <dependency><!-- Left for backward compatibility-->
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.5</version>
    </dependency>

    <dependency><!-- Left for backward compatibility-->
      <groupId>commons-digester</groupId>
      <artifactId>commons-digester</artifactId>
      <version>1.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-digester3</artifactId>
      <version>${commons-digester.version}</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>${commons-beanutils.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>${javax-mail.version}</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>${activation.version}</version>
    </dependency>
    <dependency>
      <groupId>jaxen</groupId>
      <artifactId>jaxen</artifactId>
      <version>${jaxen.version}</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>${commons-jelly-tags-fmt.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-jelly</groupId>
      <artifactId>commons-jelly-tags-xml</artifactId>
      <version>${commons-jelly-tags-xml.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>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>${commons-jelly-tags-define.version}</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.apache.commons</groupId>
      <artifactId>commons-jexl</artifactId>
      <version>${commons-jexl.version}</version>
    </dependency>
    <dependency>
      <groupId>org.acegisecurity</groupId>
      <artifactId>acegi-security</artifactId>
      <version>${acegi-security.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-remoting</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-support</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-dao</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>${groovy.version}</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-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency><!-- Hudson 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>
    <!--Dao and JDBC is used for acegi-security.-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-dao</artifactId>
      <version>${spring-dao.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
      <version>${xpp3.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</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-easymock</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency><!-- needed by Jelly -->
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>${jstl.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>${commons-logging.version}</version>
    </dependency>
    <!--
     | these are now optional in commons-logging:1.1.1,
     | keeping them around in case any plugins use them
     -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>logkit</groupId>
      <artifactId>logkit</artifactId>
      <version>${logkit.version}</version>
    </dependency>
    <dependency>
      <groupId>avalon-framework</groupId>
      <artifactId>avalon-framework</artifactId>
      <version>${avalon-framework.version}</version>
    </dependency>
    <!--
     | ^ end of optional commons-logging dependencies
     -->
    <dependency>
      <groupId>com.sun.xml.txw2</groupId>
      <artifactId>txw2</artifactId>
      <version>${txw2.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>${commons-collections.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.winp</groupId>
      <artifactId>winp</artifactId>
      <version>${winp.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>memory-monitor</artifactId>
      <version>${memory-monitor.version}</version>
    </dependency>
    <dependency>
      <groupId>com.octo.captcha</groupId>
      <artifactId>jcaptcha-all</artifactId>
      <version>${jcaptcha-all.version}</version>
      <exclusions>
        <exclusion>
          <groupId>hsqldb</groupId>
          <artifactId>hsqldb</artifactId>
        </exclusion>
        <exclusion>
          <groupId>hsqldb</groupId>
          <artifactId>hsqldb</artifactId>
        </exclusion>
        <exclusion>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache</artifactId>
        </exclusion>
        <exclusion>
          <groupId>quartz</groupId>
          <artifactId>quartz</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xercesImpl</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xmlParserAPIs</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-dbcp</groupId>
          <artifactId>commons-dbcp</artifactId>
        </exclusion>
        <exclusion>
          <groupId>concurrent</groupId>
          <artifactId>concurrent</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency><!-- StAX implementation. See HUDSON-2547. -->
      <groupId>org.codehaus.woodstox</groupId>
      <artifactId>wstx-asl</artifactId>
      <version>${wstx-asl.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.jmdns</groupId>
      <artifactId>jmdns</artifactId>
      <version>${jmdns.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.winsw</groupId>
      <artifactId>winsw</artifactId>
      <version>${winsw.version}</version>
      <classifier>bin</classifier>
      <type>exe</type>
      <scope>provided</scope><!-- this isn't really a dependency that Maven should care about, so putting 'provided' -->
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
      <version>${jna.version}</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>akuma</artifactId>
      <version>${akuma.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.libpam4j</groupId>
      <artifactId>libpam4j</artifactId>
      <version>${libpam4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.libzfs</groupId>
      <artifactId>libzfs</artifactId>
      <version>${libzfs.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.solaris</groupId>
      <artifactId>embedded_su4j</artifactId>
      <version>${embedded_su4j.version}</version>
    </dependency>
    <dependency>
      <groupId>net.java.sezpoz</groupId>
      <artifactId>sezpoz</artifactId>
      <version>${sezpoz.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>jinterop-wmi</artifactId>
      <version>${jinterop-wmi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.jvnet.hudson</groupId>
      <artifactId>windows-remote-command</artifactId>
      <version>${windows-remote-command.version}</version>
    </dependency>
    <dependency>
      <groupId>org.kohsuke.metainf-services</groupId>
      <artifactId>metainf-services</artifactId>
      <version>${metainf-services.version}</version>
      <optional>true</optional>
    </dependency>

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

    <dependency>
      <!-- with this, stapler can load parameter names from the debug info -->
      <groupId>asm</groupId>
      <artifactId>asm-commons</artifactId>
      <version>${asm-commons.version}</version>
    </dependency>

    <dependency>
      <groupId>org.kohsuke</groupId>
      <artifactId>access-modifier-annotation</artifactId>
      <version>${access-modifier-annotation.version}</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>jline</groupId>
      <artifactId>jline</artifactId>
      <version>${jline.version}</version>
    </dependency>
  </dependencies>

  <reporting>
    <plugins>
      <plugin><!-- generate Jelly tag lib documentation -->
        <groupId>org.hudsonci.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>${maven-project-info-reports-plugin.version}</version>
        <configuration>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>