Skip to content

Commit 5038689

Browse files
committed
Add library name to documentation task
1 parent 8e34a8c commit 5038689

File tree

5 files changed

+14
-3
lines changed

5 files changed

+14
-3
lines changed

nebula-archrules-gradle-plugin/src/main/java/com/netflix/nebula/archrules/gradle/GenerateDocsParams.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface GenerateDocsParams extends WorkParameters {
1212
ListProperty<String> getOwnArchRulesClasses();
1313

1414
Property<File> getOutputFile();
15+
16+
Property<String> getLibraryName();
1517
}

nebula-archrules-gradle-plugin/src/main/java/com/netflix/nebula/archrules/gradle/GenerateDocsWorkAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,19 @@ public void execute() {
3737
});
3838

3939
var output = getParameters().getOutputFile().get();
40+
var libraryName = getParameters().getLibraryName().get();
4041
output.getParentFile().mkdirs();
4142
try {
42-
Files.writeString(output.toPath(), formatMarkdown(rules));
43+
Files.writeString(output.toPath(), formatMarkdown(rules, libraryName));
4344
} catch (IOException e) {
4445
throw new RuntimeException(e);
4546
}
4647
}
4748

48-
private String formatMarkdown(List<RuleMetadata> rules) {
49+
private String formatMarkdown(List<RuleMetadata> rules, String libraryName) {
4950
var str = new StringBuilder();
5051
str.append("# ArchRules Documentation\n\n");
51-
str.append("List of all archrules defined in this library.\n\n");
52+
str.append("List of all archrules defined in `").append(libraryName).append("`.\n\n");
5253

5354
var sortedRules = rules.stream().sorted(Comparator.comparing(r -> r.ruleName)).toList();
5455
sortedRules.forEach(rule -> {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ class ArchrulesLibraryPlugin : Plugin<Project> {
8181
outputFile.convention(
8282
project.layout.buildDirectory.file("docs/archrules.md")
8383
)
84+
libraryName.convention(project.name)
8485
dependsOn(generateServicesTask)
8586
}
8687
registerRuntimeFeatureForSourceSet(project, archRulesSourceSet, jarTask)

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package com.netflix.nebula.archrules.gradle
33
import org.gradle.api.DefaultTask
44
import org.gradle.api.file.ConfigurableFileCollection
55
import org.gradle.api.file.RegularFileProperty
6+
import org.gradle.api.provider.Property
67
import org.gradle.api.tasks.CacheableTask
78
import org.gradle.api.tasks.Classpath
9+
import org.gradle.api.tasks.Input
810
import org.gradle.api.tasks.OutputFile
911
import org.gradle.api.tasks.TaskAction
1012
import org.gradle.kotlin.dsl.submit
@@ -22,6 +24,9 @@ abstract class GenerateRulesDocumentationTask @Inject constructor(private val wo
2224
@get:OutputFile
2325
abstract val outputFile: RegularFileProperty
2426

27+
@get:Input
28+
abstract val libraryName: Property<String>
29+
2530
@TaskAction
2631
fun generateDocs() {
2732
val ownArchRulesClasses = rulesClasspath.files.map {
@@ -43,6 +48,7 @@ abstract class GenerateRulesDocumentationTask @Inject constructor(private val wo
4348
workQueue.submit(GenerateDocsWorkAction::class) {
4449
getOwnArchRulesClasses().set(ownArchRulesClasses)
4550
getOutputFile().set(this@GenerateRulesDocumentationTask.outputFile.get().asFile)
51+
getLibraryName().set(this@GenerateRulesDocumentationTask.libraryName.get())
4652
}
4753
}
4854
}

nebula-archrules-gradle-plugin/src/test/kotlin/com/netflix/nebula/archrules/gradle/ArchrulesLibraryPluginTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ class ArchrulesLibraryPluginTest {
391391

392392
assertThat(docsFile.readText())
393393
.contains("# ArchRules Documentation")
394+
.contains("List of all archrules defined in `archrules-library`.")
394395
.contains("## deprecated\n" +
395396
"\n" +
396397
"**Description:** No code should reference deprecated APIs, because usage of deprecated APIs introduces risk that future upgrades and migrations will be blocked\n" +

0 commit comments

Comments
 (0)