|
- /**
- * To download necessary library from HuaWei server.
- * Including mindspore-lite .so file, minddata-lite .so file and model file.
- * The libraries can be downloaded manually.
- */
- def targetModelFile = "src/main/assets/mobilenetv2.ms"
- def modelDownloadUrl = "https://download.mindspore.cn/model_zoo/official/lite/mobilenetv2_imagenet/mobilenetv2.ms"
-
- def mindsporeLite_Version = "mindspore-lite-1.1.0-inference-android"
- def mindsporeLite_Version_AAR = "mindspore-lite-maven-1.1.0"
-
- def mindsporeLiteDownloadUrl = "https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.1.0/MindSpore/lite/release/android/${mindsporeLite_Version}.tar.gz"
-
- def targetRoot = "libs/"
- def mindSporeLibrary = "${targetRoot}${mindsporeLite_Version}.tar.gz"
- def mindSporeLibraryAAR = "${targetRoot}${mindsporeLite_Version}/${mindsporeLite_Version_AAR}.zip"
-
- def cleantargetMindSporeInclude = "${targetRoot}${mindsporeLite_Version}"
- def cleantargetMindSporeIncludeAAR = "${targetRoot}mindspore"
-
-
- task downloadModelFile(type: DownloadUrlTask) {
- doFirst {
- println "Downloading ${modelDownloadUrl}"
- }
- sourceUrl = "${modelDownloadUrl}"
- target = file("${targetModelFile}")
- }
-
-
- task downloadMindSporeLibrary(type: DownloadUrlTask) {
- doFirst {
- println "Downloading ${mindsporeLiteDownloadUrl}"
- }
- sourceUrl = "${mindsporeLiteDownloadUrl}"
- target = file("${mindSporeLibrary}")
- }
-
- task unzipMindSporeInclude(type: Copy, dependsOn: ['downloadMindSporeLibrary']) {
- doFirst {
- println "Unzipping ${mindSporeLibrary}"
- }
- from tarTree(resources.gzip("${mindSporeLibrary}"))
- into "${targetRoot}"
- }
-
-
- task unzipMindSporeIncludeAAR(type: Copy, dependsOn: ['unzipMindSporeInclude']) {
- doFirst {
- println "Unzipping ${mindSporeLibraryAAR}"
- }
- from zipTree("${mindSporeLibraryAAR}")
- into "${targetRoot}"
- }
-
- task copyAARToRoot(type: Copy, dependsOn: ['unzipMindSporeIncludeAAR']) {
- from('libs/mindspore/mindspore-lite/1.1.0/mindspore-lite-1.1.0.aar')
- into "${targetRoot}"
- }
-
- task cleanUnusedmindsporeFiles(type: Delete, dependsOn: ['copyAARToRoot']) {
- delete fileTree("${targetRoot}").matching {
- include "*.tar.gz"
- }
- }
-
- task cleanUnuseFiles(type: Delete, dependsOn: ['cleanUnusedmindsporeFiles']) {
- delete("${cleantargetMindSporeInclude}")
- }
-
- task cleanUnuseFileAAR(type: Delete, dependsOn: ['cleanUnuseFiles']) {
- delete("${cleantargetMindSporeIncludeAAR}")
- }
-
-
- if (file("libs/mindspore-lite-1.1.0.aar").exists()) {
- downloadMindSporeLibrary.enabled = false
- unzipMindSporeInclude.enabled = false
- unzipMindSporeIncludeAAR.enabled = false
- cleanUnuseFiles.enabled = false
- cleanUnuseFileAAR.enabled = false
- cleanUnusedmindsporeFiles.enabled = false
- copyAARToRoot.enabled = false
- }
-
-
- if (file("src/main/assets/mobilenetv2.ms").exists()) {
- downloadModelFile.enabled = false
- }
-
- preBuild.dependsOn downloadModelFile
- preBuild.dependsOn downloadMindSporeLibrary
- preBuild.dependsOn unzipMindSporeInclude
- preBuild.dependsOn unzipMindSporeIncludeAAR
- preBuild.dependsOn copyAARToRoot
- preBuild.dependsOn cleanUnusedmindsporeFiles
- preBuild.dependsOn cleanUnuseFiles
- preBuild.dependsOn cleanUnuseFileAAR
-
-
- class DownloadUrlTask extends DefaultTask {
- @Input
- String sourceUrl
-
- @OutputFile
- File target
-
- @TaskAction
- void download() {
- ant.get(src: sourceUrl, dest: target)
- }
- }
|