Commit Graph

11235 Commits

Author SHA1 Message Date
Jesse Glick e724b751df Better for list() to return an empty array for a nonexistent directory.
Otherwise you get exceptions when browsing the index page of a build with no artifacts.
2013-08-22 15:46:11 -04:00
Jesse Glick 23512cd63d ArtifactManagerFactoryDescriptor 2013-08-22 15:03:40 -04:00
Jesse Glick 9abbfcb976 Java 5 API compatibility. 2013-08-21 17:11:48 -04:00
Jesse Glick 30ed7b7e6a Improved Javadoc. 2013-08-21 16:48:00 -04:00
Jesse Glick dee545ff30 _throw no longer needed. 2013-08-21 16:41:38 -04:00
Jesse Glick 862544b249 Satisfy DirectoryBrowserSupport with a new VirtualFile. 2013-08-21 16:38:27 -04:00
Jesse Glick 01fa0201fc First draft of reworked artifact listing API. 2013-08-21 14:05:25 -04:00
Jesse Glick f846169fb5 Moving what is essentially unit test code out of the test harness module. 2013-08-21 13:06:17 -04:00
Jesse Glick 851b2d938b Making ExplicitlySpecifiedDirScanner public since it can be useful for other artifact managers. 2013-08-21 11:22:35 -04:00
Jesse Glick 87a794ea94 Javadoc: use DataBoundConstructor. 2013-08-21 10:21:17 -04:00
Jesse Glick 757fe0844c Apparently need to set the owner of the DescribableList when restoring.
Otherwise changes to configuration on the second startup are not persisted.
2013-08-20 18:35:19 -04:00
Jesse Glick a3d099b652 ArtifactManagerFactory/ArtifactManagerConfiguration to let the administrator select what to use. 2013-08-20 17:46:55 -04:00
Jesse Glick a38b1103b3 Clarifying that archiving may be run on technically completed builds. 2013-08-20 14:16:23 -04:00
Jesse Glick 4ef0018101 Merge branch 'master' into ArtifactManager-JENKINS-17236
Conflicts:
	core/src/main/java/hudson/model/Run.java
	test/src/test/java/hudson/maven/MavenMultiModuleTest.java
2013-08-20 13:18:23 -04:00
Jesse Glick a92e9da978 [FIXED JENKINS-18846] Update symlinks for Maven module builds. 2013-08-20 13:05:21 -04:00
Jesse Glick 957595d2b4 You might expect new FilePath(null, "/local/path").getChannel() to be null.
Confusingly, it is instead MasterComputer.localChannel!
If that is fed back into FilePath.<init>(VirtualChannel,String) rather than using .<init>(FilePath,String)
you get an object that behaves strangely and throws exceptions.
2013-08-19 16:19:20 -04:00
Jesse Glick 34a461eb40 Queue up artifacts from a Maven build so they can all be archived in one call (per module). 2013-08-19 14:26:53 -04:00
Jesse Glick e345678c4e Merge branch 'master' into ArtifactManager-JENKINS-17236 2013-08-19 11:17:25 -04:00
Kohsuke Kawaguchi ec503aa831 the trunk is toward 1.530-SNAPSHOT 2013-08-19 08:13:13 -07:00
Christoph Kutzinski 78b5121b21 Merge pull request #895 from kutzi/JENKINS-19004-channel-executor-name
[JENKINS-19004] set name of remoting threads
2013-08-18 03:54:45 -07:00
Jesse Glick 711316a5be Log CannotResolveClassException and similar at FINE, not WARING.
OldDataMonitor already collates these errors and presents them to the user with a fix.
Printing a stack trace for each and every missing class just clutters the log file.
(Especially when restarting after disabling a widely-used plugin.)
2013-08-16 16:21:49 -04:00
Kanstantsin Shautsou 2b36bd0b5e [JENKINS-16178] Add builds that were run by user to user's build list. 2013-08-16 00:49:28 +03:00
Jesse Glick 5fe9e52b2f [GROOVY-4292] Update Groovy to 1.8.9 to avoid random livelock during startup when init.groovy specified.
"GroovyInitScript.init" daemon prio=10 tid=0x00007f28d0001800 nid=0x48 runnable [0x00007f28cb79e000]
   java.lang.Thread.State: RUNNABLE
	at java.util.WeakHashMap.get(Unknown Source)
	at org.codehaus.groovy.ast.ClassHelper.makeCached(ClassHelper.java:121)
	at org.codehaus.groovy.ast.ClassHelper.makeWithoutCaching(ClassHelper.java:183)
	at org.codehaus.groovy.ast.ClassHelper.make(ClassHelper.java:170)
	at org.codehaus.groovy.ast.ClassHelper.make(ClassHelper.java:159)
	at org.codehaus.groovy.vmplugin.v5.Java5.makeClassNode(Java5.java:382)
	at org.codehaus.groovy.vmplugin.v5.Java5.makeParameter(Java5.java:403)
	at org.codehaus.groovy.vmplugin.v5.Java5.makeParameters(Java5.java:396)
	at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:331)
	at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:262)
	- locked <0x00000000f4bfe2b0> (a java.lang.Object)
	at org.codehaus.groovy.ast.ClassNode.getInterfaces(ClassNode.java:356)
	at org.codehaus.groovy.ast.ClassNode.declaresInterface(ClassNode.java:946)
	at org.codehaus.groovy.ast.ClassNode.implementsInterface(ClassNode.java:926)
	at org.codehaus.groovy.ast.ClassNode.isDerivedFromGroovyObject(ClassNode.java:916)
	at org.codehaus.groovy.classgen.AsmClassGenerator.isGroovyObject(AsmClassGenerator.java:1070)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitPropertyExpression(AsmClassGenerator.java:1027)
	at org.codehaus.groovy.ast.expr.PropertyExpression.visit(PropertyExpression.java:55)
	at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.evaluateEqual(BinaryExpressionHelper.java:287)
	at org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:76)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:519)
	at org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:49)
	at org.codehaus.groovy.classgen.asm.StatementWriter.writeExpressionStatement(StatementWriter.java:599)
	at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeExpressionStatement(OptimizingStatementWriter.java:354)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitExpressionStatement(AsmClassGenerator.java:501)
	at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
	at org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:80)
	at org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.writeBlockStatement(OptimizingStatementWriter.java:155)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:447)
	at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:101)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:112)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:312)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:269)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:123)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitMethod(AsmClassGenerator.java:389)
	at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1056)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:50)
	at org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:173)
	at org.codehaus.groovy.control.CompilationUnit$14.call(CompilationUnit.java:767)
	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:967)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:546)
	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:524)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:501)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
	at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:578)
	at hudson.init.impl.GroovyInitScript.execute(GroovyInitScript.java:83)
	at hudson.init.impl.GroovyInitScript.execute(GroovyInitScript.java:78)
	at hudson.init.impl.GroovyInitScript.init(GroovyInitScript.java:57)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
	at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:889)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
2013-08-15 15:41:15 -04:00
Seiji Sogabe ad6f55714d Merge pull request #901 from ssogabe/ComputerLauncherTestFailure
ComputerLauncherTest failed with LANG=ja_JP.
2013-08-14 02:02:10 -07:00
Jesse Glick 707629b03f [FIXED JENKINS-19192] LoginCommand failed on Windows after introduction of JNR.
Root cause of class loading error (on jnr.ffi.util.ref.internal.Finalizer$ShutDown) still unclear,
but easy fix is to simplify ClientAuthenticationCache.save to use FilePath.chmod,
which at least for now relies on hudson.util.jna.GNUCLibrary rather than JNR.
2013-08-13 23:03:37 -04:00
Jesse Glick 58c8a9393f [FIXED JENKINS-19135] Permit a user to configure an axis with no values without throwing exceptions.
The project cannot be usefully built in this case but at least they can go back and reconfigure it.
Also fixing Layouter.Column to not throw NoSuchElementException (in violation of Iterator contract)
and thus break project overview when there is an empty Axis in the trivial list (due to an unintentional IndexOutOfBoundsException).
2013-08-13 21:39:16 -04:00
Kanstantsin Shautsou f633a44ffb [JENKINS-17332] Allow sign up with username that exist because of SCM people. 2013-08-13 21:41:45 +03:00
Jesse Glick 920c3fde33 A DirScanner must be serializable. 2013-08-13 13:04:52 -04:00
Jesse Glick 5250f3c205 Merge remote-tracking branch 'origin/master' into ArtifactManager-JENKINS-17236 2013-08-13 12:50:22 -04:00
Jesse Glick 4d8bfb5538 [FIXED JENKINS-19186] Robustness against malformed test result XML. 2013-08-13 12:48:46 -04:00
Kohsuke Kawaguchi 1e9f90a45d the trunk is toward 1.529-SNAPSHOT 2013-08-13 08:03:59 -07:00
Jesse Glick 2e09239906 Java 5 compatibility. 2013-08-12 19:08:11 -04:00
Jesse Glick ee4455d3ea Reworked ArtifactManager.archive to take a Map<String,String> to allow more flexible archiving behaviors. 2013-08-12 18:03:52 -04:00
Jesse Glick 7575a29d74 Merge branch 'master' into ArtifactManager-JENKINS-17236
Conflicts:
	core/src/main/java/hudson/tasks/ArtifactArchiver.java
2013-08-12 16:40:43 -04:00
Jesse Glick 3751e26fff Merge branch 'master' of github.com:jenkinsci/jenkins 2013-08-12 16:15:41 -04:00
Jesse Glick 12aa92ce00 Comment. 2013-08-12 16:15:16 -04:00
Jesse Glick 71e6990d51 Unchecked warning. 2013-08-12 16:15:09 -04:00
Jesse Glick c8c45c1133 Merge pull request #899 from mvach/potential-npe
Fix potential NPE on exception path
2013-08-12 08:01:12 -07:00
Vincent Latombe 47fde3be8f [JENKINS-19082] Fix ListView includeRegex 2013-08-12 15:32:51 +02:00
Vojtech Juranek bdcefed837 Merge branch 'jenkins_19156_windows_processkiller' of https://github.com/synopsys-arc-oss/jenkins into pr903 2013-08-12 09:48:57 +02:00
Oleg Nenashev 20859b4aad Windows::killRecursively() invokes process killers after completion.
Resolves https://issues.jenkins-ci.org/browse/JENKINS-19156

Signed-off-by: Oleg Nenashev <nenashev@synopsys.com>
2013-08-12 04:25:38 +04:00
Olivier Lamy aea10298fe use guice from google rather than a fork 2013-08-10 23:05:35 +10:00
Jesse Glick ec9d809ddd [FIXED JENKINS-16918] Use HTTP 405 when POST is required. 2013-08-09 19:57:56 -04:00
Kohsuke Kawaguchi 7e8bbea333 [FIXED JENKINS-18641]
Eliminated the wrong script tag generation from <st:bind/>
2013-08-09 12:55:11 -07:00
Kohsuke Kawaguchi 0c843f5d89 this must be a merge failure 2013-08-08 18:29:56 -07:00
Kohsuke Kawaguchi 738a1d1164 adding javadoc based on the question in IRC.
(04:07:53 PM) bbeck: In a plugin, given hudson.model.Node object is there an easy way to figure out how many busy/idle executors that node has?  There only seems to be a method to determine the number of executors, but not their states.
(04:24:02 PM) kohsuke: bbeck: see Computer
(04:25:51 PM) bbeck: kohsuke: thanks, just noticed the countIdle/countBusy functions there.
2013-08-08 16:26:17 -07:00
Kohsuke Kawaguchi 7232798611 [FIXED JENKINS-19124]
Added another attribute 'checkDependsOn' on <input> elements (akin to
'fillDependsOn', etc) to list up the other dependency controls, and
insert appropriate onchange events.

'checkUrl' is now just the stem portion of the URL to invoke, and
the client script builds up the query parameters.
2013-08-08 16:24:09 -07:00
Jesse Glick 176ce5f56d Have observed Slave.getNodeProperties returning null, which should not happen. 2013-08-08 17:28:51 -04:00
Jesse Glick b524e52e29 Reducing ThisIsHowItsLoaded to FINEST. 2013-08-08 16:59:40 -04:00
Jesse Glick 3d208a1fcf May need to call crumb.appendToForm for safeRestart link to work. 2013-08-07 16:50:35 -04:00