See <http://hudson.opengeo.org/hudson/job/geoserver-master-online/926/>
------------------------------------------
[...truncated 64340 lines...]
----------------------------------
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.41 sec
Running org.geoserver.wms.web.data.WMSAdminPageTest
09 Aug 05:49:17 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock6216578370169783512data>
----------------------------------
09 Aug 05:49:18 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock7706521731503104746data>
----------------------------------
09 Aug 05:49:19 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock6903761406314478010data>
----------------------------------
09 Aug 05:49:20 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock2050419232898759790data>
----------------------------------
09 Aug 05:49:21 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock523480209225462712data>
----------------------------------
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.758 sec
Running org.geoserver.wms.web.data.publish.WMSLayerConfigTest
09 Aug 05:49:23 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock6322262865071157842data>
----------------------------------
09 Aug 05:49:24 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock7188214535858416938data>
----------------------------------
09 Aug 05:49:24 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock7827898903611188718data>
----------------------------------
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - debugging ----------------------------------------------
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form org.apache.wicket.markup.html.form.Form
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel org.geoserver.wms.web.publish.WMSLayerConfig [LayerInfoImpl[Ponds, resource:FeatureTypeInfoImpl[Ponds]]]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:queryableEnabled org.apache.wicket.markup.html.form.CheckBox [true]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles org.apache.wicket.markup.html.WebMarkupContainer
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:defaultStyle org.apache.wicket.markup.html.form.DropDownChoice [StyleInfoImpl[Ponds]]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:defaultStyleLegendGraphic org.apache.wicket.markup.html.image.Image
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles org.apache.wicket.extensions.markup.html.form.palette.Palette []
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:recorder org.apache.wicket.extensions.markup.html.form.palette.component.Recorder
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:choices org.apache.wicket.extensions.markup.html.form.palette.component.Choices
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:selection org.apache.wicket.extensions.markup.html.form.palette.component.Selection
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:addButton org.apache.wicket.extensions.markup.html.form.palette.Palette$PaletteButton
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:addButton:image org.apache.wicket.markup.html.image.Image
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:removeButton org.apache.wicket.extensions.markup.html.form.palette.Palette$PaletteButton
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:removeButton:image org.apache.wicket.markup.html.image.Image
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:moveUpButton org.apache.wicket.extensions.markup.html.form.palette.Palette$PaletteButton
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:moveUpButton:image org.apache.wicket.markup.html.image.Image
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:moveDownButton org.apache.wicket.extensions.markup.html.form.palette.Palette$PaletteButton
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:moveDownButton:image org.apache.wicket.markup.html.image.Image
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:availableHeader org.apache.wicket.markup.html.basic.Label [Available Styles]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:extraStyles:selectedHeader org.apache.wicket.markup.html.basic.Label [Selected Styles]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:styles:renderingBuffer org.apache.wicket.markup.html.form.TextField
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:wmsPath org.apache.wicket.markup.html.form.TextField [/]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds org.geoserver.wms.web.publish.LayerAuthoritiesAndIdentifiersPanel
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls org.geoserver.wms.web.publish.AuthorityURLListEditor []
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls:container org.apache.wicket.markup.html.WebMarkupContainer
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls:container:table org.apache.wicket.markup.html.WebMarkupContainer
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls:container:table:authorities org.apache.wicket.markup.html.list.ListView []
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls:container:noURLs org.apache.wicket.markup.html.basic.Label [No authority URLs so far]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:authorityurls:addURL org.apache.wicket.ajax.markup.html.form.AjaxButton
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers org.geoserver.wms.web.publish.LayerIdentifierListEditor []
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers:container org.apache.wicket.markup.html.WebMarkupContainer
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers:container:table org.apache.wicket.markup.html.WebMarkupContainer
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers:container:table:identifiers org.apache.wicket.markup.html.list.ListView []
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers:container:noIdentifiers org.apache.wicket.markup.html.basic.Label [No layer identifiers so far]
09 Aug 05:49:25 INFO [tester.BaseWicketTester] - path form:panel:authoritiesAndIds:layerIdentifiers:addIdentifier org.apache.wicket.ajax.markup.html.form.AjaxButton
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.63 sec
Running org.geoserver.wms.web.data.StyleNewPageTest
09 Aug 05:49:25 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock8595885806856109439data>
----------------------------------
09 Aug 05:49:26 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock2840242640738762700data>
----------------------------------
09 Aug 05:49:27 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock371843507092841925data>
----------------------------------
09 Aug 05:49:28 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock1882541078534692150data>
----------------------------------
09 Aug 05:49:29 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock6548642776663898195data>
----------------------------------
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.452 sec
Running org.geoserver.wms.web.data.StyleEditPageTest
09 Aug 05:49:30 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock2121705218045352408data>
----------------------------------
09 Aug 05:49:30 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock4527927455769821918data>
----------------------------------
09 Aug 05:49:31 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock2600627527367991data>
----------------------------------
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.908 sec
Running org.geoserver.wms.web.publish.AttributionLayerConfigTest
09 Aug 05:49:32 ERROR [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/./target/mock8948039527755532787data>
----------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.621 sec
Results :
Tests run: 23, Failures: 0, Errors: 0, Skipped: 0
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT.jar>
[INFO] [jar:test-jar {execution: default}]
[INFO] Building jar: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-tests.jar>
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[INFO] [git-commit-id:revision {execution: default}]
[INFO] [GitCommitIdMojo] .git directory could not be found, skipping execution
[INFO] [source:jar {execution: attach-sources}]
[INFO] Building jar: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-sources.jar>
[INFO] Preparing source:test-jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[WARNING] Removing: test-jar from forked lifecycle, to prevent recursive invocation.
[INFO] [git-commit-id:revision {execution: default}]
[INFO] [GitCommitIdMojo] .git directory could not be found, skipping execution
[INFO] [source:test-jar {execution: attach-sources}]
[INFO] Building jar: <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-test-sources.jar>
[INFO] [install:install {execution: default-install}]
[INFO] Installing <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT.jar> to /usr/share/jetty/.m2/repository/org/geoserver/web/web-wms/2.3-SNAPSHOT/web-wms-2.3-SNAPSHOT.jar
[INFO] Installing <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-tests.jar> to /usr/share/jetty/.m2/repository/org/geoserver/web/web-wms/2.3-SNAPSHOT/web-wms-2.3-SNAPSHOT-tests.jar
[INFO] Installing <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-sources.jar> to /usr/share/jetty/.m2/repository/org/geoserver/web/web-wms/2.3-SNAPSHOT/web-wms-2.3-SNAPSHOT-sources.jar
[INFO] Installing <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/wms/target/web-wms-2.3-SNAPSHOT-test-sources.jar> to /usr/share/jetty/.m2/repository/org/geoserver/web/web-wms/2.3-SNAPSHOT/web-wms-2.3-SNAPSHOT-test-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building GWC UI Module
[INFO] task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/target>
[INFO] [cobertura:clean {execution: default}]
[INFO] [git-commit-id:revision {execution: default}]
[INFO] [GitCommitIdMojo] Running on '/var/lib/hudson/jobs/geoserver-master/workspace/.git' repository...
[INFO] [GitCommitIdMojo] Initializing properties...
[INFO] [GitCommitIdMojo] Using maven project properties...
[INFO] [GitCommitIdMojo] Loading data from git repository...
[INFO] [GitCommitIdMojo] ------------------git properties loaded------------------
[INFO] [GitCommitIdMojo] build.branch = bb3d1d1f37f9c4aa1c84bb12a8eac67e199e50b3
[INFO] [GitCommitIdMojo] build.commit.id = bb3d1d1f37f9c4aa1c84bb12a8eac67e199e50b3
[INFO] [GitCommitIdMojo] build.build.user.name = Unknown
[INFO] [GitCommitIdMojo] build.commit.message.short = -GEOS-5226: CoverageAccessSettings and JAI page and global change events handling fix
[INFO] [GitCommitIdMojo] build.commit.time = 08.08.2012 @ 14:33:27 UTC
[INFO] [GitCommitIdMojo] build.commit.id.abbrev = bb3d1d1
[INFO] [GitCommitIdMojo] build.commit.message.full = -GEOS-5226: CoverageAccessSettings and JAI page and global change events handling fix
[INFO] [GitCommitIdMojo] build.commit.user.email = daniele.romagnoli@anonymised.com
[INFO] [GitCommitIdMojo] build.commit.user.name = Daniele Romagnoli
[INFO] [GitCommitIdMojo] build.build.user.email = Unknown
[INFO] [GitCommitIdMojo] build.timestamp = 09-Aug-2012 05:27
[INFO] [GitCommitIdMojo] build.hudsonId = -1
[INFO] [GitCommitIdMojo] build.build.time = 09.08.2012 @ 05:49:33 UTC
[INFO] [GitCommitIdMojo] ---------------------------------------------------------
[INFO] [GitCommitIdMojo] Finished running.
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 9 resources
[INFO] Copying 21 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 31 source files to <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/target/classes>
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] skip non existing resourceDirectory <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/resources>
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 7 source files to <http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/target/test-classes>
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[7,25\] package org.mockito does not exist
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[7,0\] static import only from classes and interfaces
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[8,25\] package org.mockito does not exist
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[8,0\] static import only from classes and interfaces
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[9,25\] package org.mockito does not exist
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[9,0\] static import only from classes and interfaces
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[42,14\] cannot find symbol
symbol : method mock(java.lang.Class<org.geoserver.gwc.GWC>)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[46,8\] cannot find symbol
symbol : method when(org.geoserver.gwc.config.GWCConfig)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[48,35\] cannot find symbol
symbol : method mock(java.lang.Class<org.geoserver.catalog.FeatureTypeInfo>)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[49,8\] cannot find symbol
symbol : method when(java.lang.String)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[51,16\] cannot find symbol
symbol : method mock(java.lang.Class<org.geoserver.catalog.LayerInfo>)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[52,8\] cannot find symbol
symbol : method when(org.geoserver.catalog.ResourceInfo)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[54,8\] cannot find symbol
symbol : method when(org.geoserver.catalog.MetadataMap)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[83,39\] cannot find symbol
symbol : method mock(java.lang.Class<org.geoserver.gwc.layer.GeoServerTileLayer>)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[86,8\] cannot find symbol
symbol : method when(org.geoserver.gwc.layer.GeoServerTileLayerInfo)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
<http://hudson.opengeo.org/hudson/job/geoserver-master-online/ws/web/gwc/src/test/java/org/geoserver/gwc/web/layer/LayerEditCacheOptionsTabPanelInfoTest.java>:\[87,30\] cannot find symbol
symbol : method same(org.geoserver.catalog.LayerInfo)
location: class org.geoserver.gwc.web.layer.LayerEditCacheOptionsTabPanelInfoTest
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22 minutes 33 seconds
[INFO] Finished at: Thu Aug 09 05:49:38 UTC 2012
[INFO] Final Memory: 60M/237M
[INFO] ------------------------------------------------------------------------
--
This message is automatically generated by Hudson.
For more information on Hudson, see: http://hudson-ci.org/