package pl.touk.sputnik.review.locator; import lombok.extern.slf4j.Slf4j; import pl.touk.sputnik.configuration.BuildTool; import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.configuration.GeneralOption; import static org.apache.commons.lang3.Validate.notBlank; @Slf4j public class BuildDirLocatorFactory { public static BuildDirLocator create(Configuration configuration) { String buildTool = configuration.getProperty(GeneralOption.BUILD_TOOL); notBlank(buildTool); String sourceDir = configuration.getProperty(GeneralOption.JAVA_SRC_DIR); notBlank(sourceDir); String testDir = configuration.getProperty(GeneralOption.JAVA_TEST_DIR); notBlank(testDir); switch (BuildTool.valueOf(buildTool.toUpperCase())) { case MAVEN: return new MavenBuildDirLocator(sourceDir,testDir); case GRADLE: return new GradleBuildFileLocator(sourceDir,testDir); default: log.warn("Build tool " + buildTool + " not supported, using maven"); return new MavenBuildDirLocator(sourceDir,testDir); } } }