mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 01:05:48 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
apply plugin: 'com.android.application'
 | 
						|
android {
 | 
						|
	compileSdkVersion 29
 | 
						|
	buildToolsVersion '29.0.3'
 | 
						|
	ndkVersion '21.1.6352462'
 | 
						|
	defaultConfig {
 | 
						|
		applicationId 'net.minetest.minetest'
 | 
						|
		minSdkVersion 16
 | 
						|
		targetSdkVersion 29
 | 
						|
		versionName "${versionMajor}.${versionMinor}.${versionPatch}"
 | 
						|
		versionCode project.versionCode
 | 
						|
	}
 | 
						|
 | 
						|
	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 {
 | 
						|
				minifyEnabled true
 | 
						|
				signingConfig signingConfigs.release
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	// for multiple APKs
 | 
						|
	splits {
 | 
						|
		abi {
 | 
						|
			enable true
 | 
						|
			reset()
 | 
						|
			include 'armeabi-v7a', 'arm64-v8a'
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	compileOptions {
 | 
						|
		sourceCompatibility JavaVersion.VERSION_1_8
 | 
						|
		targetCompatibility JavaVersion.VERSION_1_8
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
task prepareAssets() {
 | 
						|
	def assetsFolder = "build/assets"
 | 
						|
	def projRoot = "../../.."
 | 
						|
	def gameToCopy = "minetest_game"
 | 
						|
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/minetest.conf.example", "${projRoot}/README.md" into assetsFolder
 | 
						|
	}
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/doc/lgpl-2.1.txt" into "${assetsFolder}"
 | 
						|
	}
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/builtin" into "${assetsFolder}/builtin"
 | 
						|
	}
 | 
						|
	/*copy {
 | 
						|
		// ToDo: fix Minetest shaders that currently don't work with OpenGL ES
 | 
						|
		from "${projRoot}/client/shaders" into "${assetsFolder}/client/shaders"
 | 
						|
	}*/
 | 
						|
	copy {
 | 
						|
		from "../native/deps/Android/Irrlicht/shaders" into "${assetsFolder}/client/shaders/Irrlicht"
 | 
						|
	}
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/fonts" include "*.ttf" into "${assetsFolder}/fonts"
 | 
						|
	}
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/games/${gameToCopy}" into "${assetsFolder}/games/${gameToCopy}"
 | 
						|
	}
 | 
						|
	/*copy {
 | 
						|
		// ToDo: fix broken locales
 | 
						|
		from "${projRoot}/po" into "${assetsFolder}/po"
 | 
						|
	}*/
 | 
						|
	copy {
 | 
						|
		from "${projRoot}/textures" into "${assetsFolder}/textures"
 | 
						|
	}
 | 
						|
 | 
						|
	file("${assetsFolder}/.nomedia").text = "";
 | 
						|
 | 
						|
	task zipAssets(type: Zip) {
 | 
						|
		archiveName "Minetest.zip"
 | 
						|
		from "${assetsFolder}"
 | 
						|
		destinationDir file("src/main/assets")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
preBuild.dependsOn zipAssets
 | 
						|
 | 
						|
// Map for the version code that gives each ABI a value.
 | 
						|
import com.android.build.OutputFile
 | 
						|
 | 
						|
def abiCodes = ['armeabi-v7a': 0, 'arm64-v8a': 1]
 | 
						|
android.applicationVariants.all { variant ->
 | 
						|
	variant.outputs.each {
 | 
						|
		output ->
 | 
						|
			def abiName = output.getFilter(OutputFile.ABI)
 | 
						|
			output.versionCodeOverride = abiCodes.get(abiName, 0) + variant.versionCode
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
	implementation project(':native')
 | 
						|
	implementation 'androidx.appcompat:appcompat:1.1.0'
 | 
						|
}
 |