7 classpath 'com.android.tools.build:gradle:3.5.1'
18 def curl_version = "7.60.0"
19 def irrlicht_revision = "5150"
20 def openal_version = "1.18.2"
21 def openssl_version = "1.0.2n"
22 def sqlite3_version = "3240000"
24 apply plugin: "com.android.application"
28 buildToolsVersion '29.0.2'
32 versionName "${System.env.VERSION_STR}.${versionCode}"
35 applicationId "net.minetest.minetest"
36 manifestPlaceholders = [package: "net.minetest.minetest", project: project.name]
38 // Specifies the ABI configurations of your native
39 // libraries Gradle should build and package with your APK.
40 // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
41 abiFilters 'armeabi-v7a', 'x86'
46 sourceCompatibility JavaVersion.VERSION_1_8
47 targetCompatibility JavaVersion.VERSION_1_8
51 disable "OldTargetApi", "GoogleAppIndexingWarning"
54 Properties props = new Properties()
55 props.load(new FileInputStream(file("local.properties")))
57 if (props.getProperty("keystore") != null) {
60 storeFile file(props["keystore"])
61 storePassword props["keystore.password"]
63 keyPassword props["key.password"]
69 signingConfig signingConfigs.release
75 task cleanAssets(type: Delete) {
76 delete 'src/main/assets'
80 dependsOn 'cleanAssets'
81 mkdir "src/main/assets"
83 def mtAssetsFolder = "src/main/assets/Minetest"
84 def projRoot = "../.."
85 def gameToCopy = "minetest_game"
88 mkdir "${mtAssetsFolder}"
89 mkdir "${mtAssetsFolder}/client"
90 mkdir "${mtAssetsFolder}/fonts"
91 mkdir "${mtAssetsFolder}/games"
92 mkdir "${mtAssetsFolder}/media"
95 from "${projRoot}/minetest.conf.example", "${projRoot}/README.md" into mtAssetsFolder
98 from "${projRoot}/doc/lgpl-2.1.txt" into "${mtAssetsFolder}/LICENSE.txt"
101 from "${projRoot}/builtin" into "${mtAssetsFolder}/builtin"
104 from "${projRoot}/client/shaders" into "${mtAssetsFolder}/client/shaders"
107 from "${projRoot}/fonts" include "*.ttf" into "${mtAssetsFolder}/fonts"
110 from "${projRoot}/games/${gameToCopy}" into "${mtAssetsFolder}/games/${gameToCopy}"
113 from "${projRoot}/po" into "${mtAssetsFolder}/po"
116 from "${projRoot}/textures" into "${mtAssetsFolder}/textures"
121 task cleanIconv(type: Delete) {
122 delete 'deps/libiconv'
125 task cleanIrrlicht(type: Delete) {
126 delete 'deps/irrlicht'
129 task cleanLevelDB(type: Delete) {
130 delete 'deps/leveldb'
133 task cleanCURL(type: Delete) {
135 delete 'deps/curl-' + curl_version
138 task cleanOpenSSL(type: Delete) {
139 delete 'deps/openssl'
140 delete 'deps/openssl-' + openssl_version
141 delete 'deps/openssl-' + openssl_version + '.tar.gz'
144 task cleanOpenAL(type: Delete) {
145 delete 'deps/openal-soft'
148 task cleanFreetype(type: Delete) {
149 delete 'deps/freetype2-android'
152 task cleanOgg(type: Delete) {
153 delete 'deps/libvorbis-libogg-android'
156 task cleanSQLite3(type: Delete) {
157 delete 'deps/sqlite-amalgamation-' + sqlite3_version
158 delete 'deps/sqlite-amalgamation-' + sqlite3_version + '.zip'
161 task cleanAll(type: Delete, dependsOn: [clean, cleanAssets, cleanIconv,
162 cleanFreetype, cleanIrrlicht, cleanLevelDB, cleanSQLite3, cleanCURL,
163 cleanOpenSSL, cleanOpenAL, cleanOgg]) {
174 implementation 'androidx.core:core:1.1.0'