1
1
group ' com.flet.serious_python_android'
2
- version ' 0.8.1 '
2
+ version ' 0.8.2 '
3
3
4
4
def python_version = ' 3.12'
5
5
@@ -82,7 +82,18 @@ task copyBuildDist(type: Copy) {
82
82
// Loop through abiFilters
83
83
def packageTasks = []
84
84
android. 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
+
85
91
packageTasks. add(" zipSitePackages_$abi " )
92
+ packageTasks. add(" copyOpt_$abi " )
93
+
94
+ tasks. register(" jniCleanUp_$abi " , Delete ) {
95
+ delete " src/main/jniLibs/$abi "
96
+ }
86
97
87
98
tasks. register(" downloadDistArchive_$abi " , Download ) {
88
99
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 ->
91
102
tasks. register(" untarFile_$abi " , Copy ) {
92
103
from tarTree(tasks. named(" downloadDistArchive_$abi " ). get(). dest)
93
104
into " src/main/jniLibs/$abi "
94
- }
95
- tasks. named(" untarFile_$abi " ) {
96
- dependsOn " downloadDistArchive_$abi "
105
+ dependsOn " jniCleanUp_$abi " , " downloadDistArchive_$abi "
97
106
}
98
107
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
105
113
}
114
+ includeEmptyDirs = false
115
+ dependsOn " jniCleanUp_$abi "
106
116
}
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 "
109
123
}
110
124
}
111
125
0 commit comments