029dee4b1d05a5065d7acae6581ab41aca7591ae
[oweals/minetest.git] / build / android / build.gradle
1 buildscript {
2         repositories {
3                 maven { url 'https://maven.google.com' }
4                 jcenter()
5         }
6         dependencies {
7                 classpath 'com.android.tools.build:gradle:3.1.3'
8         }
9 }
10
11 allprojects {
12         repositories {
13                 maven { url 'https://maven.google.com' }
14                 jcenter()
15         }
16 }
17
18 def curl_version = "7.60.0"
19 def gmp_version = "6.1.2"
20 def irrlicht_revision = "5150"
21 def openal_version = "1.18.2"
22 def openssl_version = "1.0.2n"
23 def sqlite3_version = "3240000"
24
25 apply plugin: "com.android.application"
26
27 android {
28         compileSdkVersion 28
29         buildToolsVersion "28.0.3"
30
31         defaultConfig {
32                 versionCode 21
33                 versionName "${System.env.VERSION_STR}.${versionCode}"
34                 minSdkVersion 14
35                 targetSdkVersion 28
36                 applicationId "net.minetest.minetest"
37                 manifestPlaceholders = [package: "net.minetest.minetest", project: project.name]
38                 ndk {
39                         // Specifies the ABI configurations of your native
40                         // libraries Gradle should build and package with your APK.
41                         // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
42                         abiFilters 'armeabi-v7a', 'x86'
43                 }
44         }
45
46         lintOptions {
47                 disable "OldTargetApi", "GoogleAppIndexingWarning"
48         }
49
50         Properties props = new Properties()
51         props.load(new FileInputStream(file("local.properties")))
52
53         if (props.getProperty("keystore") != null) {
54                 signingConfigs {
55                         release {
56                                 storeFile file(props["keystore"])
57                                 storePassword props["keystore.password"]
58                                 keyAlias props["key"]
59                                 keyPassword props["key.password"]
60                         }
61                 }
62
63                 buildTypes {
64                         release {
65                                 signingConfig signingConfigs.release
66                         }
67                 }
68         }
69 }
70
71 task cleanAssets(type: Delete) {
72         delete 'src/main/assets'
73 }
74
75 task cleanIconv(type: Delete) {
76         delete 'deps/libiconv'
77 }
78
79 task cleanIrrlicht(type: Delete) {
80         delete 'deps/irrlicht'
81 }
82
83 task cleanLevelDB(type: Delete) {
84         delete 'deps/leveldb'
85 }
86
87 task cleanCURL(type: Delete) {
88         delete 'deps/curl'
89         delete 'deps/curl-' + curl_version
90 }
91
92 task cleanOpenSSL(type: Delete) {
93         delete 'deps/openssl'
94         delete 'deps/openssl-' + openssl_version
95         delete 'deps/openssl-' + openssl_version + '.tar.gz'
96 }
97
98 task cleanOpenAL(type: Delete) {
99         delete 'deps/openal-soft'
100 }
101
102 task cleanFreetype(type: Delete) {
103         delete 'deps/freetype2-android'
104 }
105
106 task cleanOgg(type: Delete) {
107         delete 'deps/libvorbis-libogg-android'
108 }
109
110 task cleanSQLite3(type: Delete) {
111         delete 'deps/sqlite-amalgamation-' + sqlite3_version
112         delete 'deps/sqlite-amalgamation-' + sqlite3_version + '.zip'
113 }
114
115 task cleanGMP(type: Delete) {
116         delete 'deps/gmp'
117         delete 'deps/gmp-' + gmp_version
118 }
119
120 task cleanAll(type: Delete, dependsOn: [clean, cleanAssets, cleanIconv,
121                                                                                 cleanFreetype, cleanIrrlicht, cleanLevelDB, cleanSQLite3, cleanCURL,
122                                                                                 cleanOpenSSL, cleanOpenAL, cleanOgg, cleanGMP]) {
123         delete 'deps'
124         delete 'gen'
125         delete 'libs'
126         delete 'obj'
127         delete 'bin'
128         delete 'Debug'
129         delete 'and_env'
130 }
131
132 dependencies {
133         implementation 'com.android.support:support-v4:28.0.0'
134 }