Skip to content

Instantly share code, notes, and snippets.

@DenWav
Created October 5, 2016 23:17
Show Gist options
  • Save DenWav/8123e7c4365ce652fffe3fd645465cb7 to your computer and use it in GitHub Desktop.
Save DenWav/8123e7c4365ce652fffe3fd645465cb7 to your computer and use it in GitHub Desktop.
Set<Module> goodModules = toImport.stream()
.flatMap(n -> n.getChildren().stream())
.flatMap(n -> {
Object d = n.getData();
if (d instanceof GradleSourceSetData) {
return n.getChildren().stream()
.filter(n1 -> n1.getData() instanceof DependencyData)
.filter(n1 -> ((DependencyData) n1.getData()).getOwnerModule().getExternalName().contains("main"));
} else {
return Stream.of(n);
}
})
.filter(n -> n.getData() instanceof DependencyData)
.filter(n -> {
final Object d = n.getData();
if (d instanceof LibraryDependencyData) {
return ((LibraryDependencyData) d).getExternalName()
.startsWith(SpongeModuleType.getInstance().getGroupId() + ":" + SpongeModuleType.getInstance().getArtifactId());
} else {
return ((ModuleDependencyData) d).getExternalName().contains("SpongeCommon") ||
((ModuleDependencyData) d).getExternalName().contains("SpongeAPI");
}
})
.map(n -> ((DependencyData) n.getData()).getOwnerModule())
.map(modelsProvider::findIdeModule)
.collect(Collectors.toSet());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment