Skip to content

Commit 4891f64

Browse files
committed
chore: reduce the use of Project
1 parent 333cefb commit 4891f64

File tree

17 files changed

+136
-89
lines changed

17 files changed

+136
-89
lines changed

plugins/gettext-plugin/src/main/kotlin/com/github/vlsi/gradle/gettext/BaseGettextTask.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.github.vlsi.gradle.gettext
1818

1919
import org.gradle.api.DefaultTask
20+
import org.gradle.api.file.FileSystemOperations
2021
import org.gradle.api.model.ObjectFactory
2122
import org.gradle.api.tasks.Input
2223
import org.gradle.kotlin.dsl.property
@@ -31,4 +32,7 @@ abstract class BaseGettextTask @Inject constructor(
3132

3233
@get:Inject
3334
protected abstract val execOperations: ExecOperations
35+
36+
@get:Inject
37+
protected abstract val fileSystemOperations: FileSystemOperations
3438
}

plugins/gettext-plugin/src/main/kotlin/com/github/vlsi/gradle/gettext/GettextTask.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
package com.github.vlsi.gradle.gettext
1818

19+
import org.gradle.api.file.DirectoryProperty
20+
import org.gradle.api.file.ProjectLayout
1921
import org.gradle.api.file.RegularFileProperty
2022
import org.gradle.api.model.ObjectFactory
2123
import org.gradle.api.tasks.IgnoreEmptyDirectories
@@ -32,6 +34,7 @@ import org.gradle.kotlin.dsl.setProperty
3234
import javax.inject.Inject
3335

3436
abstract class GettextTask @Inject constructor(
37+
layout: ProjectLayout,
3538
objects: ObjectFactory
3639
) : BaseGettextEditTask(objects) {
3740
@Input
@@ -55,20 +58,24 @@ abstract class GettextTask @Inject constructor(
5558

5659
@OutputFile
5760
val outputPot = objects.fileProperty()
58-
.convention(project.layout.buildDirectory.file("gettext/$name/messages.pot"))
61+
.convention(layout.buildDirectory.file("gettext/$name/messages.pot"))
5962

6063
@get:Internal
6164
protected abstract val inputFilesList: RegularFileProperty
6265

66+
@get:Internal
67+
protected abstract val projectDir: DirectoryProperty
68+
6369
init {
6470
executable.convention("xgettext")
65-
inputFilesList.set(project.layout.buildDirectory.file("gettext/$name/input_files.txt"))
71+
inputFilesList.set(layout.buildDirectory.file("gettext/$name/input_files.txt"))
72+
projectDir.set(layout.projectDirectory)
6673
}
6774

6875
@TaskAction
6976
fun run() {
7077
val inputFilesList = this.inputFilesList.get().asFile
71-
val baseDir = project.projectDir
78+
val baseDir = projectDir.get().asFile
7279
inputFilesList.writer().buffered().use { f ->
7380
sourceFiles.files.forEach {
7481
f.append(it.relativeTo(baseDir).path).append(System.lineSeparator())

plugins/gettext-plugin/src/main/kotlin/com/github/vlsi/gradle/gettext/MsgAttribTask.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.github.vlsi.gradle.gettext
1818

19+
import org.gradle.api.file.FileSystemOperations
1920
import org.gradle.api.file.FileType
2021
import org.gradle.api.model.ObjectFactory
2122
import org.gradle.api.tasks.Input
@@ -63,7 +64,9 @@ abstract class MsgAttribTask @Inject constructor(
6364
val outFile = File(outDir, po.file.name)
6465
if (po.changeType == ChangeType.REMOVED) {
6566
logger.debug("Removing output {}", outFile)
66-
project.delete(outFile)
67+
fileSystemOperations.delete {
68+
delete(outFile)
69+
}
6770
continue
6871
}
6972
logger.debug("Processing {} with {} {}", po.file, cmd, arg)

plugins/gettext-plugin/src/main/kotlin/com/github/vlsi/gradle/gettext/MsgFmtTask.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import java.nio.charset.Charset
3737
import javax.inject.Inject
3838

3939
abstract class MsgFmtTask @Inject constructor(
40-
objects: ObjectFactory
40+
objects: ObjectFactory,
4141
) : BaseGettextTask(objects) {
4242
@InputFiles
4343
@Incremental
@@ -96,11 +96,15 @@ abstract class MsgFmtTask @Inject constructor(
9696
val outFile = File(outDir, outputName)
9797
if (po.changeType == ChangeType.REMOVED) {
9898
logger.debug("Removing output {}", outFile)
99-
project.delete(outFile)
99+
fileSystemOperations.delete {
100+
delete(outFile)
101+
}
100102
continue
101103
}
102104
logger.debug("Processing {} with {} {}", po.file, cmd, arg)
103-
project.delete(tmpDir)
105+
fileSystemOperations.delete {
106+
delete(tmpDir)
107+
}
104108
tmpDir.mkdirs()
105109
execOperations.exec {
106110
executable = cmd

plugins/gettext-plugin/src/main/kotlin/com/github/vlsi/gradle/gettext/MsgMergeTask.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ abstract class MsgMergeTask @Inject constructor(
6868
val outFile = File(outDir, po.file.name)
6969
if (po.changeType == ChangeType.REMOVED) {
7070
logger.debug("Removing output {}", outFile)
71-
project.delete(outFile)
71+
fileSystemOperations.delete {
72+
delete(outFile)
73+
}
7274
continue
7375
}
7476
logger.debug("Processing {} with {} {}", po.file, cmd, arg)

plugins/license-gather-plugin/src/main/kotlin/com/github/vlsi/gradle/license/GatherLicenseTask.kt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ import org.gradle.api.artifacts.Configuration
3434
import org.gradle.api.artifacts.component.ComponentIdentifier
3535
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
3636
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
37+
import org.gradle.api.file.FileSystemOperations
38+
import org.gradle.api.file.ProjectLayout
3739
import org.gradle.api.internal.artifacts.DefaultModuleIdentifier
3840
import org.gradle.api.model.ObjectFactory
3941
import org.gradle.api.provider.Provider
@@ -97,8 +99,10 @@ enum class ErrorLanguage {
9799
KOTLIN, GROOVY, ENGLISH
98100
}
99101

100-
open class GatherLicenseTask @Inject constructor(
101-
objectFactory: ObjectFactory,
102+
abstract class GatherLicenseTask @Inject constructor(
103+
layout: ProjectLayout,
104+
private val objectFactory: ObjectFactory,
105+
private val fileSystemOperations: FileSystemOperations,
102106
private val workerExecutor: WorkerExecutor
103107
) : DefaultTask() {
104108
init {
@@ -169,14 +173,14 @@ open class GatherLicenseTask @Inject constructor(
169173

170174
@OutputDirectory
171175
val licenseDir = objectFactory.directoryProperty().convention(
172-
project.layout.buildDirectory.dir("licenses/$name")
176+
layout.buildDirectory.dir("licenses/$name")
173177
)
174178

175179
@InputFiles
176180
@Optional
177181
@PathSensitive(PathSensitivity.RELATIVE)
178182
val extraLicenseDir = objectFactory.directoryProperty().convention(
179-
project.layout.projectDirectory.dir("licenses")
183+
layout.projectDirectory.dir("licenses")
180184
)
181185

182186
// Used in test
@@ -445,7 +449,9 @@ open class GatherLicenseTask @Inject constructor(
445449
val outDir = outDirectoryName + if (outDirectoryName.endsWith(".jar")) ".contents" else ""
446450
val artLicenseTexts = File(licenseTextDir, outDir)
447451
if (artLicenseTexts.isDirectory) {
448-
project.delete(artLicenseTexts)
452+
fileSystemOperations.delete {
453+
delete(artLicenseTexts)
454+
}
449455
}
450456
val licenseOverride = licenseOverrides[compId]
451457

@@ -470,7 +476,7 @@ open class GatherLicenseTask @Inject constructor(
470476
}
471477

472478
if (licenseFiles != null) {
473-
project.copy {
479+
fileSystemOperations.copy {
474480
into(artLicenseTexts)
475481
from(licenseFiles)
476482
}
@@ -582,7 +588,7 @@ open class GatherLicenseTask @Inject constructor(
582588
continue
583589
}
584590
val bestLicenses =
585-
project.fileTree(licenseDir) {
591+
objectFactory.fileTree().from(licenseDir).matching {
586592
include("**")
587593
}.flatMap { f ->
588594
// For each file take best 5 predictions

plugins/stage-vote-release-plugin/src/main/kotlin/com/github/vlsi/gradle/release/DefaultGitTask.kt

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,42 @@ import com.github.vlsi.gradle.release.jgit.dsl.useRun
2020
import org.ajoberstar.grgit.Grgit
2121
import org.eclipse.jgit.api.Git
2222
import org.gradle.api.DefaultTask
23+
import org.gradle.api.file.DirectoryProperty
24+
import org.gradle.api.file.ProjectLayout
25+
import org.gradle.api.provider.Property
2326
import org.gradle.api.tasks.Internal
24-
import org.gradle.kotlin.dsl.property
27+
import javax.inject.Inject
2528

2629
abstract class DefaultGitTask : DefaultTask() {
27-
@Internal
28-
val repository = project.objects.property<GitConfig>()
30+
@get:Inject
31+
protected abstract val layout: ProjectLayout
2932

30-
@Internal
31-
val repositoryLocation = project.objects.directoryProperty()
32-
.convention(project.layout.buildDirectory.dir(repository.map { it.name }))
33+
@get:Internal
34+
abstract val repository: Property<GitConfig>
35+
36+
@get:Internal
37+
abstract val repositoryLocation: DirectoryProperty
38+
39+
@get:Internal
40+
abstract val rootDir: DirectoryProperty
41+
42+
@get:Internal
43+
protected val grgit = project.property("grgit") as Grgit
3344

3445
init {
3546
// Never up to date
3647
outputs.upToDateWhen { false }
48+
repositoryLocation.convention(
49+
layout.buildDirectory.dir(repository.map { it.name })
50+
)
51+
rootDir.set(project.rootProject.layout.projectDirectory)
3752
}
3853

3954
protected fun <R> jgit(action: Git.() -> R): R {
4055
val location = repositoryLocation.get().asFile
41-
if (location != project.rootDir) {
56+
if (location != rootDir.get().asFile) {
4257
return Git.open(location).useRun(action)
4358
}
44-
val grgit = project.property("grgit") as Grgit
4559
return grgit.repository.jgit.use(action)
4660
}
4761
}

plugins/stage-vote-release-plugin/src/main/kotlin/com/github/vlsi/gradle/release/GitCommitAndPush.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ package com.github.vlsi.gradle.release
1818

1919
import com.github.vlsi.gradle.release.jgit.dsl.*
2020
import org.eclipse.jgit.api.errors.EmptyCommitException
21+
import org.gradle.api.provider.Property
2122
import org.gradle.api.tasks.Input
2223
import org.gradle.api.tasks.TaskAction
2324
import org.gradle.kotlin.dsl.property
2425

25-
open class GitCommitAndPush : DefaultGitTask() {
26-
@Input
27-
val commitMessage = project.objects.property<String>()
26+
abstract class GitCommitAndPush : DefaultGitTask() {
27+
@get:Input
28+
abstract val commitMessage: Property<String>
2829

2930
@TaskAction
3031
fun execute() {

plugins/stage-vote-release-plugin/src/main/kotlin/com/github/vlsi/gradle/release/GitCreateTagTask.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,19 @@ package com.github.vlsi.gradle.release
1818

1919
import com.github.vlsi.gradle.release.jgit.dsl.tag
2020
import org.eclipse.jgit.lib.Constants
21+
import org.gradle.api.provider.Property
2122
import org.gradle.api.tasks.Input
2223
import org.gradle.api.tasks.Optional
2324
import org.gradle.api.tasks.TaskAction
2425
import org.gradle.kotlin.dsl.property
2526

26-
open class GitCreateTagTask : DefaultGitTask() {
27-
@Input
28-
val tag = project.objects.property<String>()
27+
abstract class GitCreateTagTask : DefaultGitTask() {
28+
@get:Input
29+
abstract val tag : Property<String>
2930

30-
@Input
31-
@Optional
32-
val taggedRef = project.objects.property<String>()
31+
@get:Input
32+
@get:Optional
33+
abstract val taggedRef : Property<String>
3334

3435
init {
3536
onlyIf {

plugins/stage-vote-release-plugin/src/main/kotlin/com/github/vlsi/gradle/release/GitPrepareRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import org.eclipse.jgit.util.FileUtils
2323
import org.gradle.api.tasks.OutputDirectory
2424
import org.gradle.api.tasks.TaskAction
2525

26-
open class GitPrepareRepo : DefaultGitTask() {
26+
abstract class GitPrepareRepo : DefaultGitTask() {
2727
// Tell Gradle the directory is output, so it does not clean it on Gradle upgrades
2828
@OutputDirectory
2929
val outputDir = repositoryLocation

0 commit comments

Comments
 (0)