-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
Platform: All, OS: All
I found to my annoyance than when running a project which uses a shell command,
Hudson creates a hudson*sh file in the project workspace. This is not polite;
the user expects that the workspace contains just the checkout and build
products. Stray files can confuse scripts.
Shell/BatchFile call FilePath.createTempFile. At first I thought to just delete
this method and change e.g. Shell to say
File script = null;
// ...
script = File.createTempFile("hudson","sh");
script.deleteOnExit();
Writer w = new FileWriter(script);
// ...
But then I noticed the line
String[] cmd = new String[]
{ DESCRIPTOR.getShell(),"-xe",script.getRemote()};
I have never used slaves and so I do not know the significance of the remote
path here. Surely the hudson*sh file is not used from other machines? Can this
simply be written (with File script) as
String[] cmd = new String[]
{ DESCRIPTOR.getShell(),"-xe",script.getAbsolutePath()};
without breaking remote builds?
[JENKINS-183] Shell scripts add temp file to workspace
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Status | Original: Resolved [ 5 ] | New: Closed [ 6 ] |
Component/s | New: core [ 15593 ] | |
Component/s | Original: www [ 15484 ] |
Workflow | Original: JNJira [ 130256 ] | New: JNJira + In-Review [ 199649 ] |