├── src ├── integTest │ ├── resources │ │ └── androidProjects │ │ │ ├── hello │ │ │ ├── default.properties │ │ │ ├── simple.gradle │ │ │ ├── test.keystore │ │ │ ├── res │ │ │ │ ├── drawable │ │ │ │ │ └── icon.png │ │ │ │ ├── values │ │ │ │ │ └── strings.xml │ │ │ │ └── layout │ │ │ │ │ └── main.xml │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── jvoegele │ │ │ │ │ └── gradle │ │ │ │ │ └── android │ │ │ │ │ └── hello │ │ │ │ │ └── HelloActivity.java │ │ │ ├── AndroidManifest.xml │ │ │ ├── debug-release-otherwise.gradle │ │ │ └── debug-release.gradle │ │ │ ├── random │ │ │ ├── default.properties │ │ │ ├── res │ │ │ │ ├── drawable │ │ │ │ │ └── icon.png │ │ │ │ ├── values │ │ │ │ │ └── strings.xml │ │ │ │ └── layout │ │ │ │ │ └── main.xml │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ └── scala │ │ │ │ │ └── com │ │ │ │ │ └── jvoegele │ │ │ │ │ └── gradle │ │ │ │ │ └── android │ │ │ │ │ └── random │ │ │ │ │ ├── Generator.scala │ │ │ │ │ └── RandomActivity.scala │ │ │ ├── build.gradle │ │ │ └── AndroidManifest.xml │ │ │ └── multi_resource │ │ │ ├── default.properties │ │ │ ├── multi_resource.gradle │ │ │ ├── res │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ └── layout │ │ │ │ └── main.xml │ │ │ ├── res2 │ │ │ ├── drawable │ │ │ │ └── icon2.png │ │ │ └── values │ │ │ │ └── strings.xml │ │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── jvoegele │ │ │ │ └── gradle │ │ │ │ └── android │ │ │ │ └── hello │ │ │ │ └── HelloActivity.java │ │ │ └── AndroidManifest.xml │ └── groovy │ │ └── com │ │ └── jvoegele │ │ └── gradle │ │ └── android │ │ ├── AbstractIntegrationTest.groovy │ │ ├── MultiResourceProjectTest.groovy │ │ ├── support │ │ ├── ZipAlignVerifier.groovy │ │ ├── SignVerifier.groovy │ │ ├── MyBuildListener.groovy │ │ ├── TestArchive.groovy │ │ └── TestProject.groovy │ │ ├── RandomProjectTest.groovy │ │ └── HelloProjectTest.groovy └── main │ ├── resources │ └── META-INF │ │ └── gradle-plugins │ │ └── android.properties │ └── groovy │ └── com │ └── jvoegele │ └── gradle │ ├── plugins │ └── android │ │ ├── AndroidSetup.groovy │ │ ├── AbstractAndroidSetup.groovy │ │ ├── AndroidSetupFactory.groovy │ │ ├── AndroidPluginConvention.groovy │ │ ├── AndroidSetup_r13.groovy │ │ ├── AndroidSetup_r14.groovy │ │ ├── AndroidSetup_r17.groovy │ │ ├── AndroidSetup_r18.groovy │ │ ├── AndroidSetup_r21.groovy │ │ └── AndroidPlugin.groovy │ ├── tasks │ └── android │ │ ├── exceptions │ │ ├── AdbErrorException.groovy │ │ └── InstrumentationTestsFailedException.groovy │ │ ├── AndroidAntTask.groovy │ │ ├── AaptExecTask_r7.groovy │ │ ├── EmulatorTask.groovy │ │ ├── AaptExecTask_r8.groovy │ │ ├── ApkBuilderTask_r6.groovy │ │ ├── AaptExecTask_r14.groovy │ │ ├── ApkBuilderTask_r14.groovy │ │ ├── ApkBuilderTask_r8.groovy │ │ ├── ApkBuilderTask_r7.groovy │ │ ├── AdbExec.groovy │ │ ├── AndroidSdkToolsFactory.groovy │ │ ├── AaptExecTask_r18.groovy │ │ ├── AaptExecTask_r21.groovy │ │ ├── instrumentation │ │ ├── TestRunnersConfig.groovy │ │ └── InstrumentationTestsTask.groovy │ │ ├── ProcessAndroidResources.groovy │ │ ├── AndroidPackageTask.groovy │ │ ├── ProGuard.groovy │ │ └── AndroidSignAndAlignTask.groovy │ └── enhancements │ ├── GradlePluginEnhancement.groovy │ ├── JavadocEnhancement.groovy │ ├── ScalaEnhancement.groovy │ └── EclipseEnhancement.groovy ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── license-notice ├── CHANGELOG ├── gradlew.bat ├── gradlew ├── LICENSE └── README.md /src/integTest/resources/androidProjects/hello/default.properties: -------------------------------------------------------------------------------- 1 | target=android-7 2 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/default.properties: -------------------------------------------------------------------------------- 1 | target=android-7 2 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/default.properties: -------------------------------------------------------------------------------- 1 | target=android-7 2 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/simple.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android' 2 | 3 | version = '1.0' 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/META-INF/gradle-plugins/android.properties: -------------------------------------------------------------------------------- 1 | implementation-class=com.jvoegele.gradle.plugins.android.AndroidPlugin 2 | 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | .project 3 | .classpath 4 | .gradle 5 | .settings 6 | bin 7 | .idea 8 | *.iml 9 | .DS_Store 10 | *.ipr 11 | *.iws 12 | out 13 | jarlist.cache 14 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/multi_resource.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android' 2 | 3 | version = '1.0' 4 | 5 | resDirs = files("res") + files("res2") 6 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/test.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/src/integTest/resources/androidProjects/hello/test.keystore -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/src/integTest/resources/androidProjects/hello/res/drawable/icon.png -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/src/integTest/resources/androidProjects/random/res/drawable/icon.png -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/src/integTest/resources/androidProjects/multi_resource/res/drawable/icon.png -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/res2/drawable/icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoegele/gradle-android-plugin/HEAD/src/integTest/resources/androidProjects/multi_resource/res2/drawable/icon2.png -------------------------------------------------------------------------------- /license-notice: -------------------------------------------------------------------------------- 1 | The icon in integTest projects comes from http://www.wpzoom.com/wpzoom/500-free-icons-wpzoom-social-networking-icon-set/ 2 | and is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello Application 4 | Hello, World! 5 | 6 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello Application 4 | Hello, World! 5 | 6 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/res2/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello Application 4 | Hello, World! 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu May 10 11:52:21 PHT 2012 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.0-rc-3-bin.zip 7 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Random number generator 4 | Random number: 5 | Generate 6 | 7 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/src/main/scala/com/jvoegele/gradle/android/random/Generator.scala: -------------------------------------------------------------------------------- 1 | package com.jvoegele.gradle.android.random 2 | 3 | import java.util.Random 4 | 5 | class Generator { 6 | val random = new Random 7 | 8 | def generate = random.nextInt(9999) + 1 9 | } 10 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android' 2 | apply plugin: 'scala' 3 | 4 | repositories { 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | scalaTools 'org.scala-lang:scala-compiler:2.8.1', 'org.scala-lang:scala-library:2.8.1' 10 | 11 | compile 'org.scala-lang:scala-library:2.8.1' 12 | } 13 | 14 | version = '1.0' 15 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/src/main/java/com/jvoegele/gradle/android/hello/HelloActivity.java: -------------------------------------------------------------------------------- 1 | package com.jvoegele.gradle.android.hello; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | 6 | public class HelloActivity extends Activity { 7 | @Override 8 | public void onCreate(Bundle savedInstanceState) { 9 | super.onCreate(savedInstanceState); 10 | setContentView(R.layout.main); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/src/main/java/com/jvoegele/gradle/android/hello/HelloActivity.java: -------------------------------------------------------------------------------- 1 | package com.jvoegele.gradle.android.hello; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | 6 | public class HelloActivity extends Activity { 7 | @Override 8 | public void onCreate(Bundle savedInstanceState) { 9 | super.onCreate(savedInstanceState); 10 | setContentView(R.layout.main); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/multi_resource/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/debug-release-otherwise.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android' 2 | 3 | repositories { 4 | mavenCentral() // for Proguard 5 | } 6 | 7 | version = '1.0' 8 | 9 | task release(dependsOn: build) 10 | 11 | def configureDebug() { 12 | jar.classifier = 'debug' 13 | } 14 | 15 | def configureRelease() { 16 | androidSignAndAlign { 17 | keyStore = file('test.keystore') 18 | keyStorePassword = 'testpass' 19 | keyAlias = 'testkey' 20 | keyAliasPassword = 'testpass' 21 | } 22 | 23 | proguard.enabled = true 24 | } 25 | 26 | gradle.taskGraph.whenReady { taskGraph -> 27 | if (taskGraph.hasTask(':release')) { 28 | configureRelease() 29 | } else { 30 | configureDebug() 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/hello/debug-release.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android' 2 | 3 | repositories { 4 | mavenCentral() // for Proguard 5 | } 6 | 7 | version = '1.0' 8 | 9 | task configureDebug << { 10 | jar.classifier = 'debug' 11 | } 12 | 13 | task configureRelease << { 14 | androidSignAndAlign { 15 | keyStore = file('test.keystore') 16 | keyStorePassword = 'testpass' 17 | keyAlias = 'testkey' 18 | keyAliasPassword = 'testpass' 19 | } 20 | 21 | proguard.enabled = true 22 | } 23 | 24 | task configureReleaseDeprecated << { 25 | androidPackage { 26 | keyStore = file('test.keystore') 27 | keyStorePassword = 'testpass' 28 | keyAlias = 'testkey' 29 | keyAliasPassword = 'testpass' 30 | } 31 | 32 | proguard.enabled = true 33 | } 34 | -------------------------------------------------------------------------------- /src/main/groovy/com/jvoegele/gradle/plugins/android/AndroidSetup.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2011 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.jvoegele.gradle.plugins.android 18 | 19 | interface AndroidSetup { 20 | void setup() 21 | } -------------------------------------------------------------------------------- /src/integTest/resources/androidProjects/random/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 9 | 12 |