mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	The new header intentionally isn't in MTG stone design (or any other MTG-esque design), since we want to distance Luanti and MTG from each other. The font "undefined medium" (https://undefined-medium.com/) was used. ASCII art generated by https://patorjk.com/software/taag/#p=display&f=Graffiti&t=luanti https://github.com/minetest/minetest/pull/11952#issuecomment-1013364703 --------- Co-authored-by: sfan5 <sfan5@live.de>
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
apply plugin: 'com.android.application'
 | 
						|
 | 
						|
android {
 | 
						|
	ndkVersion "$ndk_version"
 | 
						|
	defaultConfig {
 | 
						|
		applicationId 'net.minetest.minetest'
 | 
						|
		minSdkVersion 21
 | 
						|
		compileSdk 34
 | 
						|
		targetSdkVersion 34
 | 
						|
		versionName "${versionMajor}.${versionMinor}.${versionPatch}"
 | 
						|
		versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
 | 
						|
	}
 | 
						|
 | 
						|
	buildFeatures {
 | 
						|
		buildConfig true
 | 
						|
	}
 | 
						|
 | 
						|
	// load properties
 | 
						|
	Properties props = new Properties()
 | 
						|
	def propfile = file('../local.properties')
 | 
						|
	if (propfile.exists())
 | 
						|
		props.load(new FileInputStream(propfile))
 | 
						|
 | 
						|
	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', 'x86', 'x86_64'
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	compileOptions {
 | 
						|
		sourceCompatibility JavaVersion.VERSION_1_8
 | 
						|
		targetCompatibility JavaVersion.VERSION_1_8
 | 
						|
	}
 | 
						|
	namespace 'net.minetest.minetest'
 | 
						|
}
 | 
						|
 | 
						|
task prepareAssets() {
 | 
						|
	def assetsFolder = "build/assets"
 | 
						|
	def projRoot = rootDir.parent
 | 
						|
 | 
						|
	// See issue #4638
 | 
						|
	def unsupportedLanguages = new File("${projRoot}/src/unsupported_language_list.txt").text.readLines()
 | 
						|
 | 
						|
	doFirst {
 | 
						|
		logger.lifecycle('Preparing assets at {}', assetsFolder)
 | 
						|
	}
 | 
						|
	doLast {
 | 
						|
		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 {
 | 
						|
			from "${projRoot}/client/shaders" into "${assetsFolder}/client/shaders"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/irr/media/Shaders" into "${assetsFolder}/client/shaders/Irrlicht"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/fonts" include "*.ttf" into "${assetsFolder}/fonts"
 | 
						|
		}
 | 
						|
		copy {
 | 
						|
			from "${projRoot}/textures/base/pack" into "${assetsFolder}/textures/base/pack"
 | 
						|
		}
 | 
						|
 | 
						|
		// compile translations
 | 
						|
		fileTree("${projRoot}/po").include("**/*.po").grep {
 | 
						|
			it.parentFile.name !in unsupportedLanguages
 | 
						|
		}.forEach { poFile ->
 | 
						|
			def moPath = "${assetsFolder}/locale/${poFile.parentFile.name}/LC_MESSAGES/"
 | 
						|
			file(moPath).mkdirs()
 | 
						|
			exec {
 | 
						|
				commandLine 'msgfmt', '-o', "${moPath}/luanti.mo", poFile
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		file("${assetsFolder}/.nomedia").text = ""
 | 
						|
	}
 | 
						|
 | 
						|
	task zipAssets(dependsOn: prepareAssets, type: Zip) {
 | 
						|
		archiveFileName = "assets.zip"
 | 
						|
		from assetsFolder
 | 
						|
		destinationDirectory = file("src/main/assets")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
preBuild.dependsOn zipAssets
 | 
						|
prepareAssets.dependsOn ':native:getDeps'
 | 
						|
 | 
						|
clean {
 | 
						|
	delete new File("src/main/assets", "assets.zip")
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
	implementation project(':native')
 | 
						|
	implementation 'androidx.appcompat:appcompat:1.6.1'
 | 
						|
}
 |