Skip to content

Commit c4b6352

Browse files
committed
improve logging and console output
1 parent a44db3b commit c4b6352

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

nebula-archrules-gradle-plugin/src/main/java/com/netflix/nebula/archrules/gradle/RunRulesWorkAction.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import com.netflix.nebula.archrules.core.Runner;
55
import com.tngtech.archunit.core.importer.ClassFileImporter;
66
import org.gradle.workers.WorkAction;
7+
import org.slf4j.Logger;
8+
import org.slf4j.LoggerFactory;
79

810
import java.io.File;
911
import java.io.FileOutputStream;
@@ -12,14 +14,21 @@
1214
import java.util.ArrayList;
1315
import java.util.List;
1416
import java.util.ServiceLoader;
17+
import java.util.stream.Collectors;
1518

1619
import static com.netflix.nebula.archrules.core.NoClassesMatchedEvent.NO_MATCH_MESSAGE;
1720

1821
public abstract class RunRulesWorkAction implements WorkAction<RunRulesParams> {
22+
private static final Logger LOGGER = LoggerFactory.getLogger(RunRulesWorkAction.class);
1923

2024
@Override
2125
public void execute() {
2226
ServiceLoader<ArchRulesService> ruleClasses = ServiceLoader.load(ArchRulesService.class);
27+
if (LOGGER.isInfoEnabled()) {
28+
LOGGER.info("Rule classes detected: {}", ruleClasses.stream()
29+
.map(it -> it.type().getCanonicalName())
30+
.collect(Collectors.joining(",")));
31+
}
2332
final var classesToCheck = new ClassFileImporter()
2433
.importPaths(getParameters().getClassesToCheck().getFiles().stream().map(File::toPath).toList());
2534
final List<RuleResult> violationList = new ArrayList<>();

nebula-archrules-gradle-plugin/src/main/kotlin/com/netflix/nebula/archrules/gradle/ViolationsUtil.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class ViolationsUtil {
3232

3333
@JvmStatic
3434
fun printReport(violations: Map<Rule, List<RuleResult>>, output: StyledTextOutput, infoLogging: Boolean) {
35+
output.style(StyledTextOutput.Style.Header).println("ArchRule Violation Details:")
3536
violations
3637
.mapValues { it.value.filter { it.rule().priority() != Priority.LOW || infoLogging } }
3738
.filter { it.value.isNotEmpty() }
@@ -56,6 +57,7 @@ class ViolationsUtil {
5657

5758
@JvmStatic
5859
fun printSummary(resultMap: Map<Rule, List<RuleResult>>, output: StyledTextOutput, skipPassing: Boolean) {
60+
output.style(StyledTextOutput.Style.Header).println("ArchRule Summary:")
5961
val indent = 4
6062
val maxRuleNameLength = resultMap.keys.maxOfOrNull { it.ruleName().length } ?: 1
6163
resultMap.entries.groupBy { entry -> entry.key.ruleClass() }

nebula-archrules-gradle-plugin/src/test/kotlin/com/netflix/nebula/archrules/gradle/ViolationsUtilTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ internal class ViolationsUtilTest {
3333
fun `test printSummary empty results`() {
3434
val output = MockStyledTextOutput()
3535
ViolationsUtil.printSummary(mapOf(), output, false)
36-
assertThat(output.getOutput()).isEmpty()
36+
assertThat(output.getOutput()).isEqualTo("ArchRule Summary:\n")
3737
}
3838
}
3939

0 commit comments

Comments
 (0)