Skip to content

Commit a18464a

Browse files
committed
chore: Use DirectoryProperty for Input and Output Folder
1 parent b4b2fe6 commit a18464a

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

vss-processor-plugin/src/main/java/org/eclipse/velocitas/vssprocessor/VssModelGenerator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class VssModelGenerator(
4343
private val generatedDir = File(buildDir, "generated")
4444
private val vssDir = File(generatedDir, "vss")
4545
val sourceSetBaseDir = File(vssDir, "kotlin")
46-
val outputDir = File(sourceSetBaseDir, packageName.replace(".", File.separator))
46+
private val outputDir = File(sourceSetBaseDir, packageName.replace(".", File.separator))
4747

4848
fun generate(vssFiles: Set<File>) {
4949
val simpleNodeElements = mutableListOf<VssNodeSpecModel>()

vss-processor-plugin/src/main/java/org/eclipse/velocitas/vssprocessor/plugin/VssProcessorPlugin.kt

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,20 @@ class VssProcessorPlugin : Plugin<Project> {
7272
// The extension variables are only available after the project has been evaluated
7373
project.afterEvaluate {
7474
val modelGenerator = VssModelGenerator(project.projectDir, logger)
75+
7576
val sourceSetBaseDir = modelGenerator.sourceSetBaseDir
77+
val sourceSetBaseDirProperty = project.objects.directoryProperty()
78+
sourceSetBaseDirProperty.set(sourceSetBaseDir)
7679

77-
addGeneratedPathToSourceSets(project, sourceSetBaseDir)
80+
addGeneratedPathToSourceSets(project, sourceSetBaseDirProperty)
7881

7982
val generateVssModelsTask = project.tasks.register<GenerateVssModelsTask>(GENERATE_TASK_NAME) {
8083
vssModelGenerator = modelGenerator
8184

82-
val vssDir = readVssDir(vssProcessorExtension)
83-
this.vssDir.set(vssDir)
85+
val vssDirProperty = readVssDir(vssProcessorExtension)
86+
this.vssDir.set(vssDirProperty)
8487

85-
generatedOutputDir.set(sourceSetBaseDir)
88+
generatedOutputDir.set(sourceSetBaseDirProperty)
8689
}
8790

8891
tasks.withType(KotlinCompile::class.java).configureEach {
@@ -97,16 +100,19 @@ class VssProcessorPlugin : Plugin<Project> {
97100
}
98101
}
99102

100-
private fun Project.readVssDir(vssProcessorExtension: VssProcessorPluginExtension): File {
103+
private fun Project.readVssDir(vssProcessorExtension: VssProcessorPluginExtension): DirectoryProperty {
101104
val defaultVssPath = File(rootDir, VSS_FOLDER_NAME)
102105
val vssPath = vssProcessorExtension.searchPath.get().ifEmpty { defaultVssPath.absolutePath }
103106
val vssDir = File(vssPath)
104-
return vssDir
107+
108+
val vssDirProperty = project.objects.directoryProperty()
109+
vssDirProperty.set(vssDir)
110+
return vssDirProperty
105111
}
106112

107113
private fun addGeneratedPathToSourceSets(
108114
project: Project,
109-
sourceSetBaseDir: File,
115+
sourceSetBaseDirProperty: DirectoryProperty,
110116
) {
111117
val extensions = project.extensions
112118
val pluginManager = project.pluginManager
@@ -118,15 +124,15 @@ class VssProcessorPlugin : Plugin<Project> {
118124
if (isAndroidApplication) {
119125
val androidExtension = extensions.getByType(AppExtension::class.java)
120126
val mainSourceSet = androidExtension.sourceSets.named(SOURCESET_MAIN_NAME).get()
121-
mainSourceSet.java.srcDirs(sourceSetBaseDir)
127+
mainSourceSet.java.srcDirs(sourceSetBaseDirProperty)
122128
} else if (isAndroidLibrary) {
123129
val androidExtension = extensions.getByType(LibraryExtension::class.java)
124130
val mainSourceSet = androidExtension.sourceSets.named(SOURCESET_MAIN_NAME).get()
125-
mainSourceSet.java.srcDirs(sourceSetBaseDir)
131+
mainSourceSet.java.srcDirs(sourceSetBaseDirProperty)
126132
} else if (isJavaProject) {
127133
val sourceSets = extensions.getByType(SourceSetContainer::class.java)
128134
val mainSourceSet = sourceSets.named(SOURCESET_MAIN_NAME).get()
129-
mainSourceSet.java.srcDirs(sourceSetBaseDir)
135+
mainSourceSet.java.srcDirs(sourceSetBaseDirProperty)
130136
} else {
131137
throw GradleException("Project does not contain any supported plugin")
132138
}

0 commit comments

Comments
 (0)