Skip to content

Commit 500b05d

Browse files
committed
combine classpath properties
1 parent 9a8cc48 commit 500b05d

File tree

2 files changed

+6
-17
lines changed

2 files changed

+6
-17
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ class ArchrulesLibraryPlugin : Plugin<Project> {
7676
project.tasks.register<GenerateRulesDocumentationTask>("generateRulesDocumentation") {
7777
description = "Generates documentation for ArchRules"
7878
group = "documentation"
79-
rulesClasspath.from(archRulesSourceSet.output)
80-
dependencyClasspath.from(project.configurations.named(archRulesSourceSet.runtimeClasspathConfigurationName))
79+
classpath.from(archRulesSourceSet.output)
80+
classpath.from(project.configurations.named(archRulesSourceSet.runtimeClasspathConfigurationName))
8181
outputFile.convention(
8282
project.layout.buildDirectory.file("docs/archrules.md")
8383
)

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

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,17 @@ import java.util.ServiceLoader
1919
abstract class GenerateRulesDocumentationTask : DefaultTask() {
2020

2121
@get:Classpath
22-
abstract val rulesClasspath: ConfigurableFileCollection
23-
24-
@get:Classpath
25-
abstract val dependencyClasspath: ConfigurableFileCollection
22+
abstract val classpath: ConfigurableFileCollection
2623

2724
@get:OutputFile
2825
abstract val outputFile: RegularFileProperty
2926

3027
@TaskAction
3128
fun generateDocs() {
3229
val rules = mutableListOf<RuleMetadata>()
33-
val rulesUrls = rulesClasspath.files.map { it.toURI().toURL() }.toTypedArray()
34-
val dependencyUrls = dependencyClasspath.files.map { it.toURI().toURL() }.toTypedArray()
35-
36-
// val ownClassLoader = URLClassLoader(rulesUrls, javaClass.classLoader)
37-
// val ownArchRulesClasses = ServiceLoader.load(ArchRulesService::class.java, ownClassLoader)
38-
// .stream()
39-
// .map { it.type().name }
40-
// .toList()
41-
// .toSet()
30+
val classpathUrls = classpath.files.map { it.toURI().toURL() }.toTypedArray()
4231

43-
val ownArchRulesClasses = rulesClasspath.files.map {
32+
val ownArchRulesClasses = classpath.files.map {
4433
File(
4534
it,
4635
"META-INF/services/com.netflix.nebula.archrules.core.ArchRulesService"
@@ -52,7 +41,7 @@ abstract class GenerateRulesDocumentationTask : DefaultTask() {
5241
?.toSet()
5342
?: emptySet()
5443

55-
URLClassLoader(rulesUrls + dependencyUrls, this.javaClass.classLoader).use { classLoader ->
44+
URLClassLoader(classpathUrls, this.javaClass.classLoader).use { classLoader ->
5645
ServiceLoader.load(ArchRulesService::class.java, classLoader)
5746
.filter { it.javaClass.name in ownArchRulesClasses }
5847
.forEach { service ->

0 commit comments

Comments
 (0)