package org.oddjob.tools; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.log4j.Logger; /** * Calculate where the Oddjob source code is. * * @author rob * */ public class OddjobSrc { private static final Logger logger = Logger.getLogger(OddjobSrc.class); private final File oddjobSrc; public OddjobSrc() throws IOException { String baseDir = System.getProperty("oddjob.src"); if (baseDir != null) { oddjobSrc = new File(baseDir).getCanonicalFile(); logger.info("oddjob.src=" + oddjobSrc.toString()); } else { File pwd = new File(".").getCanonicalFile(); if ("oddjob".equals(pwd.getName())) { logger.info("The appears to be the oddjob project."); oddjobSrc = new File("."); } else { logger.info("Guess oddjob.src to be a parrallel directory."); oddjobSrc = new OurDirs().relative("../oddjob").getCanonicalFile(); } } if (!oddjobSrc.exists()) { throw new FileNotFoundException(oddjobSrc + " does not exist."); } } public File oddjobSrcBase() { return oddjobSrc; } }