@@ -26,6 +26,7 @@ val withGPL: Boolean = findProperty("ffmpeg.gpl").toString().toBoolean()
26
26
val platformExtension = " -gpl" .takeIf { withGPL }.orEmpty()
27
27
val platformString = findProperty(" ffmpeg.platform" )?.toString()
28
28
val platform = platformString?.let { Platform (it, platformExtension) } ? : NativePlatform .platform(platformExtension)
29
+ val compileDir = layout.projectDirectory.dir(" cppbuild/${platform} " )
29
30
30
31
val compileNative = if (deployNative) {
31
32
tasks.register<Exec >(" compileNative" ) {
@@ -44,7 +45,10 @@ val compileNative = if (deployNative) {
44
45
inputs.files(layout.projectDirectory.files(" cppbuild.sh" ))
45
46
inputs.files(layout.projectDirectory.files(" *.patch" ))
46
47
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" ))
48
52
outputs.cacheIf { true }
49
53
}
50
54
} else null
@@ -57,17 +61,15 @@ fun AbstractCopyTask.licenses() {
57
61
58
62
val nativesJar = if (deployNative) {
59
63
tasks.register<Jar >(" nativesJar" ) {
64
+ dependsOn(compileNative)
60
65
// Required for configuration cache
61
66
val platform =
62
67
platformString?.let { Platform (it, platformExtension) } ? : NativePlatform .platform(platformExtension)
63
68
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" )
71
73
into(" natives/$platform /" )
72
74
}
73
75
licenses()
@@ -76,7 +78,8 @@ val nativesJar = if (deployNative) {
76
78
77
79
val zipBuild = if (deployNative) {
78
80
tasks.register<Zip >(" zipBuild" ) {
79
- from(compileNative!! .get().outputs.files) {
81
+ dependsOn(compileNative)
82
+ from(compileDir) {
80
83
include(" bin/**/*" )
81
84
include(" include/**/*" )
82
85
include(" lib/**/*" )
0 commit comments