我有两个包com.myapp.foo
,com.myapp.bar
我想知道最优雅的方法来明确检查这两个包(并且只有那些,因为还有更多包com.myapp.XX
)不相互依赖。
这就是我现在所拥有的(工作出色):
SliceAssignment packagesFooAndBar = new SliceAssignment() {
@Override
public String getDescription() {
return "foo and bar";
}
@Override
public SliceIdentifier getIdentifierOf(JavaClass javaClass) {
if (javaClass.getPackageName().startsWith("com.myapp.foo")) {
return SliceIdentifier.of("foo");
}
if (javaClass.getPackageName().startsWith("com.myapp.bar")) {
return SliceIdentifier.of("bar");
}
return SliceIdentifier.ignore();
}
};
@ArchTest
final ArchRule packagesFooAndBarNotDependOnEachOther = SlicesRuleDefinition
.slices()
.assignedFrom(packagesFooAndBar)
.should()
.notDependOnEachOther();
有没有更优雅的方式,也许不使用SliceAssignment
? 谢谢!