11group ' com.flet.serious_python_android'
2- version ' 0.8.1 '
2+ version ' 0.8.2 '
33
44def python_version = ' 3.12'
55
@@ -82,7 +82,18 @@ task copyBuildDist(type: Copy) {
8282// Loop through abiFilters
8383def packageTasks = []
8484android. defaultConfig. ndk. abiFilters. each { abi ->
85+
86+ def srcDir = System . getenv(' SERIOUS_PYTHON_SITE_PACKAGES' )
87+ if (srcDir == null || srcDir. allWhitespace) {
88+ throw new InvalidUserDataException (" SERIOUS_PYTHON_SITE_PACKAGES environment variable is not set." )
89+ }
90+
8591 packageTasks. add(" zipSitePackages_$abi " )
92+ packageTasks. add(" copyOpt_$abi " )
93+
94+ tasks. register(" jniCleanUp_$abi " , Delete ) {
95+ delete " src/main/jniLibs/$abi "
96+ }
8697
8798 tasks. register(" downloadDistArchive_$abi " , Download ) {
8899 src " https://github.com/flet-dev/python-build/releases/download/v${ python_version} /python-android-dart-${ python_version} -${ abi} .tar.gz"
@@ -91,21 +102,24 @@ android.defaultConfig.ndk.abiFilters.each { abi ->
91102 tasks. register(" untarFile_$abi " , Copy ) {
92103 from tarTree(tasks. named(" downloadDistArchive_$abi " ). get(). dest)
93104 into " src/main/jniLibs/$abi "
94- }
95- tasks. named(" untarFile_$abi " ) {
96- dependsOn " downloadDistArchive_$abi "
105+ dependsOn " jniCleanUp_$abi " , " downloadDistArchive_$abi "
97106 }
98107
99- tasks. register(" zipSitePackages_$abi " , Zip ) {
100- def srcDir = System . getenv(' SERIOUS_PYTHON_SITE_PACKAGES' )
101- if (srcDir != null ) {
102- from fileTree(dir : " $srcDir /$abi " )
103- archiveFileName = " libpythonsitepackages.so"
104- destinationDirectory = file(" src/main/jniLibs/$abi " )
108+ tasks. register(" copyOpt_$abi " , Copy ) {
109+ from fileTree(dir : " $srcDir /$abi /opt" , include : [" **/*.so" ])
110+ into " src/main/jniLibs/$abi "
111+ eachFile {
112+ path = name
105113 }
114+ includeEmptyDirs = false
115+ dependsOn " jniCleanUp_$abi "
106116 }
107- tasks. named(" zipSitePackages_$abi " ) {
108- dependsOn " untarFile_$abi "
117+
118+ tasks. register(" zipSitePackages_$abi " , Zip ) {
119+ from fileTree(dir : " $srcDir /$abi " , exclude : [" opt" ])
120+ archiveFileName = " libpythonsitepackages.so"
121+ destinationDirectory = file(" src/main/jniLibs/$abi " )
122+ dependsOn " jniCleanUp_$abi " , " untarFile_$abi "
109123 }
110124}
111125
0 commit comments