hudson.tools
Class ToolLocationTranslator

java.lang.Object
  extended by hudson.tools.ToolLocationTranslator
All Implemented Interfaces:
ExtensionPoint
Direct Known Subclasses:
InstallerTranslator

public abstract class ToolLocationTranslator
extends Object
implements ExtensionPoint

This Hudson-wide extension points can participate in determining the actual node-specific path of the ToolInstallation for the given Node.

This extension point is useful when there's a deterministic rule of where tools are installed. One can program such a logic and contribute a ToolLocationTranslator. Compared to manually specifying ToolLocationNodeProperty, duplicated configurations can be avoided this way.

Entry point to the translation process is

Since:
1.299
Author:
Kohsuke Kawaguchi
See Also:
ToolInstallation.translateFor(Node, TaskListener)

Nested Class Summary
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Constructor Summary
ToolLocationTranslator()
           
 
Method Summary
static ExtensionList<ToolLocationTranslator> all()
          Returns all the registered ToolLocationTranslators.
abstract  String getToolHome(Node node, ToolInstallation installation, TaskListener log)
          Called for each ToolInstallation.translateFor(Node, TaskListener) invocations (which normally means it's invoked for each NodeSpecific.forNode(Node, TaskListener)) to translate the tool location into the node specific location.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ToolLocationTranslator

public ToolLocationTranslator()
Method Detail

getToolHome

public abstract String getToolHome(Node node,
                                   ToolInstallation installation,
                                   TaskListener log)
                            throws IOException,
                                   InterruptedException
Called for each ToolInstallation.translateFor(Node, TaskListener) invocations (which normally means it's invoked for each NodeSpecific.forNode(Node, TaskListener)) to translate the tool location into the node specific location.

If this implementation is capable of determining the location, return the path in the absolute file name. (This method doesn't return File so that it can handle path names of a different OS.

Otherwise return null to let other ToolLocationTranslators a chance to do translations on their own.

Throws:
IOException
InterruptedException

all

public static ExtensionList<ToolLocationTranslator> all()
Returns all the registered ToolLocationTranslators.



Copyright © 2004-2013 Hudson. All Rights Reserved.