]> git.lizzy.rs Git - minetest.git/blob - build/android/build.gradle
Bump version to 5.1.0
[minetest.git] / build / android / build.gradle
1 buildscript {
2         repositories {
3                 google()
4                 jcenter()
5         }
6         dependencies {
7                 classpath 'com.android.tools.build:gradle:3.4.2'
8         }
9 }
10
11 allprojects {
12         repositories {
13                 google()
14                 jcenter()
15         }
16 }
17
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"
23
24 apply plugin: "com.android.application"
25
26 android {
27         compileSdkVersion 28
28
29         defaultConfig {
30                 versionCode 24
31                 versionName "${System.env.VERSION_STR}.${versionCode}"
32                 minSdkVersion 14
33                 targetSdkVersion 28
34                 applicationId "net.minetest.minetest"
35                 manifestPlaceholders = [package: "net.minetest.minetest", project: project.name]
36                 ndk {
37                         // Specifies the ABI configurations of your native
38                         // libraries Gradle should build and package with your APK.
39                         // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
40                         abiFilters 'armeabi-v7a', 'x86'
41                 }
42         }
43
44         lintOptions {
45                 disable "OldTargetApi", "GoogleAppIndexingWarning"
46         }
47
48         Properties props = new Properties()
49         props.load(new FileInputStream(file("local.properties")))
50
51         if (props.getProperty("keystore") != null) {
52                 signingConfigs {
53                         release {
54                                 storeFile file(props["keystore"])
55                                 storePassword props["keystore.password"]
56                                 keyAlias props["key"]
57                                 keyPassword props["key.password"]
58                         }
59                 }
60
61                 buildTypes {
62                         release {
63                                 signingConfig signingConfigs.release
64                         }
65                 }
66         }
67 }
68
69 task cleanAssets(type: Delete) {
70         delete 'src/main/assets'
71 }
72
73 task copyAssets {
74         dependsOn 'cleanAssets'
75         mkdir "src/main/assets"
76
77         def mtAssetsFolder = "src/main/assets/Minetest"
78         def projRoot = "../.."
79         def gameToCopy = "minetest_game"
80
81         doLast {
82                 mkdir "${mtAssetsFolder}"
83                 mkdir "${mtAssetsFolder}/client"
84                 mkdir "${mtAssetsFolder}/fonts"
85                 mkdir "${mtAssetsFolder}/games"
86                 mkdir "${mtAssetsFolder}/media"
87
88                 copy {
89                         from "${projRoot}/minetest.conf.example", "${projRoot}/README.md" into mtAssetsFolder
90                 }
91                 copy {
92                         from "${projRoot}/doc/lgpl-2.1.txt" into "${mtAssetsFolder}/LICENSE.txt"
93                 }
94                 copy {
95                         from "${projRoot}/builtin" into "${mtAssetsFolder}/builtin"
96                 }
97                 copy {
98                         from "${projRoot}/client/shaders" into "${mtAssetsFolder}/client/shaders"
99                 }
100                 copy {
101                         from "${projRoot}/fonts" include "*.ttf" into "${mtAssetsFolder}/fonts"
102                 }
103                 copy {
104                         from "${projRoot}/games/${gameToCopy}" into "${mtAssetsFolder}/games/${gameToCopy}"
105                 }
106                 copy {
107                         from "${projRoot}/po" into "${mtAssetsFolder}/po"
108                 }
109                 copy {
110                         from "${projRoot}/textures" into "${mtAssetsFolder}/textures"
111                 }
112         }
113 }
114
115 task cleanIconv(type: Delete) {
116         delete 'deps/libiconv'
117 }
118
119 task cleanIrrlicht(type: Delete) {
120         delete 'deps/irrlicht'
121 }
122
123 task cleanLevelDB(type: Delete) {
124         delete 'deps/leveldb'
125 }
126
127 task cleanCURL(type: Delete) {
128         delete 'deps/curl'
129         delete 'deps/curl-' + curl_version
130 }
131
132 task cleanOpenSSL(type: Delete) {
133         delete 'deps/openssl'
134         delete 'deps/openssl-' + openssl_version
135         delete 'deps/openssl-' + openssl_version + '.tar.gz'
136 }
137
138 task cleanOpenAL(type: Delete) {
139         delete 'deps/openal-soft'
140 }
141
142 task cleanFreetype(type: Delete) {
143         delete 'deps/freetype2-android'
144 }
145
146 task cleanOgg(type: Delete) {
147         delete 'deps/libvorbis-libogg-android'
148 }
149
150 task cleanSQLite3(type: Delete) {
151         delete 'deps/sqlite-amalgamation-' + sqlite3_version
152         delete 'deps/sqlite-amalgamation-' + sqlite3_version + '.zip'
153 }
154
155 task cleanAll(type: Delete, dependsOn: [clean, cleanAssets, cleanIconv,
156                 cleanFreetype, cleanIrrlicht, cleanLevelDB, cleanSQLite3, cleanCURL,
157                 cleanOpenSSL, cleanOpenAL, cleanOgg]) {
158         delete 'deps'
159         delete 'gen'
160         delete 'libs'
161         delete 'obj'
162         delete 'bin'
163         delete 'Debug'
164         delete 'and_env'
165 }
166
167 dependencies {
168         implementation 'com.android.support:support-v4:28.0.0'
169 }