aboutsummaryrefslogtreecommitdiff
path: root/android/native/build.gradle
blob: 90e4fe2e77e9749af1fbfb560640bcba7cd1595d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
apply plugin: 'com.android.library'
apply plugin: 'de.undercouch.download'

android {
	compileSdkVersion 30
	buildToolsVersion '30.0.3'
	ndkVersion "$ndk_version"
	defaultConfig {
		minSdkVersion 16
		targetSdkVersion 30
		externalNativeBuild {
			ndkBuild {
				arguments '-j' + Runtime.getRuntime().availableProcessors(),
						"versionMajor=${versionMajor}",
						"versionMinor=${versionMinor}",
						"versionPatch=${versionPatch}",
						"versionExtra=${versionExtra}",
						"developmentBuild=${developmentBuild}"
			}
		}
	}

	externalNativeBuild {
		ndkBuild {
			path file('jni/Android.mk')
		}
	}

	// supported architectures
	splits {
		abi {
			enable true
			reset()
			include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
		}
	}

	buildTypes {
		release {
			externalNativeBuild {
				ndkBuild {
					arguments 'NDEBUG=1'
				}
			}

			ndk {
				debugSymbolLevel 'SYMBOL_TABLE'
			}
		}
	}
}

// get precompiled deps
task downloadDeps(type: Download) {
	src 'https://github.com/minetest/minetest_android_deps/releases/download/latest/deps.zip'
	dest new File(buildDir, 'deps.zip')
	overwrite false
}

task getDeps(dependsOn: downloadDeps, type: Copy) {
	def deps = new File(buildDir.parent, 'deps')
	if (!deps.exists()) {
		deps.mkdir()
		from zipTree(downloadDeps.dest)
		into deps
	}
}

preBuild.dependsOn getDeps