|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthudson.tools.ToolInstaller
hudson.tools.DownloadFromUrlInstaller
public abstract class DownloadFromUrlInstaller
Partial convenience implementation of ToolInstaller
that just downloads
an archive from the URL and extracts it.
Each instance of this is configured to download from a specific URL identified by an ID.
Nested Class Summary | |
---|---|
static class |
DownloadFromUrlInstaller.DescriptorImpl<T extends DownloadFromUrlInstaller>
|
static class |
DownloadFromUrlInstaller.Installable
Downloadable and installable tool. |
static class |
DownloadFromUrlInstaller.InstallableList
Used for JSON databinding to parse the obtained list. |
Nested classes/interfaces inherited from interface hudson.ExtensionPoint |
---|
ExtensionPoint.LegacyInstancesAreScopedToHudson |
Field Summary | |
---|---|
String |
id
|
Fields inherited from class hudson.tools.ToolInstaller |
---|
tool |
Constructor Summary | |
---|---|
protected |
DownloadFromUrlInstaller(String id)
|
Method Summary | |
---|---|
protected FilePath |
findPullUpDirectory(FilePath root)
Often an archive contains an extra top-level directory that's unnecessary when extracted on the disk into the expected location. |
DownloadFromUrlInstaller.Installable |
getInstallable()
Gets the DownloadFromUrlInstaller.Installable identified by id . |
protected boolean |
isUpToDate(FilePath expectedLocation,
DownloadFromUrlInstaller.Installable i)
Checks if the specified expected location already contains the installed version of the tool. |
FilePath |
performInstallation(ToolInstallation tool,
Node node,
TaskListener log)
Ensure that the configured tool is really installed. |
Methods inherited from class hudson.tools.ToolInstaller |
---|
appliesTo, getDescriptor, getLabel, preferredLocation, setTool |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final String id
Constructor Detail |
---|
@DataBoundConstructor protected DownloadFromUrlInstaller(String id)
Method Detail |
---|
protected boolean isUpToDate(FilePath expectedLocation, DownloadFromUrlInstaller.Installable i) throws IOException, InterruptedException
DownloadFromUrlInstaller.Installable
,
based on the assumption that released bits do not change its content.
IOException
InterruptedException
public DownloadFromUrlInstaller.Installable getInstallable() throws IOException
DownloadFromUrlInstaller.Installable
identified by id
.
IOException
public FilePath performInstallation(ToolInstallation tool, Node node, TaskListener log) throws IOException, InterruptedException
ToolInstaller
ToolInstaller.appliesTo(Node)
are true.
performInstallation
in class ToolInstaller
tool
- the tool being installednode
- the computer on which to install the toollog
- any status messages produced by the installation go here
ToolInstaller.preferredLocation(hudson.tools.ToolInstallation, hudson.model.Node)
IOException
- if installation fails
InterruptedException
- if communication with a slave is interruptedprotected FilePath findPullUpDirectory(FilePath root) throws IOException, InterruptedException
The caller will "pull up" the discovered real root by throw away the intermediate directory, so that the user-configured "tool home" directory contains the right files.
The default implementation applies some heuristics to auto-determine if the pull up is necessary. This should work for typical archive files.
root
- The directory that contains the extracted archive. This directory contains nothing but the
extracted archive. For example, if the user installed
http://archive.apache.org/dist/ant/binaries/jakarta-ant-1.1.zip , this directory would contain
a single directory "jakarta-ant".
root
that contains the meat. In the above example,
root.child("jakarta-ant") should be returned. If there's no directory to pull up,
return null.
IOException
InterruptedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |