Adding in the base trigger and url classes.

This commit is contained in:
Daniel Brooks 2014-05-21 19:13:59 -07:00
parent 976b54b055
commit ef545a7770
5 changed files with 407 additions and 119 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
<output url="file://$MAVEN_REPOSITORY$/org/jenkins-ci/plugins/plugin/1.532.3/target/classes" />
<output-test url="file://$MAVEN_REPOSITORY$/org/jenkins-ci/plugins/plugin/1.532.3/target/test-classes" />
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
@ -10,122 +10,122 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.jenkins-ci.main:jenkins-core:1.532.3" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci.main:remoting:2.33" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:constant-pool-scanner:1.2" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci.main:cli:1.532.3" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.8" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.localizer:localizer:1.10" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:trilead-ssh2:build217-jenkins-3" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:version-number:1.1" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:crypto-util:1.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:1.4" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:jtidy:4aug2000r7-dev-hudson-1" level="project" />
<orderEntry type="library" name="Maven: com.google.inject:guice:no_aop:4.0-beta" level="project" />
<orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:11.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
<orderEntry type="library" name="Maven: org.jruby.ext.posix:jna-posix:1.0.3" level="project" />
<orderEntry type="library" name="Maven: com.github.jnr:jnr-posix:3.0.1" level="project" />
<orderEntry type="library" name="Maven: com.github.jnr:jnr-ffi:1.0.7" level="project" />
<orderEntry type="library" name="Maven: com.github.jnr:jffi:1.2.7" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.github.jnr:jffi:native:1.2.7" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.0" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-commons:4.0" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-tree:4.0" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-analysis:4.0" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm-util:4.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jnr:jnr-x86asm:1.0.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jnr:jnr-constants:0.8.5" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:trilead-putty-extension:1.2" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-groovy:1.223" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-jelly:1.223" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler:1.223" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-discovery:commons-discovery:0.4" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.3" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:json-lib:2.4-jenkins-2" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.jvnet:tiger-types:1.3" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:asm3:3.3.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.jcraft:jzlib:1.1.3" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:commons-jelly:1.1-jenkins-20120928" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:commons-jexl:1.1-jenkins-20111212" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson.dom4j:dom4j:1.6.1-hudson-3" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.groovy:groovy-all:1.8.9" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-jrebel:1.223" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:windows-package-checker:1.0" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-adjunct-zeroclipboard:1.1.7-1" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-adjunct-timeline:1.4" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.stapler:stapler-adjunct-codemirror:1.2" level="project" />
<orderEntry type="library" name="Maven: com.infradna.tool:bridge-method-annotation:1.8" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:annotation-indexer:1.7" level="project" />
<orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
<orderEntry type="library" name="Maven: args4j:args4j:2.0.23" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:bytecode-compatibility-transformer:1.4" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:task-reactor:1.2" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.6" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:xstream:1.4.4-jenkins-5" level="project" />
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: jfree:jfreechart:1.0.9" level="project" />
<orderEntry type="library" name="Maven: jfree:jcommon:1.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.ant:ant:1.8.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.8.3" level="project" />
<orderEntry type="library" name="Maven: commons-digester:commons-digester:2.1" level="project" />
<orderEntry type="library" name="Maven: javax.mail:mail:1.4.4" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:activation:1.1.1-hudson-1" level="project" />
<orderEntry type="library" name="Maven: jaxen:jaxen:1.1-beta-11" level="project" />
<orderEntry type="library" name="Maven: commons-jelly:commons-jelly-tags-fmt:1.0" level="project" />
<orderEntry type="library" name="Maven: commons-jelly:commons-jelly-tags-xml:1.1" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.hudson:commons-jelly-tags-define:1.0.1-hudson-20071021" level="project" />
<orderEntry type="library" name="Maven: org.acegisecurity:acegi-security:1.0.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:1.2.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-dao:1.2.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: oro:oro:2.0.8" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: log4j:log4j:1.2.9" level="project" />
<orderEntry type="library" name="Maven: jline:jline:0.9.94" level="project" />
<orderEntry type="library" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" name="Maven: org.fusesource.jansi:jansi:1.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:2.5.6.SEC03" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:jstl:1.1.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.txw2:txw2:20110809" level="project" />
<orderEntry type="library" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
<orderEntry type="library" name="Maven: relaxngDatatype:relaxngDatatype:20020414" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.winp:winp:1.16" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:memory-monitor:1.7" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:3.3.0-jenkins-3" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.woodstox:wstx-asl:3.2.9" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:jmdns:3.4.0-jenkins-3" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:akuma:1.9" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:libpam4j:1.6" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.libzfs:libzfs:0.5" level="project" />
<orderEntry type="library" name="Maven: com.sun.solaris:embedded_su4j:1.1" level="project" />
<orderEntry type="library" name="Maven: net.java.sezpoz:sezpoz:1.9" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:jinterop-wmi:1.1" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.jinterop:jinterop-proxy:1.1" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.jinterop:j-interop:2.0.6-kohsuke-1" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke.jinterop:j-interopdeps:2.0.6-kohsuke-1" level="project" />
<orderEntry type="library" name="Maven: org.samba.jcifs:jcifs:1.3.14-kohsuke-1" level="project" />
<orderEntry type="library" name="Maven: org.jenkins-ci:windows-remote-command:1.3" level="project" />
<orderEntry type="library" name="Maven: org.jvnet.robust-http-client:robust-http-client:1.2" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:access-modifier-annotation:1.4" level="project" />
<orderEntry type="library" name="Maven: org.kohsuke:owasp-html-sanitizer:r88" level="project" />
<orderEntry type="library" name="Maven: org.mindrot:jbcrypt:0.3m" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jenkins-ci.main:jenkins-war:war:1.532.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci.main:jenkins-core:1.532.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci.main:remoting:2.33" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:constant-pool-scanner:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci.main:cli:1.532.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.localizer:localizer:1.10" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:trilead-ssh2:build217-jenkins-3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:version-number:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:crypto-util:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-io:commons-io:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson:jtidy:4aug2000r7-dev-hudson-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.inject:guice:no_aop:4.0-beta" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:11.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jruby.ext.posix:jna-posix:1.0.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jnr-posix:3.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jnr-ffi:1.0.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jffi:1.2.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jffi:native:1.2.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm:4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-commons:4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-tree:4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-analysis:4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-util:4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jnr-x86asm:1.0.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.jnr:jnr-constants:0.8.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:trilead-putty-extension:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-groovy:1.223" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-jelly:1.223" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler:1.223" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-discovery:commons-discovery:0.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-logging:commons-logging:1.1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-beanutils:commons-beanutils:1.8.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:json-lib:2.4-jenkins-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet:tiger-types:1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:asm3:3.3.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-fileupload:commons-fileupload:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.jcraft:jzlib:1.1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:commons-jelly:1.1-jenkins-20120928" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:commons-jexl:1.1-jenkins-20111212" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson.dom4j:dom4j:1.6.1-hudson-3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.groovy:groovy-all:1.8.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-jrebel:1.223" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:windows-package-checker:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-adjunct-zeroclipboard:1.1.7-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-adjunct-timeline:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.stapler:stapler-adjunct-codemirror:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.infradna.tool:bridge-method-annotation:1.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:annotation-indexer:1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: args4j:args4j:2.0.23" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:bytecode-compatibility-transformer:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson:task-reactor:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: antlr:antlr:2.7.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson:xstream:1.4.4-jenkins-5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jfree:jfreechart:1.0.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jfree:jcommon:1.0.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.ant:ant:1.8.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.ant:ant-launcher:1.8.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-digester:commons-digester:2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.mail:mail:1.4.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson:activation:1.1.1-hudson-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jaxen:jaxen:1.1-beta-11" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-jelly:commons-jelly-tags-fmt:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-jelly:commons-jelly-tags-xml:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.hudson:commons-jelly-tags-define:1.0.1-hudson-20071021" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.acegisecurity:acegi-security:1.0.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-core:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-jdbc:1.2.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-beans:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-dao:1.2.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-context:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: oro:oro:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: log4j:log4j:1.2.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jline:jline:0.9.94" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.fusesource.jansi:jansi:1.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-webmvc:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-context-support:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-web:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-aop:2.5.6.SEC03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xpp3:xpp3:1.1.4c" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:jstl:1.1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.xml.txw2:txw2:20110809" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: relaxngDatatype:relaxngDatatype:20020414" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.winp:winp:1.16" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:memory-monitor:1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.dev.jna:jna:3.3.0-jenkins-3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.woodstox:wstx-asl:3.2.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:jmdns:3.4.0-jenkins-3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:akuma:1.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:libpam4j:1.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.libzfs:libzfs:0.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sun.solaris:embedded_su4j:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.sezpoz:sezpoz:1.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:jinterop-wmi:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.jinterop:jinterop-proxy:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.jinterop:j-interop:2.0.6-kohsuke-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke.jinterop:j-interopdeps:2.0.6-kohsuke-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.samba.jcifs:jcifs:1.3.14-kohsuke-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jenkins-ci:windows-remote-command:1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.jvnet.robust-http-client:robust-http-client:1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:access-modifier-annotation:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.kohsuke:owasp-html-sanitizer:r88" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.mindrot:jbcrypt:0.3m" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jenkins-ci.main:jenkins-test-harness:1.532.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jenkins-ci.main:jenkins-war:war-for-test:1.532.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jenkins-ci.modules:instance-identity:1.3" level="project" />
@ -209,8 +209,8 @@
<orderEntry type="library" scope="TEST" name="Maven: org.mortbay.jetty:servlet-api:2.5-20081211" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jvnet.hudson:test-annotations:1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jvnet.mock-javamail:mock-javamail:1.7" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.jenkins-ci:htmlunit:2.6-jenkins-6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: xalan:xalan:2.7.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: xalan:serializer:2.7.1" level="project" />

View File

@ -0,0 +1,38 @@
package com.dabsquared.gitlabjenkins;
import hudson.triggers.SCMTrigger;
import java.io.File;
import java.io.IOException;
/**
* UI object that says a build is started by GitHub post-commit hook.
*
* @author Daniel Brooks
*/
public class GitLabPushCause extends SCMTrigger.SCMTriggerCause {
/**
* The name of the user who pushed to GitHub.
*/
private String pushedBy;
public GitLabPushCause(String pusher) {
this("", pusher);
}
public GitLabPushCause(String pollingLog, String pusher) {
super(pollingLog);
pushedBy = pusher;
}
public GitLabPushCause(File pollingLog, String pusher) throws IOException {
super(pollingLog);
pushedBy = pusher;
}
@Override
public String getShortDescription() {
String pusher = pushedBy != null ? pushedBy : "";
return "Started by GitLab push by " + pusher;
}
}

View File

@ -0,0 +1,194 @@
package com.dabsquared.gitlabjenkins;
import hudson.Extension;
import hudson.Util;
import hudson.console.AnnotatedLargeText;
import hudson.model.AbstractProject;
import hudson.model.Action;
import hudson.model.Hudson;
import hudson.model.Item;
import hudson.triggers.Trigger;
import hudson.triggers.TriggerDescriptor;
import hudson.util.SequentialExecutionQueue;
import hudson.util.StreamTaskListener;
import net.sf.json.JSONObject;
import org.apache.commons.jelly.XMLOutput;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import sun.misc.Cleaner;
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
import java.text.DateFormat;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Triggers a build when we receive a GitHub post-commit webhook.
*
* @author Daniel Brooks
*/
public class GitLabPushTrigger extends Trigger<AbstractProject<?,?>> implements GitLabTrigger {
@DataBoundConstructor
public GitLabPushTrigger() {
}
/**
* Called when a POST is made.
*/
@Deprecated
public void onPost() {
onPost("");
}
/**
* Called when a POST is made.
*/
public void onPost(String triggeredByUser) {
final String pushBy = triggeredByUser;
getDescriptor().queue.execute(new Runnable() {
private boolean runPolling() {
try {
StreamTaskListener listener = new StreamTaskListener(getLogFile());
try {
PrintStream logger = listener.getLogger();
long start = System.currentTimeMillis();
logger.println("Started on "+ DateFormat.getDateTimeInstance().format(new Date()));
boolean result = job.poll(listener).hasChanges();
logger.println("Done. Took "+ Util.getTimeSpanString(System.currentTimeMillis() - start));
if(result)
logger.println("Changes found");
else
logger.println("No changes");
return result;
} catch (Error e) {
e.printStackTrace(listener.error("Failed to record SCM polling"));
LOGGER.log(Level.SEVERE,"Failed to record SCM polling",e);
throw e;
} catch (RuntimeException e) {
e.printStackTrace(listener.error("Failed to record SCM polling"));
LOGGER.log(Level.SEVERE,"Failed to record SCM polling",e);
throw e;
} finally {
listener.close();
}
} catch (IOException e) {
LOGGER.log(Level.SEVERE,"Failed to record SCM polling",e);
}
return false;
}
public void run() {
if (runPolling()) {
String name = " #"+job.getNextBuildNumber();
GitLabPushCause cause;
try {
cause = new GitLabPushCause(getLogFile(), pushBy);
} catch (IOException e) {
LOGGER.log(Level.WARNING, "Failed to parse the polling log",e);
cause = new GitLabPushCause(pushBy);
}
if (job.scheduleBuild(cause)) {
LOGGER.info("SCM changes detected in "+ job.getName()+". Triggering "+name);
} else {
LOGGER.info("SCM changes detected in "+ job.getName()+". Job is already in the queue");
}
}
}
});
}
/**
* Returns the file that records the last/current polling activity.
*/
public File getLogFile() {
return new File(job.getRootDir(),"gitlab-polling.log");
}
@Override
public void start(AbstractProject<?,?> project, boolean newInstance) {
super.start(project, newInstance);
if (newInstance) {
}
}
@Override
public void stop() {
}
@Override
public DescriptorImpl getDescriptor() {
return (DescriptorImpl)super.getDescriptor();
}
@Extension
public static class DescriptorImpl extends TriggerDescriptor {
private transient final SequentialExecutionQueue queue = new SequentialExecutionQueue(Hudson.MasterComputer.threadPoolForRemoting);
private String hookUrl;
public DescriptorImpl() {
load();
}
@Override
public boolean isApplicable(Item item) {
return item instanceof AbstractProject;
}
@Override
public String getDisplayName() {
return "Build when a change is pushed to GitLab";
}
/**
* Returns the URL that GitLab should post.
*/
public URL getHookUrl() throws MalformedURLException {
return hookUrl!=null ? new URL(hookUrl) : new URL(Hudson.getInstance().getRootUrl()+GitLabWebHook.get().getUrlName()+'/');
}
public boolean hasOverrideURL() {
return hookUrl!=null;
}
@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
JSONObject hookMode = json.getJSONObject("hookMode");
JSONObject o = hookMode.getJSONObject("c");
if (o!=null && !o.isNullObject()) {
hookUrl = o.getString("url");
} else {
hookUrl = null;
}
save();
return true;
}
public static DescriptorImpl get() {
return Trigger.all().get(DescriptorImpl.class);
}
public static boolean allowsHookUrlOverride() {
return ALLOW_HOOKURL_OVERRIDE;
}
}
/**
* Set to false to prevent the user from overriding the hook URL.
*/
public static boolean ALLOW_HOOKURL_OVERRIDE = !Boolean.getBoolean(GitLabPushTrigger.class.getName()+".disableOverride");
private static final Logger LOGGER = Logger.getLogger(GitLabPushTrigger.class.getName());
}

View File

@ -1,9 +1,15 @@
package com.dabsquared.gitlabjenkins;
import hudson.ExtensionPoint;
import hudson.model.Hudson;
import hudson.model.RootAction;
import hudson.model.UnprotectedRootAction;
import java.util.logging.Logger;
/**
* Created by Daniel on 5/20/14.
*
* @author Daniel Brooks
*/
public class GitLabWebHook implements UnprotectedRootAction {
public String getIconFileName() {
@ -17,4 +23,30 @@ public class GitLabWebHook implements UnprotectedRootAction {
public String getUrlName() {
return "/projects/";
}
private static final Logger LOGGER = Logger.getLogger(GitLabWebHook.class.getName());
public static GitLabWebHook get() {
return Hudson.getInstance().getExtensionList(RootAction.class).get(GitLabWebHook.class);
}
/**
* Other plugins may be interested in listening for these updates.
*
* @since 1.8
*/
public static abstract class Listener implements ExtensionPoint {
/**
* Called when there is a change notification on a specific repository.
*
* @param pusherName the pusher name.
* @param changedRepository the changed repository.
* @since 1.8
*/
public abstract void onPushRepositoryChanged(String pusherName, String changedRepository);
}
}

View File

@ -0,0 +1,24 @@
package com.dabsquared.gitlabjenkins;
import hudson.Extension;
import hudson.Util;
import hudson.model.AbstractProject;
import java.util.Collection;
import java.util.Set;
/**
* Optional interface that can be implemented by {@link hudson.triggers.Trigger} that watches out for a change in GitHub
* and triggers a build.
*
* @author Daniel Brooks
*/
public interface GitLabTrigger {
@Deprecated
public void onPost();
// TODO: document me
public void onPost(String triggeredByUser);
}