package org.jenkinsci.plugins.dockerbuildstep.util;
import hudson.EnvVars;
import hudson.Util;
import hudson.model.AbstractBuild;
import hudson.util.LogTaskListener;
import hudson.util.VariableResolver;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Convenient class for resolving/expanding various variabales.
*
* @author vjuranek
*
*/
public class Resolver {
public static String buildVar(final AbstractBuild<?, ?> build,final String toResolve) {
if(toResolve == null)
return null;
VariableResolver<String> vr = build.getBuildVariableResolver();
String resolved = Util.replaceMacro(toResolve, vr);
try {
EnvVars env = build.getEnvironment(new LogTaskListener(LOG, Level.INFO));
resolved = env.expand(resolved);
} catch (Exception e) {
//TODO no-op?
}
return resolved;
}
public static String envVar(final String toResolve) {
return Util.replaceMacro(toResolve, System.getenv());
}
private static final Logger LOG = Logger.getLogger(Resolver.class.getName());
}