Skip to content

Commit fcbf12d

Browse files
authored
Merge pull request #210 from rainyl/android-build
check libs for android
2 parents 1bedc52 + dcbadc4 commit fcbf12d

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

android/build.gradle

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,39 +68,47 @@ android {
6868
}
6969

7070
def SOURCE_DIR = project.buildscript.sourceFile.parentFile
71+
def CACHE_DIR = SOURCE_DIR.parentFile
7172
def CVD_VERSION = new File("${project.buildscript.sourceFile.parentFile.parentFile}/binary.version").text
7273
def CVD_LIB_URL_BASE = "https://github.com/rainyl/opencv_dart/releases/download"
7374
def ARCHS = ['x86_64', 'arm64-v8a', 'armeabi-v7a']
7475

7576
task downloadLibs(type: Download) {
76-
println "Downloading opencv_dart libraries..."
77+
println "[opencv_dart] Downloading libraries..."
7778
def SRC_URLS = ARCHS.collect { ARCH ->
7879
"${CVD_LIB_URL_BASE}/v${CVD_VERSION}/libopencv_dart-android-${ARCH}.tar.gz"
7980
}
8081
src(SRC_URLS)
81-
dest SOURCE_DIR
82+
dest CACHE_DIR
8283
overwrite false
8384
}
8485

8586
ARCHS.each { arch ->
8687
def extractTaskName = "opencv_dart_extract_libs_${arch}"
8788
task(extractTaskName, type: Copy) {
88-
from tarTree(resources.gzip("${SOURCE_DIR}/libopencv_dart-android-${arch}.tar.gz"))
89-
into "${SOURCE_DIR}/src/main/jniLibs/${arch}"
89+
def targetDir = new File("${SOURCE_DIR}/src/main/jniLibs/${arch}")
90+
onlyIf {
91+
!file("${targetDir}/libopencv_dart.so").exists()
92+
}
93+
from tarTree(resources.gzip("${CACHE_DIR}/libopencv_dart-android-${arch}.tar.gz"))
94+
into targetDir
9095
}
9196
}
9297

9398
task extractLibs(dependsOn: downloadLibs) {
94-
println "Extracting opencv_dart libraries..."
99+
println "[opencv_dart] Extracting libraries..."
95100
ARCHS.each { arch ->
96101
finalizedBy "opencv_dart_extract_libs_${arch}"
97102
}
103+
doLast {
104+
println "[opencv_dart] Extract finished."
105+
}
98106
}
99107

100-
def OPENCV_DART_DISABLE_AUTO_BUILD=System.env.OPENCV_DART_DISABLE_AUTO_BUILD ?: null
108+
def OPENCV_DART_DISABLE_AUTO_BUILD = System.env.OPENCV_DART_DISABLE_AUTO_BUILD ?: null
101109
if (OPENCV_DART_DISABLE_AUTO_BUILD != null) {
102-
println "Found OPENCV_DART_DISABLE_AUTO_BUILD, skip auto build"
110+
println "[opencv_dart] Found OPENCV_DART_DISABLE_AUTO_BUILD, skip auto build"
103111
} else {
104-
println "OPENCV_DART_DISABLE_AUTO_BUILD is not set, running OpenCV setup"
112+
println "[opencv_dart] OPENCV_DART_DISABLE_AUTO_BUILD is not set, running setup"
105113
preBuild.dependsOn extractLibs
106114
}

0 commit comments

Comments
 (0)