Skip to content

Commit 840b611

Browse files
authored
Merge pull request #1048 from mikepenz/fix/attempt_improve_config_cach
Investigate config cache support
2 parents c0e0897 + 8a89e84 commit 840b611

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/AboutLibrariesExportComplianceTask.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ package com.mikepenz.aboutlibraries.plugin
22

33
import com.mikepenz.aboutlibraries.plugin.mapping.SpdxLicense
44
import org.gradle.api.file.Directory
5+
import org.gradle.api.file.DirectoryProperty
56
import org.gradle.api.provider.Provider
6-
import org.gradle.api.tasks.Input
7-
import org.gradle.api.tasks.Internal
8-
import org.gradle.api.tasks.Optional
9-
import org.gradle.api.tasks.TaskAction
7+
import org.gradle.api.tasks.*
108
import org.gradle.util.GradleVersion
119
import org.slf4j.LoggerFactory
1210
import java.io.File
@@ -15,19 +13,24 @@ import java.nio.file.StandardCopyOption
1513

1614
abstract class AboutLibrariesExportComplianceTask : BaseAboutLibrariesTask() {
1715

16+
@get:InputDirectory
17+
abstract val projectDirectory: DirectoryProperty
18+
1819
@Input
1920
@Optional
2021
val exportPath: Provider<Directory> = project.providers.gradleProperty("aboutLibraries.exportPath")
21-
.map { path -> project.layout.projectDirectory.dir(path) }
22+
.map { path -> projectDirectory.get().dir(path) }
23+
.orElse(project.providers.gradleProperty("exportPath").map { path ->
24+
projectDirectory.get().dir(path)
25+
})
2226
.orElse(
23-
project.providers.gradleProperty("exportPath").map { path -> project.layout.projectDirectory.dir(path) }
24-
).orElse(
2527
if (GradleVersion.current() < GradleVersion.version("8.8")) {
26-
project.isolated.rootProject.projectDirectory.dir(".")
27-
} else {
2828
LOGGER.info("Fallback to non project isolated safe API for root directory.")
2929
// noinspection GradleProjectIsolation
3030
project.rootProject.layout.projectDirectory.dir(".")
31+
} else {
32+
@Suppress("UnstableApiUsage")
33+
project.isolated.rootProject.projectDirectory.dir(".")
3134
}
3235
)
3336

plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/AboutLibrariesPlugin.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,15 @@ class AboutLibrariesPlugin : Plugin<Project> {
5656
it.variant = project.providers.gradleProperty("aboutLibraries.exportVariant")
5757
.orElse(project.providers.gradleProperty("exportVariant"))
5858

59+
val projectDirectory = project.layout.projectDirectory
60+
val buildDirectory = project.layout.buildDirectory
61+
5962
val exportPath: Provider<Directory> = project.providers.gradleProperty("aboutLibraries.exportPath")
60-
.map { path -> project.layout.projectDirectory.dir(path) }
63+
.map { path -> projectDirectory.dir(path) }
6164
.orElse(
62-
project.providers.gradleProperty("exportPath")
63-
.map { path -> project.layout.projectDirectory.dir(path) }
65+
project.providers.gradleProperty("exportPath").map { path -> projectDirectory.dir(path) }
6466
).orElse(
65-
project.layout.buildDirectory.dir("generated/aboutLibraries/")
67+
buildDirectory.dir("generated/aboutLibraries/")
6668
)
6769
it.resultDirectory.set(exportPath)
6870

plugin-build/plugin/src/main/kotlin/com/mikepenz/aboutlibraries/plugin/AboutLibrariesPluginAndroidExtension.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.mikepenz.aboutlibraries.plugin
33
import org.gradle.api.Project
44
import org.gradle.api.tasks.TaskProvider
55
import org.slf4j.LoggerFactory
6-
import java.util.Locale
6+
import java.util.*
77

88
/**
99
* Android specific extension for the [AboutLibrariesPlugin]
@@ -91,10 +91,11 @@ object AboutLibrariesPluginAndroidExtension {
9191
"exportComplianceLibraries${variant.name.capitalize(Locale.ENGLISH)}",
9292
AboutLibrariesExportComplianceTask::class.java
9393
) {
94-
it.description =
95-
"Writes all libraries with their source and their license in CSV format to the configured directory"
94+
it.description = "Writes all libraries with their source and their license in CSV format to the configured directory"
9695
it.group = "Help"
9796
it.variant = project.provider { variant.name }
97+
it.projectDirectory.set(project.layout.projectDirectory)
98+
9899
it.dependsOn(collectTask)
99100
}
100101
}

0 commit comments

Comments
 (0)