use of com.societegenerale.commons.plugin.model.RootClassFolder in project arch-unit-build-plugin-core by societe-generale.
the class RuleInvokerService method invokeConfigurableRules.
private String invokeConfigurableRules(ConfigurableRule rule) {
if (rule.isSkip()) {
if (log.isInfoEnabled()) {
log.info("Skipping rule " + rule.getRule());
}
return "";
}
InvokableRules invokableRules = InvokableRules.of(rule.getRule(), rule.getChecks(), log);
String fullPathFromRootTopackage = getPackageNameOnWhichToApplyRules(rule);
log.info("invoking ConfigurableRule " + rule.toString() + " on " + fullPathFromRootTopackage);
JavaClasses classes = archUtils.importAllClassesInPackage(new RootClassFolder(""), fullPathFromRootTopackage, excludedPaths);
InvocationResult result = invokableRules.invokeOn(classes);
return result.getMessage();
}
use of com.societegenerale.commons.plugin.model.RootClassFolder in project arch-unit-build-plugin-core by societe-generale.
the class ArchUtilsTest method shouldIgnoreClassesFromConfiguredPaths.
@Test
public void shouldIgnoreClassesFromConfiguredPaths() {
JavaClasses classes = ArchUtils.importAllClassesInPackage(new RootClassFolder("./target"), "");
assertThat(classes).isNotEmpty();
JavaClass classToExclude = classes.stream().filter(c -> c.getSource().get().getUri().toString().contains("ClassToExclude")).findFirst().get();
assertThat(classToExclude).as("when no exclusion pattern configured, ClassToExclude should be found").isNotNull();
JavaClasses classesWithTestClassesExclusions = ArchUtils.importAllClassesInPackage(new RootClassFolder("./target"), "", Arrays.asList("test-classes"));
assertThat(containsClassWithPattern(classesWithTestClassesExclusions, "ClassToExclude")).as("when 'test-classes' pattern configured, ClassToExclude should still be found").isTrue();
assertThat(classes.size()).as("There should be less classes loaded when we apply the test-classes exclusion").isGreaterThan(classesWithTestClassesExclusions.size());
JavaClasses classesWithTestClassesAndSpecificExclusions = ArchUtils.importAllClassesInPackage(new RootClassFolder("./target"), "", Arrays.asList("test-classes", "ClassToExclude"));
assertThat(containsClassWithPattern(classesWithTestClassesAndSpecificExclusions, "ClassToExclude")).as("when 'ClassToExclude' pattern configured, ClassToExclude should not be found").isFalse();
assertThat(classesWithTestClassesAndSpecificExclusions.size() + 1).as("with a specific exclusion; we should have one less class than without").isEqualTo(classesWithTestClassesExclusions.size());
}
use of com.societegenerale.commons.plugin.model.RootClassFolder in project arch-unit-build-plugin-core by societe-generale.
the class ArchUtilsTest method shouldLoadAllClassesWhenGivenPakageDoesntExist.
@Test
public void shouldLoadAllClassesWhenGivenPakageDoesntExist() {
JavaClasses classes = ArchUtils.importAllClassesInPackage(new RootClassFolder("./target/classes"), "someNotExistingFolder");
long noOfClasses = classes.stream().filter(it -> !it.isNestedClass()).count();
assertThat(noOfClasses).isEqualTo(36);
}
use of com.societegenerale.commons.plugin.model.RootClassFolder in project arch-unit-build-plugin-core by societe-generale.
the class ArchUtilsTest method shouldLoadClassesFromGivenPackage.
@Test
public void shouldLoadClassesFromGivenPackage() {
JavaClasses classes = ArchUtils.importAllClassesInPackage(new RootClassFolder("./target/classes/"), "com/societegenerale/commons/plugin/model");
long noOfClassesInPackage = classes.stream().count();
assertThat(noOfClassesInPackage).isEqualTo(4);
}
Aggregations