You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

download.gradle 3.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /**
  2. * To download necessary library from HuaWei server.
  3. * Including mindspore-lite .so file, minddata-lite .so file and model file.
  4. * The libraries can be downloaded manually.
  5. */
  6. def targetModelFile = "src/main/assets/mobilenetv2.ms"
  7. def modelDownloadUrl = "https://download.mindspore.cn/model_zoo/official/lite/quick_start/mobilenetv2.ms"
  8. def mindsporeLite_Version = "mindspore-lite-1.2.0-android-aarch64"
  9. def mindsporeLite_Version_AAR = "mindspore-lite-maven-1.2.0"
  10. def mindsporeLiteDownloadUrl = "https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0/MindSpore/lite/release/android/gpu/${mindsporeLite_Version}.tar.gz"
  11. def targetRoot = "libs/"
  12. def mindSporeLibrary = "${targetRoot}${mindsporeLite_Version}.tar.gz"
  13. def mindSporeLibraryAAR = "${targetRoot}${mindsporeLite_Version}/${mindsporeLite_Version_AAR}.zip"
  14. def cleantargetMindSporeInclude = "${targetRoot}${mindsporeLite_Version}"
  15. def cleantargetMindSporeIncludeAAR = "${targetRoot}mindspore"
  16. task downloadModelFile(type: DownloadUrlTask) {
  17. doFirst {
  18. println "Downloading ${modelDownloadUrl}"
  19. }
  20. sourceUrl = "${modelDownloadUrl}"
  21. target = file("${targetModelFile}")
  22. }
  23. task downloadMindSporeLibrary(type: DownloadUrlTask) {
  24. doFirst {
  25. println "Downloading ${mindsporeLiteDownloadUrl}"
  26. }
  27. sourceUrl = "${mindsporeLiteDownloadUrl}"
  28. target = file("${mindSporeLibrary}")
  29. }
  30. task unzipMindSporeInclude(type: Copy, dependsOn: ['downloadMindSporeLibrary']) {
  31. doFirst {
  32. println "Unzipping ${mindSporeLibrary}"
  33. }
  34. from tarTree(resources.gzip("${mindSporeLibrary}"))
  35. into "${targetRoot}"
  36. }
  37. task unzipMindSporeIncludeAAR(type: Copy, dependsOn: ['unzipMindSporeInclude']) {
  38. doFirst {
  39. println "Unzipping ${mindSporeLibraryAAR}"
  40. }
  41. from zipTree("${mindSporeLibraryAAR}")
  42. into "${targetRoot}"
  43. }
  44. task copyAARToRoot(type: Copy, dependsOn: ['unzipMindSporeIncludeAAR']) {
  45. from('libs/mindspore/mindspore-lite/1.2.0/mindspore-lite-1.2.0.aar')
  46. into "${targetRoot}"
  47. }
  48. task cleanUnusedmindsporeFiles(type: Delete, dependsOn: ['copyAARToRoot']) {
  49. delete fileTree("${targetRoot}").matching {
  50. include "*.tar.gz"
  51. }
  52. }
  53. task cleanUnuseFiles(type: Delete, dependsOn: ['cleanUnusedmindsporeFiles']) {
  54. delete("${cleantargetMindSporeInclude}")
  55. }
  56. task cleanUnuseFileAAR(type: Delete, dependsOn: ['cleanUnuseFiles']) {
  57. delete("${cleantargetMindSporeIncludeAAR}")
  58. }
  59. if (file("libs/mindspore-lite-1.2.0.aar").exists()) {
  60. downloadMindSporeLibrary.enabled = false
  61. unzipMindSporeInclude.enabled = false
  62. unzipMindSporeIncludeAAR.enabled = false
  63. cleanUnuseFiles.enabled = false
  64. cleanUnuseFileAAR.enabled = false
  65. cleanUnusedmindsporeFiles.enabled = false
  66. copyAARToRoot.enabled = false
  67. }
  68. if (file("src/main/assets/mobilenetv2.ms").exists()) {
  69. downloadModelFile.enabled = false
  70. }
  71. preBuild.dependsOn downloadModelFile
  72. preBuild.dependsOn downloadMindSporeLibrary
  73. preBuild.dependsOn unzipMindSporeInclude
  74. preBuild.dependsOn unzipMindSporeIncludeAAR
  75. preBuild.dependsOn copyAARToRoot
  76. preBuild.dependsOn cleanUnusedmindsporeFiles
  77. preBuild.dependsOn cleanUnuseFiles
  78. preBuild.dependsOn cleanUnuseFileAAR
  79. class DownloadUrlTask extends DefaultTask {
  80. @Input
  81. String sourceUrl
  82. @OutputFile
  83. File target
  84. @TaskAction
  85. void download() {
  86. ant.get(src: sourceUrl, dest: target)
  87. }
  88. }