/* * Copyright (c) 2006 Rogério Liesenfeld * This file is subject to the terms of the MIT license (see LICENSE.txt). */ package mockit.coverage; import javax.annotation.*; public final class Configuration { private static final String COVERAGE_PREFIX1 = "jmockit-coverage-"; private static final String COVERAGE_PREFIX2 = "coverage-"; private Configuration() {} @Nullable public static String getProperty(@Nonnull String nameSuffix) { return getProperty(nameSuffix, null); } public static String getProperty(@Nonnull String nameSuffix, @Nullable String defaultValue) { String property = System.getProperty(COVERAGE_PREFIX1 + nameSuffix); if (property != null) { return property; } return System.getProperty(COVERAGE_PREFIX2 + nameSuffix, defaultValue); } public static void setProperty(@Nonnull String name, @Nonnull String value) { String prefixToUse = COVERAGE_PREFIX1; if (System.getProperty(prefixToUse + name) == null) { prefixToUse = COVERAGE_PREFIX2; } System.setProperty(prefixToUse + name, value); } @Nullable public static String getOrChooseOutputDirectory(@Nonnull String outputDir) { if (!outputDir.isEmpty()) { return outputDir; } String mavenBaseDir = System.getProperty("basedir"); return mavenBaseDir == null ? null : "target"; } @Nonnull public static String getOrChooseOutputDirectory(@Nonnull String outputDir, @Nonnull String defaultDir) { if (!outputDir.isEmpty()) { return outputDir; } String mavenBaseDir = System.getProperty("basedir"); return mavenBaseDir == null ? defaultDir : "target/" + defaultDir; } }