GH-587 - ModulithMetadata now exposes all base packages.

Previously, we had a variety of places calculating the overall packages to inspect for types. This is now all consolidated into the ModulithMetadata abstraction exposing them directly.
This commit is contained in:
Oliver Drotbohm
2024-05-20 17:23:47 +02:00
parent 04c1203f65
commit 21bd2cef75
7 changed files with 150 additions and 184 deletions

View File

@@ -15,14 +15,9 @@
*/
package org.springframework.modulith.test;
import java.util.ArrayList;
import java.util.List;
import org.springframework.modulith.core.ApplicationModules;
import org.springframework.modulith.core.ApplicationModulesFactory;
import org.springframework.modulith.core.ModulithMetadata;
import com.tngtech.archunit.base.DescribedPredicate;
import com.tngtech.archunit.core.importer.ImportOption;
/**
@@ -32,6 +27,8 @@ import com.tngtech.archunit.core.importer.ImportOption;
*/
public class TestApplicationModules {
private static ImportOption ONLY_TESTS = new ImportOption.OnlyIncludeTests();
/**
* Creates an {@link ApplicationModules} instance from the given package but only inspecting the test code.
*
@@ -39,7 +36,7 @@ public class TestApplicationModules {
* @return will never be {@literal null}.
*/
public static ApplicationModules of(String basePackage) {
return of(ModulithMetadata.of(basePackage), basePackage);
return ApplicationModules.of(basePackage, ONLY_TESTS);
}
/**
@@ -50,16 +47,7 @@ public class TestApplicationModules {
* @since 1.2
*/
public static ApplicationModules of(Class<?> applicationClass) {
return of(ModulithMetadata.of(applicationClass), applicationClass.getPackageName());
}
private static ApplicationModules of(ModulithMetadata metadata, String basePackage) {
var packages = new ArrayList<>(List.of(basePackage));
packages.addAll(metadata.getAdditionalPackages());
return new ApplicationModules(metadata, packages, DescribedPredicate.alwaysFalse(), false,
new ImportOption.OnlyIncludeTests()) {};
return ApplicationModules.of(applicationClass, ONLY_TESTS);
}
/**