From 2a8a0bf7fae1aa1bbbe7a7a2a6fd9384d341609c Mon Sep 17 00:00:00 2001 From: kohsuke Date: Tue, 12 May 2009 13:59:10 +0000 Subject: [PATCH] Merged revisions 17324-17325,17428,17430,17473-17475,17481-17482,17555-17563,17571,17593-17595,17619-17620,17637-17644,17656-17657,17663-17665,17667-17670,17730,17753,17755-17758,17763-17768,17770-17771,17901,17906,17911-17912,17958,17961-17962,17970-17977 via svnmerge from https://www.dev.java.net/svn/hudson/branches/tool-autoinstallation ........ r17324 | jglick | 2009-04-20 18:24:32 -0700 (Mon, 20 Apr 2009) | 2 lines Defensive cloning and Javadoc corrections. (Though it seems no one is using the default impls of these methods yet anyway.) ........ r17325 | jglick | 2009-04-20 18:29:06 -0700 (Mon, 20 Apr 2009) | 1 line Deprecation of delegate method is intentional. ........ r17428 | jglick | 2009-04-23 08:07:14 -0700 (Thu, 23 Apr 2009) | 1 line Noting ToolLocationTranslator more prominently. ........ r17430 | jglick | 2009-04-23 09:16:40 -0700 (Thu, 23 Apr 2009) | 1 line Unused imports. ........ r17473 | jglick | 2009-04-23 19:21:11 -0700 (Thu, 23 Apr 2009) | 1 line Allow Plugin.configure to see the StaplerRequest, needed for some kinds of calls. ........ r17474 | jglick | 2009-04-23 19:25:54 -0700 (Thu, 23 Apr 2009) | 3 lines Initial sketch of plugin to manage tool installations across slaves. (Should really be under ../plugins/ but that was not branched, so putting here for the moment.) ........ r17475 | jglick | 2009-04-23 20:29:36 -0700 (Thu, 23 Apr 2009) | 1 line Typo in Javadoc. ........ r17481 | jglick | 2009-04-23 22:46:26 -0700 (Thu, 23 Apr 2009) | 1 line Unzip of an unbuffered stream is painfully slow. ........ r17482 | jglick | 2009-04-23 22:48:01 -0700 (Thu, 23 Apr 2009) | 1 line ZIP-based tool installer now functional. ........ r17555 | jglick | 2009-04-27 17:50:38 -0700 (Mon, 27 Apr 2009) | 1 line Build against newest trunk. ........ r17556 | jglick | 2009-04-27 18:38:28 -0700 (Mon, 27 Apr 2009) | 1 line Adding help. ........ r17557 | jglick | 2009-04-27 18:57:46 -0700 (Mon, 27 Apr 2009) | 1 line Moving toolName & label config GUI into generic files. ........ r17558 | jglick | 2009-04-27 19:37:30 -0700 (Mon, 27 Apr 2009) | 1 line Typo. ........ r17559 | jglick | 2009-04-27 20:07:47 -0700 (Mon, 27 Apr 2009) | 1 line Second tool installer type based on a freeform command. ........ r17560 | jglick | 2009-04-27 20:24:36 -0700 (Mon, 27 Apr 2009) | 1 line installIfNecessaryFrom will now just return false in case the target dir exists but the URL cannot be opened. ........ r17561 | jglick | 2009-04-27 20:25:22 -0700 (Mon, 27 Apr 2009) | 2 lines chmod only if something was actually installed. Use a+x, not o+x. ........ r17562 | jglick | 2009-04-27 20:26:46 -0700 (Mon, 27 Apr 2009) | 1 line Comment only. ........ r17563 | jglick | 2009-04-27 20:41:12 -0700 (Mon, 27 Apr 2009) | 1 line I18N. ........ r17571 | jglick | 2009-04-28 08:15:31 -0700 (Tue, 28 Apr 2009) | 2 lines Wiki link. ........ r17593 | jglick | 2009-04-28 15:38:33 -0700 (Tue, 28 Apr 2009) | 1 line Turn off echo mode, it's just noise. ........ r17594 | jglick | 2009-04-28 15:39:29 -0700 (Tue, 28 Apr 2009) | 2 lines Synchronizing access to installers for a given node/tool combo. Sending log messages to Hudson log in real time. ........ r17595 | jglick | 2009-04-28 15:46:29 -0700 (Tue, 28 Apr 2009) | 1 line Copyrights. ........ r17619 | jglick | 2009-04-29 06:25:23 -0700 (Wed, 29 Apr 2009) | 1 line Improved Javadoc. ........ r17620 | jglick | 2009-04-29 06:51:11 -0700 (Wed, 29 Apr 2009) | 1 line Demonstraing how to use DLJ to mechanically install official JDK releases on supported operating systems. ........ r17637 | kohsuke | 2009-04-30 16:15:24 -0700 (Thu, 30 Apr 2009) | 1 line fixed what appears to be a C&P mistake ........ r17638 | kohsuke | 2009-04-30 16:16:21 -0700 (Thu, 30 Apr 2009) | 1 line show YUI logger if YUI debugging mode is set. ........ r17639 | kohsuke | 2009-04-30 16:52:28 -0700 (Thu, 30 Apr 2009) | 7 lines Fixed a UI script problem when nests inside . The cause of the problem was that the behavior for inner kicks in first, altering HTML (by removing "prototypes"), before behavior for outer kicks in and removes the master copy from DOM tree. So ends up computing a master copy after some elements are removed, and hence when we try to reinsert them later by clicking "Add", it'll get incorrect copy, and re-execution of the behavior bombs out. I fixed this by skipping those HTML-altering behaviors if they show up in the part of DOM tree that's supposed to be snapshotted and removed. ........ r17640 | kohsuke | 2009-04-30 16:57:58 -0700 (Thu, 30 Apr 2009) | 7 lines Added ToolProperty to ToolInstallation (which acts like NodeProperty to Node --- basically decorates the base object with additional properties.) The original motivation is to implement ToolInstaller this way, if Jesse is OK. But decorating tools seem to have some other interesting use, such as a plugin for configuring $M2_HOME/conf/settings.xml, or a plugin to insert unlimited cryptography extension to JDK, or a plugin to add a few more jars into $ANT_HOME/lib. For this to work, ToolInstallations that want properties needs to be modified to use a new constructor. For a starter, I modified the JDK class to do this. I also took the opportunity to modernize JDK/config.jelly. ........ r17641 | kohsuke | 2009-04-30 17:02:04 -0700 (Thu, 30 Apr 2009) | 1 line this appears to be a left-over from early days when we didn't have a means to do form validation ........ r17642 | kohsuke | 2009-04-30 17:02:35 -0700 (Thu, 30 Apr 2009) | 1 line we don't need no.such.JDK but we need name. rebranching ........ r17643 | kohsuke | 2009-04-30 17:03:22 -0700 (Thu, 30 Apr 2009) | 1 line rebranched from Hudson's configure.properties ........ r17644 | kohsuke | 2009-04-30 17:05:31 -0700 (Thu, 30 Apr 2009) | 1 line removed unnecessary translations ........ r17656 | kohsuke | 2009-05-01 11:27:36 -0700 (Fri, 01 May 2009) | 1 line Less hack for improved type safety. Asking people to write more code is not necessarily bad as long as what they need to do is obvious to them. ........ r17657 | kohsuke | 2009-05-01 12:07:20 -0700 (Fri, 01 May 2009) | 5 lines The toolautoinst part of the change that corresponds to rev.17640. ToolInstallers are now hooked under ToolInstallation through InstallSourceProperty as a ToolProperty. This allows the relevant UIs to be shown in one place. Still pending Jesse's feedback. Making it a single commit to simplify a revert if necessary ........ r17663 | kohsuke | 2009-05-01 13:23:51 -0700 (Fri, 01 May 2009) | 1 line doc improvement ........ r17664 | kohsuke | 2009-05-01 13:24:10 -0700 (Fri, 01 May 2009) | 1 line needs this to allow Stapler to databind hetero-list automatically ........ r17665 | jglick | 2009-05-01 13:31:27 -0700 (Fri, 01 May 2009) | 1 line Warnings. ........ r17667 | kohsuke | 2009-05-01 14:20:53 -0700 (Fri, 01 May 2009) | 1 line added a method to do chmod ........ r17668 | kohsuke | 2009-05-01 14:30:35 -0700 (Fri, 01 May 2009) | 1 line prefer JDK6 version to avoid unnecessary JNA loading ........ r17669 | kohsuke | 2009-05-01 14:33:09 -0700 (Fri, 01 May 2009) | 1 line no, I must have confused this. ........ r17670 | kohsuke | 2009-05-01 15:57:11 -0700 (Fri, 01 May 2009) | 2 lines - Automated JDK installer and its test. - Minor update to the signature of ToolInstaller for supplying the expected default location. ........ r17730 | kohsuke | 2009-05-04 11:27:34 -0700 (Mon, 04 May 2009) | 1 line avoid NPE as reported in HUDSON-3608 ........ r17753 | jglick | 2009-05-04 19:34:08 -0700 (Mon, 04 May 2009) | 2 lines Moved toolautoinst functionality into core. ........ r17755 | jglick | 2009-05-04 20:28:34 -0700 (Mon, 04 May 2009) | 8 lines Added TaskListener parameter and IOException and InterruptedException to several methods: Run.getEnvironment NodeSpecific.forNode ToolLocationTranslator.getToolHome ToolLocationNodeProperty.getToolHome ToolInstallation.translateFor ProcessCache.Factory.getMavenInstallation ProcessCache.Factory.getJava ........ r17756 | jglick | 2009-05-04 20:36:56 -0700 (Mon, 04 May 2009) | 1 line expectedLocation was never strictly necessary, and will soon no longer be used even by JDKInstaller. ........ r17757 | jglick | 2009-05-04 20:40:41 -0700 (Mon, 04 May 2009) | 1 line Not sure yet what @since should be. ........ r17758 | jglick | 2009-05-04 20:41:51 -0700 (Mon, 04 May 2009) | 1 line getDefaultInstallers method added. Not yet in use. ........ r17763 | kohsuke | 2009-05-05 10:50:36 -0700 (Tue, 05 May 2009) | 1 line deprecated redundant getJavaHome method ........ r17764 | kohsuke | 2009-05-05 12:10:45 -0700 (Tue, 05 May 2009) | 1 line added general-purpose property defaulting mechanism, and added default tool installer for JDK ........ r17765 | jglick | 2009-05-05 12:35:56 -0700 (Tue, 05 May 2009) | 1 line capitalize("") -> "" ........ r17766 | jglick | 2009-05-05 12:49:52 -0700 (Tue, 05 May 2009) | 1 line Missing @since. ........ r17767 | jglick | 2009-05-05 13:01:41 -0700 (Tue, 05 May 2009) | 1 line Unchecked warning. ........ r17768 | jglick | 2009-05-05 13:19:49 -0700 (Tue, 05 May 2009) | 2 lines Two unsuccessful attempts at form validation. ........ r17770 | jglick | 2009-05-05 13:48:37 -0700 (Tue, 05 May 2009) | 1 line Better class names. ........ r17771 | kohsuke | 2009-05-05 14:12:21 -0700 (Tue, 05 May 2009) | 5 lines brought the form validation check back. The trick is to use the 'value' parameter. In the end we'd expect this check to go away anyway, as we change input field to drop-down list, but in the mean time, this is why it didn't work. Maybe we probably need more static code checkers? Like FindBugs rules? ........ r17901 | kohsuke | 2009-05-09 19:15:40 -0700 (Sat, 09 May 2009) | 1 line having two toolHome is odd. ........ r17906 | kohsuke | 2009-05-10 11:09:13 -0700 (Sun, 10 May 2009) | 1 line adding the generalization of UpdateCenter, but for compatibility reasons, we are leaving UpdateCenter as-is. ........ r17911 | kohsuke | 2009-05-10 17:02:53 -0700 (Sun, 10 May 2009) | 1 line integrated json-lib with a bit of bug fix ........ r17912 | kohsuke | 2009-05-10 17:13:05 -0700 (Sun, 10 May 2009) | 1 line JDK list is now fetched from hudson.dev.java.net ........ r17958 | kohsuke | 2009-05-11 13:44:25 -0700 (Mon, 11 May 2009) | 48 lines Handle AbortException better to avoid error like this: [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to delete directory: C:\files\hudson\workspace\hudson\hudson\main\remoting\target. Reason: Unable to delete file C:\files\hudson\workspace\hudson\hudson\main\remoting\target\remoting-1.304-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 31 seconds [INFO] Finished at: Sun May 10 18:15:33 PDT 2009 [INFO] Final Memory: 25M/48M [INFO] ------------------------------------------------------------------------ Recording fingerprints Archiving artifacts Recording test results ERROR: Failed to archive JUnit reports hudson.util.IOException2: remote file operation failed at hudson.FilePath.act(FilePath.java:596) at hudson.tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:82) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:372) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:360) at hudson.model.Build$RunnerImpl.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:345) at hudson.model.Run.run(Run.java:943) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:119) Caused by: hudson.AbortException: Test reports were found but none of them are new. Did tests run? For example, \files\hudson\workspace\hudson\hudson\main\core\target\surefire-reports\TEST-hudson.BulkChangeTest.xml is 2 days 23 hr old at hudson.tasks.junit.TestResult.parse(TestResult.java:134) at hudson.tasks.junit.TestResult.(TestResult.java:95) at hudson.tasks.junit.JUnitResultArchiver$1.invoke(JUnitResultArchiver.java:95) at hudson.tasks.junit.JUnitResultArchiver$1.invoke(JUnitResultArchiver.java:82) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1583) at hudson.remoting.UserRequest.perform(UserRequest.java:92) at hudson.remoting.UserRequest.perform(UserRequest.java:46) at hudson.remoting.Request$2.run(Request.java:236) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) ........ r17961 | kohsuke | 2009-05-11 15:16:39 -0700 (Mon, 11 May 2009) | 1 line adding Windows JDK silent installation ........ r17962 | kohsuke | 2009-05-11 16:08:13 -0700 (Mon, 11 May 2009) | 1 line Fixing JDK offline installatino for Windows ........ r17970 | kohsuke | 2009-05-11 19:37:59 -0700 (Mon, 11 May 2009) | 1 line Fixing a problem that prevents the usage of this tag in block, which reinserts the same fragment over and over. So statically assigning IDs won't work ........ r17971 | kohsuke | 2009-05-11 22:17:09 -0700 (Mon, 11 May 2009) | 1 line continuing to remove static ID generation, which breaks the tag when used inside tag. ........ r17972 | kohsuke | 2009-05-11 22:19:11 -0700 (Mon, 11 May 2009) | 1 line I don't know when this started, but even in the hudson-dev:run mode, the versionis no longer '?', so we need a different way to force reload ........ r17973 | kohsuke | 2009-05-11 22:26:34 -0700 (Mon, 11 May 2009) | 1 line adjusted the text a bit since multiple "add" and "delete"s were rather confusing ........ r17974 | kohsuke | 2009-05-11 22:31:58 -0700 (Mon, 11 May 2009) | 1 line added help screen ........ r17975 | kohsuke | 2009-05-11 22:41:39 -0700 (Mon, 11 May 2009) | 1 line form validation now works against the checkbox, too ........ r17976 | kohsuke | 2009-05-11 22:43:00 -0700 (Mon, 11 May 2009) | 1 line with auto installation, we expect users to specify a directory that doesn't exist yet, so don't report it as an error ........ r17977 | kohsuke | 2009-05-11 22:43:24 -0700 (Mon, 11 May 2009) | 1 line improving the text ........ git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17985 71c3de6d-444a-0410-be80-ed276b4c234a --- core/pom.xml | 16 +- core/src/main/java/hudson/FilePath.java | 67 ++- core/src/main/java/hudson/Functions.java | 41 +- core/src/main/java/hudson/Plugin.java | 13 +- .../main/java/hudson/model/AbstractBuild.java | 6 +- .../main/java/hudson/model/Descriptor.java | 2 +- .../java/hudson/model/DownloadService.java | 161 ++++++ .../main/java/hudson/model/ExternalRun.java | 2 +- core/src/main/java/hudson/model/Hudson.java | 35 +- core/src/main/java/hudson/model/JDK.java | 60 ++- core/src/main/java/hudson/model/Node.java | 1 - .../main/java/hudson/model/PageDecorator.java | 11 + core/src/main/java/hudson/model/Run.java | 13 +- .../main/java/hudson/slaves/NodeProperty.java | 9 +- .../hudson/slaves/NodePropertyDescriptor.java | 36 +- .../main/java/hudson/slaves/NodeSpecific.java | 4 +- core/src/main/java/hudson/tasks/Ant.java | 8 +- .../java/hudson/tasks/CommandInterpreter.java | 2 +- core/src/main/java/hudson/tasks/Maven.java | 10 +- .../java/hudson/tools/CommandInstaller.java | 91 ++++ .../hudson/tools/InstallSourceProperty.java | 67 +++ .../hudson/tools/InstallerTranslator.java | 69 +++ .../main/java/hudson/tools/JDKInstaller.java | 459 ++++++++++++++++++ .../java/hudson/tools/PropertyDescriptor.java | 62 +++ .../java/hudson/tools/ToolDescriptor.java | 50 +- .../java/hudson/tools/ToolInstallation.java | 70 ++- .../main/java/hudson/tools/ToolInstaller.java | 102 ++++ .../hudson/tools/ToolInstallerDescriptor.java | 64 +++ .../tools/ToolLocationNodeProperty.java | 6 +- .../hudson/tools/ToolLocationTranslator.java | 4 +- .../main/java/hudson/tools/ToolProperty.java | 54 +++ .../hudson/tools/ToolPropertyDescriptor.java | 23 + .../hudson/tools/ZipExtractionInstaller.java | 136 ++++++ .../main/java/hudson/util/FormValidation.java | 2 +- .../java/hudson/util/LogTaskListener.java | 110 +++++ .../hudson/model/DownloadService/footer.jelly | 34 ++ .../hudson/model/Hudson/configure.jelly | 25 +- .../resources/hudson/model/JDK/config.jelly | 43 ++ .../hudson/model/JDK/config_de.properties | 23 + .../hudson/model/JDK/config_fr.properties | 23 + .../hudson/model/JDK/config_ja.properties | 23 + .../hudson/model/JDK/config_nl.properties | 23 + .../hudson/model/JDK/config_pt_BR.properties | 23 + .../hudson/model/JDK/config_tr.properties | 23 + .../tools/CommandInstaller/config.jelly | 29 ++ .../tools/CommandInstaller/help-command.html | 4 + .../hudson/tools/CommandInstaller/help.html | 21 + .../tools/InstallSourceProperty/config.jelly | 31 ++ .../tools/InstallSourceProperty/help.html | 15 + .../hudson/tools/JDKInstaller/config.jelly | 50 ++ .../hudson/tools/Messages.properties | 7 + .../tools/ZipExtractionInstaller/config.jelly | 32 ++ .../ZipExtractionInstaller/help-subdir.html | 3 + .../ZipExtractionInstaller/help-url.html | 7 + .../tools/ZipExtractionInstaller/help.html | 6 + .../main/resources/hudson/tools/label.jelly | 33 ++ core/src/main/resources/hudson/tools/taglib | 0 .../main/resources/lib/form/checkbox.jelly | 3 +- .../resources/lib/form/descriptorList.jelly | 2 +- .../main/resources/lib/form/hetero-list.jelly | 3 +- core/src/main/resources/lib/form/option.jelly | 5 + .../resources/lib/form/optionalBlock.jelly | 12 +- .../main/resources/lib/form/repeatable.jelly | 7 +- core/src/main/resources/lib/form/rowSet.jelly | 11 +- .../main/resources/lib/layout/layout.jelly | 11 + .../main/java/hudson/maven/MavenBuild.java | 2 +- .../hudson/maven/MavenModuleSetBuild.java | 4 +- .../hudson/maven/MavenProcessFactory.java | 13 +- .../main/java/hudson/maven/ProcessCache.java | 9 +- .../test/CaptureEnvironmentBuilder.java | 2 +- .../test/java/hudson/model/HudsonTest.java | 2 +- .../tasks/EnvVarsInConfigTasksTest.java | 2 +- .../src/test/java/hudson/tasks/MavenTest.java | 2 +- .../java/hudson/tools/JDKInstallerTest.java | 59 +++ war/pom.xml | 7 +- war/resources/css/style.css | 11 + war/resources/help/tools/help-label.html | 4 + war/resources/scripts/hudson-behavior.js | 81 +++- 78 files changed, 2399 insertions(+), 197 deletions(-) create mode 100644 core/src/main/java/hudson/model/DownloadService.java create mode 100644 core/src/main/java/hudson/tools/CommandInstaller.java create mode 100644 core/src/main/java/hudson/tools/InstallSourceProperty.java create mode 100644 core/src/main/java/hudson/tools/InstallerTranslator.java create mode 100644 core/src/main/java/hudson/tools/JDKInstaller.java create mode 100644 core/src/main/java/hudson/tools/PropertyDescriptor.java create mode 100644 core/src/main/java/hudson/tools/ToolInstaller.java create mode 100644 core/src/main/java/hudson/tools/ToolInstallerDescriptor.java create mode 100644 core/src/main/java/hudson/tools/ToolProperty.java create mode 100644 core/src/main/java/hudson/tools/ToolPropertyDescriptor.java create mode 100644 core/src/main/java/hudson/tools/ZipExtractionInstaller.java create mode 100644 core/src/main/java/hudson/util/LogTaskListener.java create mode 100644 core/src/main/resources/hudson/model/DownloadService/footer.jelly create mode 100644 core/src/main/resources/hudson/model/JDK/config.jelly create mode 100644 core/src/main/resources/hudson/model/JDK/config_de.properties create mode 100644 core/src/main/resources/hudson/model/JDK/config_fr.properties create mode 100644 core/src/main/resources/hudson/model/JDK/config_ja.properties create mode 100644 core/src/main/resources/hudson/model/JDK/config_nl.properties create mode 100644 core/src/main/resources/hudson/model/JDK/config_pt_BR.properties create mode 100644 core/src/main/resources/hudson/model/JDK/config_tr.properties create mode 100644 core/src/main/resources/hudson/tools/CommandInstaller/config.jelly create mode 100644 core/src/main/resources/hudson/tools/CommandInstaller/help-command.html create mode 100644 core/src/main/resources/hudson/tools/CommandInstaller/help.html create mode 100644 core/src/main/resources/hudson/tools/InstallSourceProperty/config.jelly create mode 100644 core/src/main/resources/hudson/tools/InstallSourceProperty/help.html create mode 100644 core/src/main/resources/hudson/tools/JDKInstaller/config.jelly create mode 100644 core/src/main/resources/hudson/tools/ZipExtractionInstaller/config.jelly create mode 100644 core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-subdir.html create mode 100644 core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-url.html create mode 100644 core/src/main/resources/hudson/tools/ZipExtractionInstaller/help.html create mode 100644 core/src/main/resources/hudson/tools/label.jelly create mode 100644 core/src/main/resources/hudson/tools/taglib create mode 100644 test/src/test/java/hudson/tools/JDKInstallerTest.java create mode 100644 war/resources/help/tools/help-label.html diff --git a/core/pom.xml b/core/pom.xml index 3dc52aa536..1d75df339d 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -345,8 +345,17 @@ THE SOFTWARE. commons-jexl commons-jexl + + org.kohsuke.stapler + json-lib + + + org.kohsuke.stapler + json-lib + 2.1-rev2 + args4j args4j @@ -371,7 +380,7 @@ THE SOFTWARE. org.jvnet.hudson xstream - 1.3.1-hudson-1 + 1.3.1-hudson-2 jfree @@ -702,6 +711,11 @@ THE SOFTWARE. jinterop-wmi 1.0 + + org.jvnet.hudson + htmlunit + 2.2-hudson-9 + + + + + ${it.generateFragment()} + diff --git a/core/src/main/resources/hudson/model/Hudson/configure.jelly b/core/src/main/resources/hudson/model/Hudson/configure.jelly index 6ce4d9badc..7220bbe364 100644 --- a/core/src/main/resources/hudson/model/Hudson/configure.jelly +++ b/core/src/main/resources/hudson/model/Hudson/configure.jelly @@ -100,28 +100,9 @@ THE SOFTWARE. - - - - - - - - - - - - - - -
- -
-
-
+ + +
diff --git a/core/src/main/resources/hudson/model/JDK/config.jelly b/core/src/main/resources/hudson/model/JDK/config.jelly new file mode 100644 index 0000000000..119939ae18 --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config.jelly @@ -0,0 +1,43 @@ + + + + + + + + + + + + + +
+ +
+
+
+
\ No newline at end of file diff --git a/core/src/main/resources/hudson/model/JDK/config_de.properties b/core/src/main/resources/hudson/model/JDK/config_de.properties new file mode 100644 index 0000000000..0a3e0c11fb --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_de.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Simon Wiest +# +# 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. + +name=Name diff --git a/core/src/main/resources/hudson/model/JDK/config_fr.properties b/core/src/main/resources/hudson/model/JDK/config_fr.properties new file mode 100644 index 0000000000..2178370fbb --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_fr.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Eric Lefevre-Ardant +# +# 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. + +name=Nom diff --git a/core/src/main/resources/hudson/model/JDK/config_ja.properties b/core/src/main/resources/hudson/model/JDK/config_ja.properties new file mode 100644 index 0000000000..0c94b38d7e --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_ja.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Seiji Sogabe +# +# 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. + +name=\u540D\u524D diff --git a/core/src/main/resources/hudson/model/JDK/config_nl.properties b/core/src/main/resources/hudson/model/JDK/config_nl.properties new file mode 100644 index 0000000000..1b4bba5221 --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_nl.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, id:sorokh +# +# 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. + +name=Naam diff --git a/core/src/main/resources/hudson/model/JDK/config_pt_BR.properties b/core/src/main/resources/hudson/model/JDK/config_pt_BR.properties new file mode 100644 index 0000000000..502f2afb64 --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_pt_BR.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Reginaldo L. Russinholi +# +# 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. + +name=nome diff --git a/core/src/main/resources/hudson/model/JDK/config_tr.properties b/core/src/main/resources/hudson/model/JDK/config_tr.properties new file mode 100644 index 0000000000..607cb98b95 --- /dev/null +++ b/core/src/main/resources/hudson/model/JDK/config_tr.properties @@ -0,0 +1,23 @@ +# The MIT License +# +# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Oguz Dag +# +# 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. + +name=isim diff --git a/core/src/main/resources/hudson/tools/CommandInstaller/config.jelly b/core/src/main/resources/hudson/tools/CommandInstaller/config.jelly new file mode 100644 index 0000000000..f44b0bc72b --- /dev/null +++ b/core/src/main/resources/hudson/tools/CommandInstaller/config.jelly @@ -0,0 +1,29 @@ + + + + + + + diff --git a/core/src/main/resources/hudson/tools/CommandInstaller/help-command.html b/core/src/main/resources/hudson/tools/CommandInstaller/help-command.html new file mode 100644 index 0000000000..a313706d70 --- /dev/null +++ b/core/src/main/resources/hudson/tools/CommandInstaller/help-command.html @@ -0,0 +1,4 @@ +
+ Command to run on the slave node to install the tool. + The command will always be run, so it should be a quick no-op if the tool is already installed. +
diff --git a/core/src/main/resources/hudson/tools/CommandInstaller/help.html b/core/src/main/resources/hudson/tools/CommandInstaller/help.html new file mode 100644 index 0000000000..ac353c0d69 --- /dev/null +++ b/core/src/main/resources/hudson/tools/CommandInstaller/help.html @@ -0,0 +1,21 @@ +

+ Runs a shell command of your choice to install the tool. Ubuntu example, + assuming the Hudson user is in /etc/sudoers: +

+
sudo apt-get --yes install openjdk-6-jdk
+

+ (In this case specify /usr/lib/jvm/java-6-openjdk as the home directory.) +

+

+ As another example, to install Sun JDK 6 for (x86) Linux, + you can use DLJ: +

+
bin=jdk-6u13-dlj-linux-i586.bin
+if [ \! -f $bin ]
+then
+    wget --no-verbose http://download.java.net/dlj/binaries/$bin
+    sh $bin --unpack --accept-license
+fi
+

+ (In this case specify jdk1.6.0_13 as the home directory.) +

diff --git a/core/src/main/resources/hudson/tools/InstallSourceProperty/config.jelly b/core/src/main/resources/hudson/tools/InstallSourceProperty/config.jelly new file mode 100644 index 0000000000..192fafcf1b --- /dev/null +++ b/core/src/main/resources/hudson/tools/InstallSourceProperty/config.jelly @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/core/src/main/resources/hudson/tools/InstallSourceProperty/help.html b/core/src/main/resources/hudson/tools/InstallSourceProperty/help.html new file mode 100644 index 0000000000..d9dbf3c399 --- /dev/null +++ b/core/src/main/resources/hudson/tools/InstallSourceProperty/help.html @@ -0,0 +1,15 @@ +
+ Choose this option to let Hudson install this tool for you on demand, + to the location you configured above. + +

+ If you check this option, you'll then be asked to configure a series + of "installer"s for this tool, where each installer defines how + Hudson will try to install this tool. + +

+ For a platform-independent tool (such as Ant), configuring multiple installers + for a single tool makes not much sense, but for a platform dependent tool, + multiple installer configurations allow you to run a different set up script + depending on the slave environment. +

\ No newline at end of file diff --git a/core/src/main/resources/hudson/tools/JDKInstaller/config.jelly b/core/src/main/resources/hudson/tools/JDKInstaller/config.jelly new file mode 100644 index 0000000000..c6dd7f31a0 --- /dev/null +++ b/core/src/main/resources/hudson/tools/JDKInstaller/config.jelly @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/core/src/main/resources/hudson/tools/Messages.properties b/core/src/main/resources/hudson/tools/Messages.properties index e6dead5f21..bf37c06d4d 100644 --- a/core/src/main/resources/hudson/tools/Messages.properties +++ b/core/src/main/resources/hudson/tools/Messages.properties @@ -21,3 +21,10 @@ # THE SOFTWARE. ToolLocationNodeProperty.DisplayName=Tool Locations +CommandInstaller.DescriptorImpl.displayName=Run Command +CommandInstaller.no_command=Must provide a command to run. +CommandInstaller.no_toolHome=Must provide a tool home directory. +ZipExtractionInstaller.DescriptorImpl.displayName=Extract *.zip/*.tar.gz +ZipExtractionInstaller.bad_connection=Server rejected connection. +ZipExtractionInstaller.malformed_url=Malformed URL. +ZipExtractionInstaller.could_not_connect=Could not connect to URL. diff --git a/core/src/main/resources/hudson/tools/ZipExtractionInstaller/config.jelly b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/config.jelly new file mode 100644 index 0000000000..1242f8173d --- /dev/null +++ b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/config.jelly @@ -0,0 +1,32 @@ + + + + + + + + + + diff --git a/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-subdir.html b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-subdir.html new file mode 100644 index 0000000000..6806da2621 --- /dev/null +++ b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-subdir.html @@ -0,0 +1,3 @@ +
+ Optional subdirectory of the downloaded and unpacked archive to use as the tool's home directory. +
diff --git a/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-url.html b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-url.html new file mode 100644 index 0000000000..5ec03bb608 --- /dev/null +++ b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help-url.html @@ -0,0 +1,7 @@ +
+ URL from which to download the tool in binary form. + Should be either a ZIP or a GZip-compressed TAR file. + The timestamp on the server will be compared to the local version (if any) + so you can publish updates easily. + The URL must be accessible from the Hudson master but need not be accessible from slaves. +
diff --git a/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help.html b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help.html new file mode 100644 index 0000000000..0f9148c1b8 --- /dev/null +++ b/core/src/main/resources/hudson/tools/ZipExtractionInstaller/help.html @@ -0,0 +1,6 @@ +
+ Downloads a tool archive and installs it within Hudson's working directory. + Example: http://apache.promopeddler.com/ant/binaries/apache-ant-1.7.1-bin.zip + (or whatever mirror is closest to your server) + and specify a subdir of apache-ant-1.7.1. +
diff --git a/core/src/main/resources/hudson/tools/label.jelly b/core/src/main/resources/hudson/tools/label.jelly new file mode 100644 index 0000000000..d82417033f --- /dev/null +++ b/core/src/main/resources/hudson/tools/label.jelly @@ -0,0 +1,33 @@ + + + + Puts the input field for allowing an user to limit this installer to a certain label. + Meant to be used from config.jelly of ToolInstaller subypes. + + + + + + diff --git a/core/src/main/resources/hudson/tools/taglib b/core/src/main/resources/hudson/tools/taglib new file mode 100644 index 0000000000..e69de29bb2 diff --git a/core/src/main/resources/lib/form/checkbox.jelly b/core/src/main/resources/lib/form/checkbox.jelly index 12f42ba358..e8f95a7a4c 100644 --- a/core/src/main/resources/lib/form/checkbox.jelly +++ b/core/src/main/resources/lib/form/checkbox.jelly @@ -44,6 +44,7 @@ THE SOFTWARE. \ No newline at end of file diff --git a/core/src/main/resources/lib/form/descriptorList.jelly b/core/src/main/resources/lib/form/descriptorList.jelly index 2f0445223d..49a57f0ca3 100644 --- a/core/src/main/resources/lib/form/descriptorList.jelly +++ b/core/src/main/resources/lib/form/descriptorList.jelly @@ -53,7 +53,7 @@ THE SOFTWARE. - + diff --git a/core/src/main/resources/lib/form/hetero-list.jelly b/core/src/main/resources/lib/form/hetero-list.jelly index d6ae9ceecf..8df6f558ca 100644 --- a/core/src/main/resources/lib/form/hetero-list.jelly +++ b/core/src/main/resources/lib/form/hetero-list.jelly @@ -66,6 +66,7 @@ THE SOFTWARE.
+
@@ -86,7 +87,7 @@ THE SOFTWARE.
-