@@ -68,39 +68,47 @@ android {
68
68
}
69
69
70
70
def SOURCE_DIR = project. buildscript. sourceFile. parentFile
71
+ def CACHE_DIR = SOURCE_DIR . parentFile
71
72
def CVD_VERSION = new File (" ${ project.buildscript.sourceFile.parentFile.parentFile} /binary.version" ). text
72
73
def CVD_LIB_URL_BASE = " https://github.com/rainyl/opencv_dart/releases/download"
73
74
def ARCHS = [' x86_64' , ' arm64-v8a' , ' armeabi-v7a' ]
74
75
75
76
task downloadLibs (type : Download ) {
76
- println " Downloading opencv_dart libraries..."
77
+ println " [ opencv_dart] Downloading libraries..."
77
78
def SRC_URLS = ARCHS . collect { ARCH ->
78
79
" ${ CVD_LIB_URL_BASE} /v${ CVD_VERSION} /libopencv_dart-android-${ ARCH} .tar.gz"
79
80
}
80
81
src(SRC_URLS )
81
- dest SOURCE_DIR
82
+ dest CACHE_DIR
82
83
overwrite false
83
84
}
84
85
85
86
ARCHS . each { arch ->
86
87
def extractTaskName = " opencv_dart_extract_libs_${ arch} "
87
88
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
90
95
}
91
96
}
92
97
93
98
task extractLibs (dependsOn : downloadLibs) {
94
- println " Extracting opencv_dart libraries..."
99
+ println " [ opencv_dart] Extracting libraries..."
95
100
ARCHS . each { arch ->
96
101
finalizedBy " opencv_dart_extract_libs_${ arch} "
97
102
}
103
+ doLast {
104
+ println " [opencv_dart] Extract finished."
105
+ }
98
106
}
99
107
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
101
109
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"
103
111
} 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"
105
113
preBuild. dependsOn extractLibs
106
114
}
0 commit comments