Home | History | Annotate | Download | only in gdx-tests-android
      1 repositories {
      2 	mavenCentral()
      3 	maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
      4 }
      5 
      6 android {
      7 	buildToolsVersion "20.0.0"
      8 	compileSdkVersion 20
      9 	sourceSets {
     10 		main {
     11 			manifest.srcFile 'AndroidManifest.xml'
     12 			java.srcDirs = ['src']
     13 			aidl.srcDirs = ['src']
     14 			renderscript.srcDirs = ['src']
     15 			res.srcDirs = ['res']
     16 			assets.srcDirs = ['assets']
     17 			jniLibs.srcDirs = ['libs']
     18 		}		
     19 	}
     20 }
     21 
     22 // sets up the Android Eclipse project, using the old Ant based build.
     23 eclipse {
     24 	// need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin
     25 	// ignores any nodes added in classpath.file.withXml
     26 	sourceSets {
     27 		main {
     28 			java.srcDirs "src", 'gen'
     29 		}
     30 	}
     31 
     32 	jdt {
     33 		sourceCompatibility = 1.6
     34 		targetCompatibility = 1.6
     35 	}
     36 
     37 	classpath {
     38 		plusConfigurations += [ project.configurations.compile ]
     39 		containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES'
     40 	}
     41 
     42 	project {		
     43 		natures 'com.android.ide.eclipse.adt.AndroidNature'
     44 		buildCommands.clear();
     45 		buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder"
     46 		buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder"
     47 		buildCommand "org.eclipse.jdt.core.javabuilder"
     48 		buildCommand "com.android.ide.eclipse.adt.ApkBuilder"
     49 	}
     50 }
     51 
     52 // sets up the Android Idea project, using the old Ant based build.
     53 idea {
     54 	module {
     55 		sourceDirs += file("src");
     56 		scopes = [ COMPILE: [plus:[project.configurations.compile]]]
     57 
     58 		iml {
     59 			withXml {
     60 				def node = it.asNode()
     61 				def builder = NodeBuilder.newInstance();
     62 				builder.current = node;
     63 				builder.component(name: "FacetManager") {
     64 					facet(type: "android", name: "Android") {
     65 						configuration {
     66 							option(name: "UPDATE_PROPERTY_FILES", value:"true")
     67 						}
     68 					}
     69 				}
     70 			}
     71 		}
     72 	}
     73 }
     74 
     75 // used to create obb file
     76 task copyAssets << {
     77 	def assets = fileTree('assets')
     78 	copy {
     79 		from assets
     80 		into "build/obbassets"
     81 		rename { fileName ->
     82 			fileName = "obbasset-" + fileName
     83 		}
     84 	}
     85 }
     86 
     87 task zipAssets(type: Zip) {
     88 	destinationDir = file("build/obb")
     89 	entryCompression = ZipEntryCompression.STORED
     90 	from "build/obbassets"
     91 	baseName = "main.1.com.badlogic.gdx.tests.android"
     92 	extension = "obb"
     93 }
     94 
     95 def getADBPath() {
     96 	def path
     97 	def localProperties = new File("local.properties")
     98 	if (localProperties.exists()) {
     99 		Properties properties = new Properties()
    100 		localProperties.withInputStream { instr ->
    101 			properties.load(instr)
    102 	}
    103 	def sdkDir = properties.getProperty('sdk.dir')
    104 	if (sdkDir) {
    105 	    path = sdkDir
    106 	} else {
    107 	    path = "$System.env.ANDROID_HOME"
    108 	}
    109 	} else {
    110 		path = "$System.env.ANDROID_HOME"
    111 	}
    112 
    113 	def adb = path + "/platform-tools/adb"
    114 	adb
    115 }
    116 
    117 task createOBBDir(type: Exec) {
    118 	def adb = getADBPath();
    119 	commandLine "$adb", 'shell', 'mkdir', '-p', '/mnt/sdcard/Android/obb/com.badlogic.gdx.tests.android'
    120 }
    121 task uploadOBB(type: Exec) {
    122 	def adb = getADBPath();
    123 	commandLine "$adb", 'push', 'build/obb/main.1.com.badlogic.gdx.tests.android.obb', '/mnt/sdcard/Android/obb/com.badlogic.gdx.tests.android'
    124 }
    125 
    126 copyAssets.dependsOn clean
    127 zipAssets.dependsOn copyAssets
    128 createOBBDir.dependsOn zipAssets
    129 uploadOBB.dependsOn createOBBDir
    130