4
Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi,
5
Daniel Dyer, Erik Ramfelt, Stephen Connolly, Tom Huybrechts, Alan Harder
7
Permission is hereby granted, free of charge, to any person obtaining a copy
8
of this software and associated documentation files (the "Software"), to deal
9
in the Software without restriction, including without limitation the rights
10
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
copies of the Software, and to permit persons to whom the Software is
12
furnished to do so, subject to the following conditions:
14
The above copyright notice and this permission notice shall be included in
15
all copies or substantial portions of the Software.
17
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26
<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">
27
<modelVersion>4.0.0</modelVersion>
30
<groupId>org.jenkins-ci.main</groupId>
31
<artifactId>pom</artifactId>
32
<version>1.480.3</version>
33
<relativePath>../pom.xml</relativePath>
36
<artifactId>jenkins-core</artifactId>
38
<name>Jenkins core</name>
40
Contains the core Jenkins code and view files to render HTML.
44
<staplerFork>true</staplerFork>
45
<stapler.version>1.198</stapler.version>
46
<spring.version>2.5.6.SEC03</spring.version>
51
<groupId>${project.groupId}</groupId>
52
<artifactId>remoting</artifactId>
53
<!-- specified in the parent -->
56
<groupId>${project.groupId}</groupId>
57
<artifactId>cli</artifactId>
58
<version>${project.version}</version>
61
<groupId>org.jenkins-ci</groupId>
62
<artifactId>version-number</artifactId>
63
<version>1.1</version>
66
<groupId>org.jenkins-ci</groupId>
67
<artifactId>crypto-util</artifactId>
68
<version>1.1</version>
71
<groupId>org.jvnet.hudson</groupId>
72
<artifactId>jtidy</artifactId>
73
<version>4aug2000r7-dev-hudson-1</version>
76
<groupId>jdom</groupId>
77
<artifactId>jdom</artifactId>
82
<dependency><!-- working around MCOMPILER-97 -->
83
<groupId>org.jenkins-ci</groupId>
84
<artifactId>core-annotation-processors</artifactId>
85
<version>1.0</version>
86
<scope>provided</scope>
87
<optional>true</optional>
92
<groupId>com.google.inject</groupId>
93
<artifactId>guice</artifactId>
94
<version>3.0</version>
98
<!-- we'd like to use stock Guice, but that breaks Maven embedder
99
because it uses a modified Guice called Sisu -->
100
<groupId>org.sonatype.sisu</groupId>
101
<artifactId>sisu-guice</artifactId>
104
sisu-guice wants a patched version of guava, which is old.
105
but from what I can tell from changes, it's GWT related
106
and we don't care. So let's stick to the proper guava
109
<groupId>org.sonatype.sisu</groupId>
110
<artifactId>sisu-guava</artifactId>
116
<groupId>org.jruby.ext.posix</groupId>
117
<artifactId>jna-posix</artifactId>
118
<version>1.0.3</version>
121
<groupId>org.kohsuke</groupId>
122
<artifactId>trilead-putty-extension</artifactId>
123
<version>1.2</version>
126
<groupId>org.jenkins-ci</groupId>
127
<artifactId>trilead-ssh2</artifactId>
128
<version>build214-jenkins-1</version>
131
<groupId>org.kohsuke.stapler</groupId>
132
<artifactId>stapler-groovy</artifactId>
133
<version>${stapler.version}</version>
136
<groupId>commons-jelly</groupId>
137
<artifactId>commons-jelly</artifactId>
140
<groupId>commons-jexl</groupId>
141
<artifactId>commons-jexl</artifactId>
144
<groupId>org.jvnet.hudson</groupId>
145
<artifactId>commons-jexl</artifactId>
148
<!-- we bundle groovy-all -->
149
<groupId>org.codehaus.groovy</groupId>
150
<artifactId>groovy</artifactId>
155
<groupId>org.kohsuke.stapler</groupId>
156
<artifactId>stapler-jrebel</artifactId>
157
<version>${stapler.version}</version>
160
<groupId>org.kohsuke</groupId>
161
<artifactId>windows-package-checker</artifactId>
162
<version>1.0</version>
165
<groupId>org.kohsuke.stapler</groupId>
166
<artifactId>stapler-adjunct-zeroclipboard</artifactId>
167
<version>1.0.7-1</version>
170
<groupId>org.kohsuke.stapler</groupId>
171
<artifactId>stapler-adjunct-timeline</artifactId>
172
<version>1.3</version>
175
<groupId>org.kohsuke.stapler</groupId>
176
<artifactId>stapler-adjunct-codemirror</artifactId>
177
<version>1.1</version>
179
<dependency><!-- this helps us see the source code of the control while we edit Jenkins. -->
180
<groupId>org.kohsuke.stapler</groupId>
181
<artifactId>stapler-adjunct-timeline</artifactId>
182
<version>1.0</version>
183
<classifier>tests</classifier>
188
<groupId>com.infradna.tool</groupId>
189
<artifactId>bridge-method-annotation</artifactId>
190
<version>1.4</version>
191
<exclusions> <!-- https://github.com/infradna/bridge-method-injector/issues/1 -->
193
<artifactId>annotation-indexer</artifactId>
194
<groupId>org.jvnet.hudson</groupId>
199
<dependency><!-- until we get this version through Stapler -->
200
<groupId>org.kohsuke.stapler</groupId>
201
<artifactId>json-lib</artifactId>
202
<version>2.1-rev7</version>
205
<groupId>commons-httpclient</groupId>
206
<artifactId>commons-httpclient</artifactId>
209
<groupId>args4j</groupId>
210
<artifactId>args4j</artifactId>
211
<version>2.0.16</version>
214
<groupId>org.jenkins-ci</groupId>
215
<artifactId>annotation-indexer</artifactId>
216
<version>1.4</version>
219
<groupId>org.jvnet.hudson</groupId>
220
<artifactId>task-reactor</artifactId>
221
<version>1.2</version>
224
<groupId>org.jvnet.localizer</groupId>
225
<artifactId>localizer</artifactId>
226
<version>1.10</version>
229
<groupId>antlr</groupId>
230
<artifactId>antlr</artifactId>
231
<version>2.7.6</version>
234
<groupId>org.jvnet.hudson</groupId>
235
<artifactId>xstream</artifactId>
236
<version>1.3.1-jenkins-11</version>
239
<groupId>jfree</groupId>
240
<artifactId>jfreechart</artifactId>
241
<version>1.0.9</version>
244
<groupId>org.apache.ant</groupId>
245
<artifactId>ant</artifactId>
248
<groupId>javax.servlet</groupId>
249
<artifactId>servlet-api</artifactId>
250
<version>2.4</version>
251
<scope>provided</scope>
254
<groupId>commons-io</groupId>
255
<artifactId>commons-io</artifactId>
257
<dependency><!-- hudson doesn't use this directly, but some plugins wanted to use the latest -->
258
<groupId>commons-lang</groupId>
259
<artifactId>commons-lang</artifactId>
260
<version>2.4</version>
263
<groupId>commons-digester</groupId>
264
<artifactId>commons-digester</artifactId>
265
<version>1.7</version>
268
<groupId>xml-apis</groupId>
269
<artifactId>xml-apis</artifactId>
275
The version included in the transitive dependency doesn't have the source zip,
276
so explicitly using the newer version.
278
<groupId>commons-beanutils</groupId>
279
<artifactId>commons-beanutils</artifactId>
280
<version>1.8.0</version>
283
<groupId>javax.mail</groupId>
284
<artifactId>mail</artifactId>
285
<version>1.4.4</version>
287
<exclusion><!-- using a patched version -->
288
<groupId>javax.activation</groupId>
289
<artifactId>activation</artifactId>
294
<groupId>org.jvnet.hudson</groupId>
295
<artifactId>activation</artifactId>
296
<version>1.1.1-hudson-1</version>
299
<groupId>jaxen</groupId>
300
<artifactId>jaxen</artifactId>
301
<version>1.1-beta-11</version>
304
<groupId>dom4j</groupId>
305
<artifactId>dom4j</artifactId>
308
<groupId>xom</groupId>
309
<artifactId>xom</artifactId>
312
<groupId>xml-apis</groupId>
313
<artifactId>xml-apis</artifactId>
316
<groupId>xerces</groupId>
317
<artifactId>xercesImpl</artifactId>
320
<groupId>jdom</groupId>
321
<artifactId>jdom</artifactId>
326
<groupId>commons-jelly</groupId>
327
<artifactId>commons-jelly-tags-fmt</artifactId>
328
<version>1.0</version>
331
<groupId>commons-jelly</groupId>
332
<artifactId>commons-jelly</artifactId>
335
<groupId>commons-jexl</groupId>
336
<artifactId>commons-jexl</artifactId>
341
<groupId>commons-jelly</groupId>
342
<artifactId>commons-jelly-tags-xml</artifactId>
343
<version>1.1</version>
346
<groupId>commons-jelly</groupId>
347
<artifactId>commons-jelly</artifactId>
350
<groupId>commons-jexl</groupId>
351
<artifactId>commons-jexl</artifactId>
354
<groupId>commons-jelly</groupId>
355
<artifactId>commons-jelly-tags-junit</artifactId>
358
<groupId>xml-apis</groupId>
359
<artifactId>xml-apis</artifactId>
362
<groupId>xalan</groupId>
363
<artifactId>xalan</artifactId>
366
<groupId>xerces</groupId>
367
<artifactId>xercesImpl</artifactId>
370
<groupId>dom4j</groupId>
371
<artifactId>dom4j</artifactId>
376
<groupId>org.jvnet.hudson</groupId>
377
<artifactId>commons-jelly-tags-define</artifactId>
378
<version>1.0.1-hudson-20071021</version>
381
<groupId>dom4j</groupId>
382
<artifactId>dom4j</artifactId>
385
<groupId>commons-cli</groupId>
386
<artifactId>commons-cli</artifactId>
389
<groupId>org.jvnet.hudson</groupId>
390
<artifactId>commons-jelly</artifactId>
395
<groupId>org.jenkins-ci</groupId>
396
<artifactId>commons-jexl</artifactId>
397
<version>1.1-jenkins-20111212</version>
400
<groupId>org.acegisecurity</groupId>
401
<artifactId>acegi-security</artifactId>
402
<version>1.0.5</version>
405
<groupId>org.springframework</groupId>
406
<artifactId>spring-remoting</artifactId>
409
<groupId>org.springframework</groupId>
410
<artifactId>spring-support</artifactId>
415
<groupId>org.codehaus.groovy</groupId>
416
<artifactId>groovy-all</artifactId>
417
<version>1.8.5</version>
419
<dependency><!-- groovy shell uses this but it doesn't declare this dependency -->
420
<groupId>jline</groupId>
421
<artifactId>jline</artifactId>
422
<version>0.9.94</version>
423
<scope>compile</scope>
425
<dependency><!-- groovy shell uses this but it doesn't declare this dependency -->
426
<groupId>org.fusesource.jansi</groupId>
427
<artifactId>jansi</artifactId>
428
<version>1.6</version>
432
for Grails spring bean builder.
433
Ideally we should be able to modify BeanBuilder so as not to depend on this.
435
<groupId>org.springframework</groupId>
436
<artifactId>spring-webmvc</artifactId>
437
<version>${spring.version}</version>
440
<groupId>org.springframework</groupId>
441
<artifactId>spring-core</artifactId>
442
<version>${spring.version}</version>
444
<dependency><!-- Jenkins core doesn't use it but HUDSON-3811 requires us to put it. -->
445
<groupId>org.springframework</groupId>
446
<artifactId>spring-aop</artifactId>
447
<version>${spring.version}</version>
450
<groupId>xpp3</groupId>
451
<artifactId>xpp3</artifactId>
452
<version>1.1.4c</version>
455
<groupId>junit</groupId>
456
<artifactId>junit-dep</artifactId>
460
<groupId>org.mockito</groupId>
461
<artifactId>mockito-core</artifactId>
465
<groupId>org.powermock</groupId>
466
<artifactId>powermock-module-junit4</artifactId>
470
<groupId>org.powermock</groupId>
471
<artifactId>powermock-api-mockito</artifactId>
474
<dependency><!-- needed by Jelly -->
475
<groupId>javax.servlet</groupId>
476
<artifactId>jstl</artifactId>
477
<version>1.1.0</version>
480
<groupId>commons-logging</groupId>
481
<artifactId>commons-logging</artifactId>
482
<version>1.1.1</version>
485
<groupId>com.sun.xml.txw2</groupId>
486
<artifactId>txw2</artifactId>
487
<version>20070624</version>
490
<groupId>commons-collections</groupId>
491
<artifactId>commons-collections</artifactId>
492
<version>3.2</version>
495
<groupId>org.jvnet.winp</groupId>
496
<artifactId>winp</artifactId>
497
<version>1.14</version>
500
<groupId>org.jenkins-ci</groupId>
501
<artifactId>memory-monitor</artifactId>
502
<version>1.7</version>
504
<dependency><!-- StAX implementation. See HUDSON-2547. -->
505
<groupId>org.codehaus.woodstox</groupId>
506
<artifactId>wstx-asl</artifactId>
507
<version>3.2.7</version>
510
<groupId>org.jenkins-ci</groupId>
511
<artifactId>jmdns</artifactId>
512
<version>3.4.0-jenkins-3</version>
515
<groupId>com.sun.winsw</groupId>
516
<artifactId>winsw</artifactId>
517
<version>1.10</version>
518
<classifier>bin</classifier>
520
<scope>provided</scope><!-- this isn't really a dependency that Maven should care about, so putting 'provided' -->
523
<groupId>net.java.dev.jna</groupId>
524
<artifactId>jna</artifactId>
525
<version>3.3.0-jenkins-3</version>
528
<groupId>org.kohsuke</groupId>
529
<artifactId>akuma</artifactId>
530
<version>1.7</version>
533
<groupId>org.kohsuke</groupId>
534
<artifactId>libpam4j</artifactId>
535
<version>1.6</version>
538
<groupId>org.jvnet.libzfs</groupId>
539
<artifactId>libzfs</artifactId>
540
<version>0.5</version>
543
<groupId>com.sun.solaris</groupId>
544
<artifactId>embedded_su4j</artifactId>
545
<version>1.1</version>
548
<groupId>net.java.sezpoz</groupId>
549
<artifactId>sezpoz</artifactId>
550
<version>1.9</version>
553
<groupId>org.jenkins-ci</groupId>
554
<artifactId>jinterop-wmi</artifactId>
555
<version>1.1</version>
558
<groupId>org.jenkins-ci</groupId>
559
<artifactId>windows-remote-command</artifactId>
560
<version>1.3</version>
563
<groupId>org.kohsuke.metainf-services</groupId>
564
<artifactId>metainf-services</artifactId>
565
<version>1.4</version>
566
<scope>provided</scope>
567
<optional>true</optional>
570
<groupId>org.jvnet.robust-http-client</groupId>
571
<artifactId>robust-http-client</artifactId>
572
<version>1.2</version>
575
<dependency><!-- Jenkins 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 -->
576
<groupId>commons-codec</groupId>
577
<artifactId>commons-codec</artifactId>
578
<version>1.4</version>
582
<groupId>org.kohsuke</groupId>
583
<artifactId>access-modifier-annotation</artifactId>
584
<version>1.0</version>
588
<groupId>findbugs</groupId>
589
<artifactId>annotations</artifactId>
590
<version>1.0.0</version>
591
<scope>provided</scope>
595
<groupId>org.kohsuke</groupId>
596
<artifactId>owasp-html-sanitizer</artifactId>
597
<version>r88</version>
601
<groupId>org.mindrot</groupId>
602
<artifactId>jbcrypt</artifactId>
603
<version>0.3m</version>
606
<!-- offline profiler API to put in the classpath if we need it -->
608
<groupId>com.yourkit.api</groupId>
609
<artifactId>yjp</artifactId>
610
<version>dontcare</version>
611
<scope>system</scope>
612
<systemPath>/usr/local/yjp/lib/yjp.jar</systemPath>
619
<groupId>org.jenkins-ci.tools</groupId>
620
<artifactId>maven-hpi-plugin</artifactId>
624
<goal>generate-taglib-interface</goal>
630
<groupId>org.jvnet.hudson.tools</groupId>
631
<artifactId>maven-encoding-plugin</artifactId>
632
<!-- version specified in grandparent pom -->
636
<goal>check-encoding</goal>
638
<phase>compile</phase>
643
<groupId>com.infradna.tool</groupId>
644
<artifactId>bridge-method-injector</artifactId>
645
<!-- version specified in grandparent pom -->
655
<groupId>org.apache.maven.plugins</groupId>
656
<artifactId>maven-compiler-plugin</artifactId>
657
<version>2.3.2</version>
660
<exclude>**/os/solaris/*</exclude>
661
<exclude>**/os/windows/*</exclude>
662
<exclude>**/DCOMSandbox.java</exclude>
663
<exclude>**/DotNet.java</exclude>
664
<exclude>**/WindowsSlaveInstaller.java</exclude>
665
<exclude>**/WindowsInstallerLink.java</exclude>
668
<exclude>**/DCOMSandbox.java</exclude>
673
<groupId>org.kohsuke.stapler</groupId>
674
<artifactId>maven-stapler-plugin</artifactId>
675
<version>1.16</version>
676
<!-- version specified in grandparent pom -->
678
<fork>${staplerFork}</fork><!-- the source code is big enough now that otherwise it fails with OutOfMemoryError -->
679
<maxmem>128m</maxmem>
681
<exclude>**/os/solaris/*</exclude>
682
<exclude>**/os/windows/*</exclude>
683
<exclude>**/DCOMSandbox.java</exclude>
684
<exclude>**/DotNet.java</exclude>
685
<exclude>**/WindowsSlaveInstaller.java</exclude>
686
<exclude>**/WindowsInstallerLink.java</exclude>
689
<exclude>**/DCOMSandbox.java</exclude>
694
<groupId>org.jvnet.localizer</groupId>
695
<artifactId>maven-localizer-plugin</artifactId>
696
<!-- version specified in grandparent pom -->
700
<goal>generate</goal>
703
<fileMask>Messages.properties</fileMask>
704
<outputDirectory>target/generated-sources/localizer</outputDirectory>
710
<groupId>org.kohsuke</groupId>
711
<artifactId>access-modifier-checker</artifactId>
712
<!-- version specified in grandparent pom -->
722
<groupId>org.codehaus.mojo</groupId>
723
<artifactId>antlr-maven-plugin</artifactId>
724
<!-- version specified in grandparent pom -->
729
<goal>generate</goal>
732
<sourceDirectory>${basedir}/src/main/grammar</sourceDirectory>
733
<grammars>crontab.g</grammars>
739
<goal>generate</goal>
742
<sourceDirectory>${basedir}/src/main/grammar</sourceDirectory>
743
<grammars>labelExpr.g</grammars>
748
<plugin><!-- set main class -->
749
<artifactId>maven-jar-plugin</artifactId>
750
<!-- version specified in grandparent pom -->
754
<mainClass>hudson.Main</mainClass>
755
<addClasspath>true</addClasspath>
761
<plugin><!-- run unit test in src/test/java -->
762
<groupId>org.kohsuke.gmaven</groupId>
763
<artifactId>gmaven-plugin</artifactId>
764
<!-- version specified in grandparent pom -->
768
<goal>testCompile</goal>
773
<directory>${project.basedir}/src/test/java</directory>
775
<include>**/*.groovy</include>
784
<groupId>org.codehaus.groovy</groupId>
785
<artifactId>groovy-all</artifactId>
786
<version>1.8.5</version>
795
<plugin><!-- generate Jelly tag lib documentation -->
796
<groupId>org.kohsuke.stapler</groupId>
797
<artifactId>maven-stapler-plugin</artifactId>
798
<version>1.15</version>
801
<pattern>/lib/.*</pattern>
805
<plugin><!-- skip slow dependency analysis -->
806
<artifactId>maven-project-info-reports-plugin</artifactId>
807
<version>2.4</version>
809
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
819
<activeByDefault>true</activeByDefault>
826
<plugin><!-- execute apt:process for "Extension points" Wiki page generation -->
827
<groupId>org.codehaus.mojo</groupId>
828
<artifactId>apt-maven-plugin</artifactId>
829
<!-- version specified in grandparent pom -->
840
generate jelly taglib docs from src/main/resoruces.
841
this is necessary in addition to the <reporting> configuration
842
to get the results deployed.
844
<groupId>org.kohsuke.stapler</groupId>
845
<artifactId>maven-stapler-plugin</artifactId>
846
<!-- version specified in grandparent pom -->
850
<goal>jelly-taglibdoc</goal>
854
<pattern>/lib/.*</pattern>
864
<!-- run FindBugs for better error detection. run as "mvn -Pfindbugs install site" -->
869
<groupId>org.codehaus.mojo</groupId>
870
<artifactId>findbugs-maven-plugin</artifactId>
871
<version>2.3.2</version>
874
<threshold>High</threshold>
875
<excludeFilterFile>src/findbugs-filter.xml</excludeFilterFile>
883
Obtain code coverage report. This is done by running Unit tests on our own and suppressing surefire.
889
<groupId>org.kohsuke.gmaven</groupId>
890
<artifactId>gmaven-plugin</artifactId>
891
<!-- version specified in grandparent pom -->
893
<!-- run unit test -->
901
<element>${project.basedir}/src/build-script</element>
903
<source>${project.basedir}/src/build-script/unitTest.groovy</source>
909
<!-- unit tests are run by GMaven through Ant. -->
910
<artifactId>maven-surefire-plugin</artifactId>
911
<!-- version specified in grandparent pom -->
913
<skipTests>true</skipTests>