Skip to content

Commit 1cfe856

Browse files
committed
build: only include relevant directories as outputs
1 parent b164179 commit 1cfe856

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

ffmpeg/build.gradle.kts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ val withGPL: Boolean = findProperty("ffmpeg.gpl").toString().toBoolean()
2626
val platformExtension = "-gpl".takeIf { withGPL }.orEmpty()
2727
val platformString = findProperty("ffmpeg.platform")?.toString()
2828
val platform = platformString?.let { Platform(it, platformExtension) } ?: NativePlatform.platform(platformExtension)
29+
val compileDir = layout.projectDirectory.dir("cppbuild/${platform}")
2930

3031
val compileNative = if (deployNative) {
3132
tasks.register<Exec>("compileNative") {
@@ -44,7 +45,10 @@ val compileNative = if (deployNative) {
4445
inputs.files(layout.projectDirectory.files("cppbuild.sh"))
4546
inputs.files(layout.projectDirectory.files("*.patch"))
4647
inputs.files(layout.projectDirectory.files("*.diff"))
47-
outputs.dir(layout.projectDirectory.dir("cppbuild/${platform}"))
48+
outputs.dir(compileDir.dir("bin"))
49+
outputs.dir(compileDir.dir("include"))
50+
outputs.dir(compileDir.dir("lib"))
51+
outputs.dir(compileDir.dir("share"))
4852
outputs.cacheIf { true }
4953
}
5054
} else null
@@ -57,17 +61,15 @@ fun AbstractCopyTask.licenses() {
5761

5862
val nativesJar = if (deployNative) {
5963
tasks.register<Jar>("nativesJar") {
64+
dependsOn(compileNative)
6065
// Required for configuration cache
6166
val platform =
6267
platformString?.let { Platform(it, platformExtension) } ?: NativePlatform.platform(platformExtension)
6368

64-
from(compileNative!!.get().outputs.files) {
65-
include("lib/*.so")
66-
include("lib/*.dll")
67-
include("lib/*.dylib")
68-
eachFile {
69-
path = "natives/$platform/$name"
70-
}
69+
from(compileDir.dir("lib")) {
70+
include("*.so")
71+
include("*.dll")
72+
include("*.dylib")
7173
into("natives/$platform/")
7274
}
7375
licenses()
@@ -76,7 +78,8 @@ val nativesJar = if (deployNative) {
7678

7779
val zipBuild = if (deployNative) {
7880
tasks.register<Zip>("zipBuild") {
79-
from(compileNative!!.get().outputs.files) {
81+
dependsOn(compileNative)
82+
from(compileDir) {
8083
include("bin/**/*")
8184
include("include/**/*")
8285
include("lib/**/*")

0 commit comments

Comments
 (0)