mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			176 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
buildscript {
 | 
						|
	repositories {
 | 
						|
		google()
 | 
						|
		jcenter()
 | 
						|
	}
 | 
						|
	dependencies {
 | 
						|
		classpath 'com.android.tools.build:gradle:3.5.1'
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
allprojects {
 | 
						|
	repositories {
 | 
						|
		google()
 | 
						|
		jcenter()
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
def curl_version = "7.60.0"
 | 
						|
def irrlicht_revision = "5150"
 | 
						|
def openal_version = "1.18.2"
 | 
						|
def openssl_version = "1.0.2n"
 | 
						|
def sqlite3_version = "3240000"
 | 
						|
 | 
						|
apply plugin: "com.android.application"
 | 
						|
 | 
						|
android {
 | 
						|
	compileSdkVersion 29
 | 
						|
	buildToolsVersion '29.0.2'
 | 
						|
 | 
						|
	defaultConfig {
 | 
						|
		versionCode 25
 | 
						|
		versionName "${System.env.VERSION_STR}.${versionCode}"
 | 
						|
		minSdkVersion 14
 | 
						|
		targetSdkVersion 29
 | 
						|
		applicationId "net.minetest.minetest"
 | 
						|
		manifestPlaceholders = [package: "net.minetest.minetest", project: project.name]
 | 
						|
		ndk {
 | 
						|
			// Specifies the ABI configurations of your native
 | 
						|
			// libraries Gradle should build and package with your APK.
 | 
						|
			// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
 | 
						|
			abiFilters 'armeabi-v7a', 'x86', 'arm64-v8a'
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	compileOptions {
 | 
						|
		sourceCompatibility JavaVersion.VERSION_1_8
 | 
						|
		targetCompatibility JavaVersion.VERSION_1_8
 | 
						|
	}
 | 
						|
 | 
						|
	lintOptions {
 | 
						|
		disable "OldTargetApi", "GoogleAppIndexingWarning"
 | 
						|
	}
 | 
						|
 | 
						|
	Properties props = new Properties()
 | 
						|
	props.load(new FileInputStream(file("local.properties")))
 | 
						|
 | 
						|
	if (props.getProperty("keystore") != null) {
 | 
						|
		signingConfigs {
 | 
						|
			release {
 | 
						|
				storeFile file(props["keystore"])
 | 
						|
				storePassword props["keystore.password"]
 | 
						|
				keyAlias props["key"]
 | 
						|
				keyPassword props["key.password"]
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		buildTypes {
 | 
						|
			release {
 | 
						|
				signingConfig signingConfigs.release
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
task cleanAssets(type: Delete) {
 | 
						|
	delete 'src/main/assets'
 | 
						|
}
 | 
						|
 | 
						|
task copyAssets {
 | 
						|
	dependsOn 'cleanAssets'
 | 
						|
	mkdir "src/main/assets"
 | 
						|
 | 
						|
	def mtAssetsFolder = "src/main/assets/Minetest"
 | 
						|
	def projRoot = "../.."
 | 
						|
	def gameToCopy = "minetest_game"
 | 
						|
 | 
						|
	doLast {
 | 
						|
		mkdir "${mtAssetsFolder}"
 | 
						|
		mkdir "${mtAssetsFolder}/client"
 | 
						|
		mkdir "${mtAssetsFolder}/fonts"
 | 
						|
		mkdir "${mtAssetsFolder}/games"
 | 
						|
		mkdir "${mtAssetsFolder}/media"
 | 
						|
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/minetest.conf.example", "${projRoot}/README.md" into mtAssetsFolder
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/doc/lgpl-2.1.txt" into "${mtAssetsFolder}/LICENSE.txt"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/builtin" into "${mtAssetsFolder}/builtin"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/client/shaders" into "${mtAssetsFolder}/client/shaders"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/fonts" include "*.ttf" into "${mtAssetsFolder}/fonts"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/games/${gameToCopy}" into "${mtAssetsFolder}/games/${gameToCopy}"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/po" into "${mtAssetsFolder}/po"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/textures" into "${mtAssetsFolder}/textures"
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
task cleanIconv(type: Delete) {
 | 
						|
	delete 'deps/libiconv'
 | 
						|
}
 | 
						|
 | 
						|
task cleanIrrlicht(type: Delete) {
 | 
						|
	delete 'deps/irrlicht'
 | 
						|
}
 | 
						|
 | 
						|
task cleanLevelDB(type: Delete) {
 | 
						|
	delete 'deps/leveldb'
 | 
						|
}
 | 
						|
 | 
						|
task cleanCURL(type: Delete) {
 | 
						|
	delete 'deps/curl'
 | 
						|
	delete 'deps/curl-' + curl_version
 | 
						|
}
 | 
						|
 | 
						|
task cleanOpenSSL(type: Delete) {
 | 
						|
	delete 'deps/openssl'
 | 
						|
	delete 'deps/openssl-' + openssl_version
 | 
						|
	delete 'deps/openssl-' + openssl_version + '.tar.gz'
 | 
						|
}
 | 
						|
 | 
						|
task cleanOpenAL(type: Delete) {
 | 
						|
	delete 'deps/openal-soft'
 | 
						|
}
 | 
						|
 | 
						|
task cleanFreetype(type: Delete) {
 | 
						|
	delete 'deps/freetype2-android'
 | 
						|
}
 | 
						|
 | 
						|
task cleanOgg(type: Delete) {
 | 
						|
	delete 'deps/libvorbis-libogg-android'
 | 
						|
}
 | 
						|
 | 
						|
task cleanSQLite3(type: Delete) {
 | 
						|
	delete 'deps/sqlite-amalgamation-' + sqlite3_version
 | 
						|
	delete 'deps/sqlite-amalgamation-' + sqlite3_version + '.zip'
 | 
						|
}
 | 
						|
 | 
						|
task cleanAll(type: Delete, dependsOn: [clean, cleanAssets, cleanIconv,
 | 
						|
		cleanFreetype, cleanIrrlicht, cleanLevelDB, cleanSQLite3, cleanCURL,
 | 
						|
		cleanOpenSSL, cleanOpenAL, cleanOgg]) {
 | 
						|
	delete 'deps'
 | 
						|
	delete 'gen'
 | 
						|
	delete 'libs'
 | 
						|
	delete 'obj'
 | 
						|
	delete 'bin'
 | 
						|
	delete 'Debug'
 | 
						|
	delete 'and_env'
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
	implementation 'androidx.core:core:1.1.0'
 | 
						|
}
 |