소스 검색

SONAR-9931 warn if sonar.cpd.cross_project is used in the compute engine

tags/6.7-RC1
Daniel Schwarz 6 년 전
부모
커밋
6b73162dfd

+ 4
- 0
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/duplication/IntegrateCrossProjectDuplications.java 파일 보기

@@ -27,6 +27,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Configuration;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
@@ -60,6 +61,9 @@ public class IntegrateCrossProjectDuplications {
public IntegrateCrossProjectDuplications(Configuration config, DuplicationRepository duplicationRepository) {
this.config = config;
this.duplicationRepository = duplicationRepository;
if (config.getBoolean(CoreProperties.CPD_CROSS_PROJECT).orElse(false)) {
LOGGER.warn("This analysis uses the deprecated cross-project duplication feature.");
}
}

public void computeCpd(Component component, Collection<Block> originBlocks, Collection<Block> duplicationBlocks) {

+ 9
- 0
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/duplication/IntegrateCrossProjectDuplicationsTest.java 파일 보기

@@ -332,6 +332,15 @@ public class IntegrateCrossProjectDuplicationsTest {
assertThat(logTester.logs(LoggerLevel.WARN)).containsOnly("Too many duplication groups on file " + ORIGIN_FILE_KEY + ". Keeping only the first 100 groups.");
}

@Test
public void log_warning_if_this_deprecated_feature_is_enabled() {
settings.setProperty("sonar.cpd.cross_project", "true");

new IntegrateCrossProjectDuplications(settings.asConfig(), duplicationRepository);

assertThat(logTester.logs()).containsExactly("This analysis uses the deprecated cross-project duplication feature.");
}

private static Duplication crossProjectDuplication(TextBlock original, String otherFileKey, TextBlock duplicate) {
return new Duplication(original, Arrays.<Duplicate>asList(new CrossProjectDuplicate(otherFileKey, duplicate)));
}

Loading…
취소
저장