/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.lang.build;
import gw.test.util.ITCaseUtils;
import java.io.File;
/**
*/
public class DistAssemblyUtil extends ITCaseUtils {
static DistAssemblyUtil _instance;
static DistAssemblyUtil getInstance() {
if (_instance == null) {
_instance = new DistAssemblyUtil();
}
return _instance;
}
private File _pom;
private File _assemblyDir;
private File _assemblyBinDir;
private File _assemblyLibDir;
private File _assemblyExtDir;
private String _gosuVersion;
public DistAssemblyUtil() {
_pom = findPom(getClass());
_gosuVersion = getPomVersion(_pom);
File targetDir = new File(_pom.getParent(), "target");
if (!targetDir.exists()) {
throw new IllegalStateException("probably haven't run 'package' yet");
}
_assemblyDir = new File(new File(targetDir, "gosu-" + _gosuVersion + "-full"), "gosu-" + _gosuVersion);
_assemblyBinDir = new File(_assemblyDir, "bin");
_assemblyLibDir = new File(_assemblyDir, "lib");
_assemblyExtDir = new File(_assemblyDir, "ext");
System.out.println("gosu version: " + _gosuVersion);
}
public File getPom() {
return _pom;
}
public File getDir() {
return _assemblyDir;
}
public File getBinDir() {
return _assemblyBinDir;
}
public File getLibDir() {
return _assemblyLibDir;
}
public File getExtDir() {
return _assemblyExtDir;
}
public String getGosuVersion() {
return _gosuVersion;
}
public File getJar(String name) {
return new File(_assemblyLibDir, name + "-" + _gosuVersion + ".jar");
}
}