aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builder/src/main/java/com/android/builder/AndroidBuilder.java17
-rw-r--r--builder/src/main/java/com/android/builder/DefaultSdkParser.java62
-rw-r--r--builder/src/main/java/com/android/builder/PlatformSdkParser.java142
-rw-r--r--builder/src/main/java/com/android/builder/SdkParser.java15
-rw-r--r--builder/src/main/java/com/android/builder/internal/FakeAndroidTarget.java199
-rw-r--r--changelog.txt34
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy2
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy22
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy47
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy2
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/tasks/InstallTask.groovy5
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/tasks/TestFlavorTask.groovy12
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/tasks/UninstallTask.groovy6
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/tasks/ZipAlign.groovy8
-rw-r--r--gradle/src/test/groovy/com/android/build/gradle/AppPluginDslTest.groovy53
-rw-r--r--gradle/src/test/groovy/com/android/build/gradle/AppPluginInternalTest.groovy16
-rw-r--r--gradle/src/test/groovy/com/android/build/gradle/LibraryPluginDslTest.groovy4
-rw-r--r--gradle/src/test/groovy/com/android/build/gradle/internal/dsl/BuildTypeDslTest.groovy4
-rw-r--r--tests/aidl/build.gradle2
-rw-r--r--tests/api/app/build.gradle2
-rw-r--r--tests/api/lib/build.gradle3
-rw-r--r--tests/applibtest/app/build.gradle2
-rw-r--r--tests/applibtest/lib/build.gradle2
-rw-r--r--tests/basic/build.gradle2
-rw-r--r--tests/dependencies/build.gradle2
-rw-r--r--tests/flavored/build.gradle2
-rw-r--r--tests/flavorlib/app/build.gradle2
-rw-r--r--tests/flavorlib/lib1/build.gradle2
-rw-r--r--tests/flavorlib/lib2/build.gradle2
-rw-r--r--tests/flavorlibWithFailedTests/app/build.gradle2
-rw-r--r--tests/flavorlibWithFailedTests/lib1/build.gradle2
-rw-r--r--tests/flavorlibWithFailedTests/lib2/build.gradle2
-rw-r--r--tests/flavors/build.gradle2
-rw-r--r--tests/libsTest/app/build.gradle2
-rw-r--r--tests/libsTest/lib1/build.gradle2
-rw-r--r--tests/libsTest/lib2/build.gradle3
-rw-r--r--tests/libsTest/lib2b/build.gradle3
-rw-r--r--tests/libsTest/libapp/build.gradle3
-rw-r--r--tests/migrated/build.gradle2
-rw-r--r--tests/multiproject/app/build.gradle2
-rw-r--r--tests/multiproject/baseLibrary/build.gradle2
-rw-r--r--tests/multiproject/library/build.gradle2
-rw-r--r--tests/multires/build.gradle2
-rw-r--r--tests/overlay1/build.gradle2
-rw-r--r--tests/overlay2/build.gradle2
-rw-r--r--tests/renderscript/build.gradle2
-rw-r--r--tests/renderscriptInLib/app/build.gradle2
-rw-r--r--tests/renderscriptInLib/lib/build.gradle2
-rw-r--r--tests/renderscriptMultiSrc/build.gradle2
-rw-r--r--tests/repo/app/build.gradle2
-rw-r--r--tests/repo/app/src/main/java/com/example/android/multiproject/MainActivity.java6
-rw-r--r--tests/repo/baseLibrary/build.gradle2
-rw-r--r--tests/repo/library/build.gradle2
-rw-r--r--tests/tictactoe/app/build.gradle2
-rw-r--r--tests/tictactoe/lib/build.gradle2
55 files changed, 602 insertions, 130 deletions
diff --git a/builder/src/main/java/com/android/builder/AndroidBuilder.java b/builder/src/main/java/com/android/builder/AndroidBuilder.java
index 6499a31..880f591 100644
--- a/builder/src/main/java/com/android/builder/AndroidBuilder.java
+++ b/builder/src/main/java/com/android/builder/AndroidBuilder.java
@@ -525,7 +525,7 @@ public class AndroidBuilder {
File aapt = mSdkParser.getAapt();
if (aapt == null || !aapt.isFile()) {
- throw new IllegalStateException(String.valueOf("aapt is missing"));
+ throw new IllegalStateException("aapt is missing");
}
command.add(aapt.getAbsolutePath());
@@ -698,7 +698,7 @@ public class AndroidBuilder {
File aidl = mSdkParser.getAidlCompiler();
if (aidl == null || !aidl.isFile()) {
- throw new IllegalStateException(String.valueOf("aidl is missing"));
+ throw new IllegalStateException("aidl is missing");
}
List<File> fullImportList = Lists.newArrayListWithCapacity(
@@ -743,7 +743,7 @@ public class AndroidBuilder {
File aidl = mSdkParser.getAidlCompiler();
if (aidl == null || !aidl.isFile()) {
- throw new IllegalStateException(String.valueOf("aidl is missing"));
+ throw new IllegalStateException("aidl is missing");
}
AidlProcessor processor = new AidlProcessor(
@@ -792,7 +792,7 @@ public class AndroidBuilder {
File renderscript = mSdkParser.getRenderscriptCompiler();
if (renderscript == null || !renderscript.isFile()) {
- throw new IllegalStateException(String.valueOf("llvm-rs-cc is missing"));
+ throw new IllegalStateException("llvm-rs-cc is missing");
}
// gather the files to compile
@@ -927,9 +927,12 @@ public class AndroidBuilder {
// launch dx: create the command line
ArrayList<String> command = Lists.newArrayList();
- @SuppressWarnings("deprecation")
- String dxPath = mTarget.getPath(IAndroidTarget.DX);
- command.add(dxPath);
+ File dx = mSdkParser.getDx();
+ if (dx == null || !dx.isFile()) {
+ throw new IllegalStateException("dx is missing");
+ }
+
+ command.add(dx.getAbsolutePath());
command.add("--dex");
diff --git a/builder/src/main/java/com/android/builder/DefaultSdkParser.java b/builder/src/main/java/com/android/builder/DefaultSdkParser.java
index ac3041f..8fb0830 100644
--- a/builder/src/main/java/com/android/builder/DefaultSdkParser.java
+++ b/builder/src/main/java/com/android/builder/DefaultSdkParser.java
@@ -24,6 +24,7 @@ import com.android.sdklib.internal.repository.packages.FullRevision;
import com.android.sdklib.repository.PkgProps;
import com.android.utils.ILogger;
import com.google.common.base.Charsets;
+import com.google.common.collect.Maps;
import com.google.common.io.Closeables;
import java.io.File;
@@ -32,6 +33,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.util.Map;
import java.util.Properties;
import static com.android.SdkConstants.FD_PLATFORM_TOOLS;
@@ -48,6 +50,9 @@ public class DefaultSdkParser implements SdkParser {
private final String mSdkLocation;
private SdkManager mManager;
+ private File mPlatformTools;
+ private final Map<String, File> mToolsMap = Maps.newHashMapWithExpectedSize(6);
+
public DefaultSdkParser(@NonNull String sdkLocation) {
if (!sdkLocation.endsWith(File.separator)) {
mSdkLocation = sdkLocation + File.separator;
@@ -77,7 +82,7 @@ public class DefaultSdkParser implements SdkParser {
@Override
public FullRevision getPlatformToolsRevision() {
- File platformTools = new File(mSdkLocation, FD_PLATFORM_TOOLS);
+ File platformTools = getPlatformTools();
if (!platformTools.isDirectory()) {
return null;
}
@@ -109,31 +114,54 @@ public class DefaultSdkParser implements SdkParser {
@Override
public File getAapt() {
- File platformTools = new File(mSdkLocation, FD_PLATFORM_TOOLS);
- if (!platformTools.isDirectory()) {
- return null;
- }
-
- return new File(platformTools, SdkConstants.FN_AAPT);
+ return getTool(SdkConstants.FN_AAPT);
}
@Override
public File getAidlCompiler() {
- File platformTools = new File(mSdkLocation, FD_PLATFORM_TOOLS);
- if (!platformTools.isDirectory()) {
- return null;
- }
-
- return new File(platformTools, SdkConstants.FN_AIDL);
+ return getTool(SdkConstants.FN_AIDL);
}
@Override
public File getRenderscriptCompiler() {
- File platformTools = new File(mSdkLocation, FD_PLATFORM_TOOLS);
- if (!platformTools.isDirectory()) {
- return null;
+ return getTool(SdkConstants.FN_RENDERSCRIPT);
+ }
+
+ @Override
+ public File getDx() {
+ return getTool(SdkConstants.FN_DX);
+ }
+
+ @Override
+ public File getZipAlign() {
+ return getTool(SdkConstants.FN_ZIPALIGN);
+ }
+
+ @Override
+ public File getAdb() {
+ return getTool(SdkConstants.FN_ADB);
+ }
+
+ private File getTool(String filename) {
+ File f = mToolsMap.get(filename);
+ if (f == null) {
+ File platformTools = getPlatformTools();
+ if (!platformTools.isDirectory()) {
+ return null;
+ }
+
+ f = new File(platformTools, filename);
+ mToolsMap.put(filename, f);
+ }
+
+ return f;
+ }
+
+ private File getPlatformTools() {
+ if (mPlatformTools == null) {
+ mPlatformTools = new File(mSdkLocation, FD_PLATFORM_TOOLS);
}
- return new File(platformTools, SdkConstants.FN_RENDERSCRIPT);
+ return mPlatformTools;
}
}
diff --git a/builder/src/main/java/com/android/builder/PlatformSdkParser.java b/builder/src/main/java/com/android/builder/PlatformSdkParser.java
new file mode 100644
index 0000000..9fbb36f
--- /dev/null
+++ b/builder/src/main/java/com/android/builder/PlatformSdkParser.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.builder;
+
+import com.android.SdkConstants;
+import com.android.annotations.NonNull;
+import com.android.builder.internal.FakeAndroidTarget;
+import com.android.sdklib.IAndroidTarget;
+import com.android.sdklib.internal.repository.packages.FullRevision;
+import com.android.utils.ILogger;
+import com.google.common.collect.Maps;
+
+import java.io.File;
+import java.util.Map;
+
+/**
+ * Implementation of {@link SdkParser} for the SDK prebuilds in the Android source tree.
+ */
+class PlatformSdkParser implements SdkParser {
+ private final String mPlatformRootFolder;
+
+ private File mHostTools;
+ private final Map<String, File> mToolsMap = Maps.newHashMapWithExpectedSize(6);
+ private File mDx;
+ private File mAdb;
+
+ PlatformSdkParser(@NonNull String sdkLocation) {
+ mPlatformRootFolder = sdkLocation;
+ }
+
+ @Override
+ public IAndroidTarget resolveTarget(String target, ILogger logger) {
+ return new FakeAndroidTarget(mPlatformRootFolder, target);
+ }
+
+ @Override
+ public String getAnnotationsJar() {
+ String host;
+ if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_DARWIN) {
+ host = "darwin-x86";
+ } else if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_LINUX) {
+ host = "linux";
+ } else {
+ throw new IllegalStateException("Windows is not supported for platform development");
+ }
+
+ return mPlatformRootFolder + "/out/host/" + host + "/framework/annotations.jar";
+ }
+
+ @Override
+ public FullRevision getPlatformToolsRevision() {
+ return new FullRevision(99);
+ }
+
+ @Override
+ public File getAapt() {
+ return getTool(SdkConstants.FN_AAPT);
+ }
+
+ @Override
+ public File getAidlCompiler() {
+ return getTool(SdkConstants.FN_AIDL);
+ }
+
+ @Override
+ public File getRenderscriptCompiler() {
+ return getTool(SdkConstants.FN_RENDERSCRIPT);
+ }
+
+ @Override
+ public File getDx() {
+ if (mDx == null) {
+ mDx = new File(mPlatformRootFolder, "prebuilts/sdk/tools/dx");
+ }
+
+ return mDx;
+ }
+
+ @Override
+ public File getZipAlign() {
+ return getTool(SdkConstants.FN_ZIPALIGN);
+ }
+
+ @Override
+ public File getAdb() {
+ if (mAdb == null) {
+
+ if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_DARWIN) {
+ mAdb = new File(mPlatformRootFolder, "out/host/darwin-x86/bin/adb");
+ } else if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_LINUX) {
+ mAdb = new File(mPlatformRootFolder, "out/host/linux-x86/bin/adb");
+ } else {
+ throw new IllegalStateException("Windows is not supported for platform development");
+ }
+ }
+
+ return mAdb;
+ }
+
+ private File getTool(String filename) {
+ File f = mToolsMap.get(filename);
+ if (f == null) {
+ File platformTools = getHostToolsFolder();
+ if (!platformTools.isDirectory()) {
+ return null;
+ }
+
+ f = new File(platformTools, filename);
+ mToolsMap.put(filename, f);
+ }
+
+ return f;
+ }
+
+ private File getHostToolsFolder() {
+ if (mHostTools == null) {
+ File tools = new File(mPlatformRootFolder, "prebuilts/sdk/tools");
+ if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_DARWIN) {
+ mHostTools = new File(tools, "darwin");
+ } else if (SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_LINUX) {
+ mHostTools = new File(tools, "linux");
+ } else {
+ throw new IllegalStateException("Windows is not supported for platform development");
+ }
+ }
+ return mHostTools;
+ }
+}
diff --git a/builder/src/main/java/com/android/builder/SdkParser.java b/builder/src/main/java/com/android/builder/SdkParser.java
index fe9441f..0d269ff 100644
--- a/builder/src/main/java/com/android/builder/SdkParser.java
+++ b/builder/src/main/java/com/android/builder/SdkParser.java
@@ -67,4 +67,19 @@ public interface SdkParser {
* Returns the location of the renderscript compiler.
*/
File getRenderscriptCompiler();
+
+ /**
+ * Returns the location of the dx tool.
+ */
+ File getDx();
+
+ /**
+ * Returns the location of the zip align tool.
+ */
+ File getZipAlign();
+
+ /**
+ * Returns the location of the adb tool.
+ */
+ File getAdb();
} \ No newline at end of file
diff --git a/builder/src/main/java/com/android/builder/internal/FakeAndroidTarget.java b/builder/src/main/java/com/android/builder/internal/FakeAndroidTarget.java
new file mode 100644
index 0000000..24e76d8
--- /dev/null
+++ b/builder/src/main/java/com/android/builder/internal/FakeAndroidTarget.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.builder.internal;
+
+import com.android.SdkConstants;
+import com.android.sdklib.AndroidVersion;
+import com.android.sdklib.IAndroidTarget;
+import com.android.sdklib.ISystemImage;
+import com.android.sdklib.util.SparseArray;
+
+import java.util.Map;
+
+/**
+ * Fake IAndroidTarget used for SDK prebuilts in the Android source tree.
+ */
+public class FakeAndroidTarget implements IAndroidTarget {
+ private final String mSdkLocation;
+ private final SparseArray<String> mPaths = new SparseArray<String>();
+ private final int mApiLevel;
+
+ public FakeAndroidTarget(String sdkLocation, String target) {
+ mSdkLocation = sdkLocation;
+ mApiLevel = getApiLevel(target);
+
+ String apiPrebuilts = mSdkLocation + "/prebuilts/sdk/" + Integer.toString(mApiLevel) + "/";
+ String rsPrebuilts = mSdkLocation + "/prebuilts/sdk/renderscript/";
+
+ // pre-build the path to the platform components
+ mPaths.put(ANDROID_JAR, apiPrebuilts + SdkConstants.FN_FRAMEWORK_LIBRARY);
+ mPaths.put(ANDROID_AIDL, apiPrebuilts + SdkConstants.FN_FRAMEWORK_AIDL);
+
+ // location of the renderscript imports.
+ mPaths.put(ANDROID_RS, rsPrebuilts + SdkConstants.OS_FRAMEWORK_RS);
+ mPaths.put(ANDROID_RS_CLANG, rsPrebuilts + SdkConstants.OS_FRAMEWORK_RS_CLANG);
+ }
+
+ private int getApiLevel(String target) {
+ if (target.startsWith("android-")) {
+ return Integer.parseInt(target.substring("android-".length()));
+ }
+
+ throw new IllegalArgumentException("Android target '%s' is not recognized.");
+ }
+
+ @Override
+ public String getPath(int pathId) {
+ return mPaths.get(pathId);
+ }
+
+ @Override
+ public String getLocation() {
+ return mSdkLocation;
+ }
+
+ @Override
+ public String getVendor() {
+ return "android";
+ }
+
+ @Override
+ public String getName() {
+ return "android";
+ }
+
+ @Override
+ public String getFullName() {
+ return "android";
+ }
+
+ @Override
+ public String getClasspathName() {
+ return "android";
+ }
+
+ @Override
+ public String getShortClasspathName() {
+ return "android";
+ }
+
+ @Override
+ public String getDescription() {
+ return "android";
+ }
+
+ @Override
+ public AndroidVersion getVersion() {
+ return new AndroidVersion(mApiLevel, null);
+ }
+
+ @Override
+ public String getVersionName() {
+ return "Android API level " + mApiLevel;
+ }
+
+ @Override
+ public int getRevision() {
+ return 1;
+ }
+
+ @Override
+ public boolean isPlatform() {
+ return true;
+ }
+
+ @Override
+ public IAndroidTarget getParent() {
+ return null;
+ }
+
+ @Override
+ public boolean hasRenderingLibrary() {
+ return false;
+ }
+
+ @Override
+ public String[] getSkins() {
+ return new String[0];
+ }
+
+ @Override
+ public String getDefaultSkin() {
+ return null;
+ }
+
+ @Override
+ public IOptionalLibrary[] getOptionalLibraries() {
+ return new IOptionalLibrary[0];
+ }
+
+ @Override
+ public String[] getPlatformLibraries() {
+ return new String[0];
+ }
+
+ @Override
+ public String getProperty(String name) {
+ return null;
+ }
+
+ @Override
+ public Integer getProperty(String name, Integer defaultValue) {
+ return null;
+ }
+
+ @Override
+ public Boolean getProperty(String name, Boolean defaultValue) {
+ return null;
+ }
+
+ @Override
+ public Map<String, String> getProperties() {
+ return null;
+ }
+
+ @Override
+ public int getUsbVendorId() {
+ return 0;
+ }
+
+ @Override
+ public ISystemImage[] getSystemImages() {
+ return new ISystemImage[0];
+ }
+
+ @Override
+ public ISystemImage getSystemImage(String abiType) {
+ return null;
+ }
+
+ @Override
+ public boolean canRunOn(IAndroidTarget target) {
+ return false;
+ }
+
+ @Override
+ public String hashString() {
+ return "android-" + mApiLevel;
+ }
+
+ @Override
+ public int compareTo(IAndroidTarget iAndroidTarget) {
+ FakeAndroidTarget that = (FakeAndroidTarget) iAndroidTarget;
+ return mSdkLocation.compareTo(that.mSdkLocation);
+ }
+}
diff --git a/changelog.txt b/changelog.txt
index 344a987..655af00 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,16 +1,28 @@
0.3
-* Requires Gradle 1.3. Runtime check will ensure this.
-* Requires Android Platform Tools 16.0.2+. Runtime check will ensure this.
-* Default Java compile target set to 1.6.
-* API to manipulate Build Variants
-* Support for multi resource folders. See 'multires' sample
-* versionName suffix in build type.
-* Improved DSL to setup signing info.
-* new API to relocate full sourceSet. See 'migrated' sample.
-* Running tests on device now breaks the build if any test fails, and create a nice report, for each flavor/project, but also aggregated.
-* New plugin 'android-reporting' to aggregate android test results accross projects. See 'flavorlib' sample.
-* Tests now runs on all connected devices in parallel.
+* System requirements:
+ - Gradle 1.3+ (tested on 1.3/1.4)
+ - Android Platform Tools 16.0.2+
+* New Features:
+ - Renderscript support.
+ - Support for multi resource folders. See 'multires' sample.
+ * PNG crunch is now done incrementally and in parallel.
+ - Support for multi asset folders.
+ - Support for asset folders in Library Projects.
+ - API to manipulate Build Variants.
+ - Support for versionName suffix provided by the BuildType.
+ - Testing
+ * Tests now runs on all connected devices in parallel.
+ * Running tests on device now breaks the build if any test fails.
+ * Generate an HTML report for each flavor/project, but also aggregated.
+ * New plugin 'android-reporting' to aggregate android test results across projects. See 'flavorlib' sample.
+ - Improved DSL:
+ * replaced android.target with android.compileSdkVersion to make it less confusing vs min/targetSdkVersion
+ * signing information now a SigningConfig object reusable across BuildType and ProductFlavor
+ * ability to relocated a full sourceSet. See 'migrated' sample.
+* Fixes:
+ - Default Java compile target set to 1.6.
+ - Fix generation of R classes in case libraries share same package name as the app project.
0.2
diff --git a/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
index 2bfb775..4e943f7 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
@@ -514,6 +514,6 @@ class AppPlugin extends com.android.build.gradle.BasePlugin implements org.gradl
@Override
protected String getTarget() {
- return extension.target;
+ return extension.compileSdkVersion;
}
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy b/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy
index 4be37aa..8ae1ba3 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy
@@ -35,7 +35,7 @@ import org.gradle.internal.reflect.Instantiator
*/
public abstract class BaseExtension {
- String target
+ private String target
final ProductFlavor defaultConfig
final AaptOptionsImpl aaptOptions
@@ -95,6 +95,22 @@ public abstract class BaseExtension {
}
}
+ void compileSdkVersion(int apiLevel) {
+ this.target = "android-" + apiLevel
+ }
+
+ void setCompileSdkVersion(int apiLevel) {
+ compileSdkVersion(apiLevel)
+ }
+
+ void compileSdkVersion(String target) {
+ this.target = target
+ }
+
+ void setCompileSdkVersion(String target) {
+ compileSdkVersion(target)
+ }
+
void sourceSets(Action<NamedDomainObjectContainer<AndroidSourceSet>> action) {
action.execute(sourceSetsContainer)
}
@@ -128,4 +144,8 @@ public abstract class BaseExtension {
plugin.createAndroidTasks()
return testBuildVariants
}
+
+ public String getCompileSdkVersion() {
+ return target
+ }
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
index eb20548..173f460 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
@@ -53,6 +53,7 @@ import com.android.builder.BuilderConstants
import com.android.builder.DefaultSdkParser
import com.android.builder.JarDependency
import com.android.builder.ManifestDependency
+import com.android.builder.PlatformSdkParser
import com.android.builder.ProductFlavor
import com.android.builder.SdkParser
import com.android.builder.SourceProvider
@@ -102,8 +103,7 @@ public abstract class BasePlugin {
final Map<SigningConfig, ValidateSigningTask> validateSigningTaskMap = [:]
protected Project project
- protected File sdkDir
- private DefaultSdkParser androidSdkParser
+ protected SdkParser androidSdkParser
private LoggerWrapper loggerWrapper
private boolean hasCreatedTasks = false
@@ -134,8 +134,6 @@ public abstract class BasePlugin {
project.tasks.assemble.description =
"Assembles all variants of all applications and secondary packages."
- findSdk(project)
-
uninstallAll = project.tasks.add("uninstallAll")
uninstallAll.description = "Uninstall all applications."
uninstallAll.group = INSTALL_GROUP
@@ -164,6 +162,8 @@ public abstract class BasePlugin {
}
final void createAndroidTasks() {
+ findSdk(project)
+
if (hasCreatedTasks) {
return
}
@@ -187,10 +187,6 @@ public abstract class BasePlugin {
}
SdkParser getSdkParser() {
- if (androidSdkParser == null) {
- androidSdkParser = new DefaultSdkParser(sdkDir.absolutePath)
- }
-
return androidSdkParser;
}
@@ -220,10 +216,13 @@ public abstract class BasePlugin {
private void findSdk(Project project) {
// if already set through tests.
if (TEST_SDK_DIR != null) {
- sdkDir = TEST_SDK_DIR
+ androidSdkParser = new DefaultSdkParser(TEST_SDK_DIR.absolutePath)
return
}
+ boolean defaultParser = true
+ File sdkDir = null
+
def rootDir = project.rootDir
def localProperties = new File(rootDir, SdkConstants.FN_LOCAL_PROPERTIES)
if (localProperties.exists()) {
@@ -232,10 +231,19 @@ public abstract class BasePlugin {
properties.load(instr)
}
def sdkDirProp = properties.getProperty('sdk.dir')
- if (!sdkDirProp) {
- throw new RuntimeException("No sdk.dir property defined in local.properties file.")
+
+ if (sdkDirProp != null) {
+ sdkDir = new File(sdkDirProp)
+ } else {
+ sdkDirProp = properties.getProperty('android.dir')
+ if (sdkDirProp != null) {
+ sdkDir = new File(rootDir, sdkDirProp)
+ defaultParser = false
+ } else {
+ throw new RuntimeException(
+ "No sdk.dir property defined in local.properties file.")
+ }
}
- sdkDir = new File(sdkDirProp)
} else {
def envVar = System.getenv("ANDROID_HOME")
if (envVar != null) {
@@ -252,6 +260,12 @@ public abstract class BasePlugin {
throw new RuntimeException(
"The SDK directory '$sdkDir' specified in local.properties does not exist.")
}
+
+ if (defaultParser) {
+ androidSdkParser = new DefaultSdkParser(sdkDir.absolutePath)
+ } else {
+ androidSdkParser = new PlatformSdkParser(sdkDir.absolutePath)
+ }
}
protected String getRuntimeJars(ApplicationVariant variant) {
@@ -668,9 +682,10 @@ public abstract class BasePlugin {
testFlavorTask.plugin = this
testFlavorTask.variant = variant
testFlavorTask.testedVariant = testedVariant
- testFlavorTask.sdkDir = sdkDir
testFlavorTask.flavorName = variant.flavorName
+ testFlavorTask.conventionMapping.adbExe = { androidSdkParser.adb }
+
testFlavorTask.conventionMapping.testApp = { variant.outputFile }
if (testedVariant.config.type != VariantConfiguration.Type.LIBRARY) {
testFlavorTask.conventionMapping.testedApp = { testedVariant.outputFile }
@@ -780,7 +795,7 @@ public abstract class BasePlugin {
project.file(
"$project.buildDir/apk/${project.archivesBaseName}-${variant.baseName}.apk")
}
- zipAlignTask.sdkDir = sdkDir
+ zipAlignTask.conventionMapping.zipAlignExe = { androidSdkParser.zipAlign }
appTask = zipAlignTask
variant.outputFile = project.file(
@@ -793,7 +808,7 @@ public abstract class BasePlugin {
installTask.group = INSTALL_GROUP
installTask.dependsOn appTask
installTask.conventionMapping.packageFile = { appTask.outputFile }
- installTask.sdkDir = sdkDir
+ installTask.conventionMapping.adbExe = { androidSdkParser.adb }
variant.installTask = installTask
}
@@ -812,7 +827,7 @@ public abstract class BasePlugin {
uninstallTask.description = "Uninstalls the " + variant.description
uninstallTask.group = INSTALL_GROUP
uninstallTask.variant = variant
- uninstallTask.sdkDir = sdkDir
+ uninstallTask.conventionMapping.adbExe = { androidSdkParser.adb }
variant.uninstallTask = uninstallTask
uninstallAll.dependsOn uninstallTask
diff --git a/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
index e49309e..71f5105 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
@@ -300,6 +300,6 @@ public class LibraryPlugin extends BasePlugin implements Plugin<Project> {
@Override
protected String getTarget() {
- return extension.target
+ return extension.compileSdkVersion
}
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/InstallTask.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/InstallTask.groovy
index 840c037..92fd0d9 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/InstallTask.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/InstallTask.groovy
@@ -21,7 +21,8 @@ import org.gradle.api.tasks.TaskAction
* Task installing an app.
*/
public class InstallTask extends DefaultTask {
- File sdkDir
+ @InputFile
+ File adbExe
@InputFile
File packageFile
@@ -29,7 +30,7 @@ public class InstallTask extends DefaultTask {
@TaskAction
void generate() {
project.exec {
- executable = new File(getSdkDir(), "platform-tools${File.separator}adb")
+ executable = getAdbExe()
args 'install'
args '-r'
args getPackageFile()
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/TestFlavorTask.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/TestFlavorTask.groovy
index bcc8930..7c15af6 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/TestFlavorTask.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/TestFlavorTask.groovy
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.build.gradle.internal.tasks
-import com.android.SdkConstants
+
import com.android.annotations.NonNull
import com.android.annotations.Nullable
import com.android.build.gradle.internal.ApplicationVariant
@@ -42,8 +42,8 @@ import java.util.concurrent.Callable
*/
public class TestFlavorTask extends BaseTask implements AndroidTestTask {
- @Input
- File sdkDir
+ @InputFile
+ File adbExe
@InputFile
File testApp
@@ -156,10 +156,8 @@ public class TestFlavorTask extends BaseTask implements AndroidTestTask {
protected void runTests() {
AndroidDebugBridge.initIfNeeded(false /*clientSupport*/)
- File platformTools = new File(getSdkDir(), SdkConstants.FD_PLATFORM_TOOLS)
-
- AndroidDebugBridge bridge = AndroidDebugBridge.createBridge(
- new File(platformTools, SdkConstants.FN_ADB).absolutePath, false /*forceNewBridge*/)
+ AndroidDebugBridge bridge = AndroidDebugBridge.createBridge(getAdbExe().absolutePath,
+ false /*forceNewBridge*/)
long timeOut = 30000 // 30 sec
int sleepTime = 1000
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/UninstallTask.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/UninstallTask.groovy
index 0111b6c..96892a0 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/UninstallTask.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/UninstallTask.groovy
@@ -15,17 +15,19 @@
*/
package com.android.build.gradle.internal.tasks
+import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.TaskAction
public class UninstallTask extends BaseTask {
- File sdkDir
+ @InputFile
+ File adbExe
@TaskAction
public void uninstall() {
String packageName = variant.packageName
logger.info("Uninstalling app: " + packageName)
project.exec {
- executable = new File(getSdkDir(), "platform-tools${File.separator}adb")
+ executable = getAdbExe()
args "uninstall"
args packageName
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/tasks/ZipAlign.groovy b/gradle/src/main/groovy/com/android/build/gradle/tasks/ZipAlign.groovy
index b6d3b74..10cc75f 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/tasks/ZipAlign.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/tasks/ZipAlign.groovy
@@ -14,9 +14,7 @@
* limitations under the License.
*/
package com.android.build.gradle.tasks
-
import org.gradle.api.DefaultTask
-import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
@@ -33,13 +31,13 @@ public class ZipAlign extends DefaultTask {
// ----- PRIVATE TASK API -----
- @Input
- File sdkDir
+ @InputFile
+ File zipAlignExe
@TaskAction
void zipAlign() {
project.exec {
- executable = new File(getSdkDir(), "tools${File.separator}zipalign")
+ executable = getZipAlignExe()
args '-f', '4'
args getInputFile()
args getOutputFile()
diff --git a/gradle/src/test/groovy/com/android/build/gradle/AppPluginDslTest.groovy b/gradle/src/test/groovy/com/android/build/gradle/AppPluginDslTest.groovy
index b532581..ea41919 100644
--- a/gradle/src/test/groovy/com/android/build/gradle/AppPluginDslTest.groovy
+++ b/gradle/src/test/groovy/com/android/build/gradle/AppPluginDslTest.groovy
@@ -36,7 +36,50 @@ public class AppPluginDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
+ }
+
+ Set<BuildVariant> variants = project.android.buildVariants
+ assertEquals(2, variants.size())
+
+ Set<BuildVariant> testVariants = project.android.testBuildVariants
+ assertEquals(1, testVariants.size())
+
+ checkTestedVariant("Debug", "Test", variants, testVariants)
+ checkNonTestedVariant("Release", variants)
+ }
+
+ /**
+ * Same as Basic but with a slightly different DSL.
+ */
+ public void testBasic2() {
+ Project project = ProjectBuilder.builder().withProjectDir(
+ new File(testDir, "basic")).build()
+
+ project.apply plugin: 'android'
+
+ project.android {
+ compileSdkVersion = 15
+ }
+
+ Set<BuildVariant> variants = project.android.buildVariants
+ assertEquals(2, variants.size())
+
+ Set<BuildVariant> testVariants = project.android.testBuildVariants
+ assertEquals(1, testVariants.size())
+
+ checkTestedVariant("Debug", "Test", variants, testVariants)
+ checkNonTestedVariant("Release", variants)
+ }
+
+ public void testBasicWithStringTarget() {
+ Project project = ProjectBuilder.builder().withProjectDir(
+ new File(testDir, "basic")).build()
+
+ project.apply plugin: 'android'
+
+ project.android {
+ compileSdkVersion "android-15"
}
Set<BuildVariant> variants = project.android.buildVariants
@@ -56,7 +99,7 @@ public class AppPluginDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
sourceSets {
main {
@@ -77,7 +120,7 @@ public class AppPluginDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
testBuildType "staging"
buildTypes {
@@ -107,7 +150,7 @@ public class AppPluginDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
productFlavors {
flavor1 {
@@ -140,7 +183,7 @@ public class AppPluginDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
flavorGroups "group1", "group2"
diff --git a/gradle/src/test/groovy/com/android/build/gradle/AppPluginInternalTest.groovy b/gradle/src/test/groovy/com/android/build/gradle/AppPluginInternalTest.groovy
index 7c6dfb7..c1d2918 100644
--- a/gradle/src/test/groovy/com/android/build/gradle/AppPluginInternalTest.groovy
+++ b/gradle/src/test/groovy/com/android/build/gradle/AppPluginInternalTest.groovy
@@ -44,7 +44,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
}
AppPlugin plugin = AppPlugin.pluginHolder.plugin
@@ -76,7 +76,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
signingConfigs {
fakeConfig {
@@ -119,7 +119,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
testBuildType "staging"
buildTypes {
@@ -158,7 +158,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
productFlavors {
flavor1 {
@@ -193,7 +193,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
flavorGroups "group1", "group2"
@@ -252,7 +252,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
signingConfigs {
one {
@@ -358,7 +358,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
signingConfigs {
debug {
@@ -383,7 +383,7 @@ public class AppPluginInternalTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
signingConfigs {
foo.initWith(owner.signingConfigs.debug)
diff --git a/gradle/src/test/groovy/com/android/build/gradle/LibraryPluginDslTest.groovy b/gradle/src/test/groovy/com/android/build/gradle/LibraryPluginDslTest.groovy
index 5f342ba..1fcb51b 100644
--- a/gradle/src/test/groovy/com/android/build/gradle/LibraryPluginDslTest.groovy
+++ b/gradle/src/test/groovy/com/android/build/gradle/LibraryPluginDslTest.groovy
@@ -35,7 +35,7 @@ public class LibraryPluginDslTest extends BaseTest {
project.apply plugin: 'android-library'
project.android {
- target "android-15"
+ compileSdkVersion 15
}
Set<BuildVariant> variants = project.android.buildVariants
@@ -59,7 +59,7 @@ public class LibraryPluginDslTest extends BaseTest {
project.apply plugin: 'android-library'
project.android {
- target "android-15"
+ compileSdkVersion 15
debugSigningConfig {
storePassword = "foo"
diff --git a/gradle/src/test/groovy/com/android/build/gradle/internal/dsl/BuildTypeDslTest.groovy b/gradle/src/test/groovy/com/android/build/gradle/internal/dsl/BuildTypeDslTest.groovy
index b7c5602..40f4391 100644
--- a/gradle/src/test/groovy/com/android/build/gradle/internal/dsl/BuildTypeDslTest.groovy
+++ b/gradle/src/test/groovy/com/android/build/gradle/internal/dsl/BuildTypeDslTest.groovy
@@ -35,7 +35,7 @@ public class BuildTypeDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
}
AppPlugin plugin = AppPlugin.pluginHolder.plugin
@@ -57,7 +57,7 @@ public class BuildTypeDslTest extends BaseTest {
project.apply plugin: 'android'
project.android {
- target "android-15"
+ compileSdkVersion 15
}
AppPlugin plugin = AppPlugin.pluginHolder.plugin
diff --git a/tests/aidl/build.gradle b/tests/aidl/build.gradle
index dc42ba2..077f203 100644
--- a/tests/aidl/build.gradle
+++ b/tests/aidl/build.gradle
@@ -12,6 +12,6 @@ buildscript {
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/api/app/build.gradle b/tests/api/app/build.gradle
index 6eb2be7..85e4c9d 100644
--- a/tests/api/app/build.gradle
+++ b/tests/api/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
}
// query for all (non-test) variants and inject a new step in the builds
diff --git a/tests/api/lib/build.gradle b/tests/api/lib/build.gradle
index 1045da6..50837f7 100644
--- a/tests/api/lib/build.gradle
+++ b/tests/api/lib/build.gradle
@@ -1,8 +1,7 @@
apply plugin: 'android-library'
android {
- target = "android-15"
-
+ compileSdkVersion 15
}
// query for all (non-test) variants and inject a new step in the builds
diff --git a/tests/applibtest/app/build.gradle b/tests/applibtest/app/build.gradle
index abc0dbd..8d1c513 100644
--- a/tests/applibtest/app/build.gradle
+++ b/tests/applibtest/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
}
//
diff --git a/tests/applibtest/lib/build.gradle b/tests/applibtest/lib/build.gradle
index 5ca87af..99ff711 100644
--- a/tests/applibtest/lib/build.gradle
+++ b/tests/applibtest/lib/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
defaultConfig {
testPackageName = "com.android.tests.testprojecttest.testlib"
diff --git a/tests/basic/build.gradle b/tests/basic/build.gradle
index b8a8bd0..8f2f7cb 100644
--- a/tests/basic/build.gradle
+++ b/tests/basic/build.gradle
@@ -12,7 +12,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
testBuildType "debug"
signingConfigs {
diff --git a/tests/dependencies/build.gradle b/tests/dependencies/build.gradle
index b7beef4..97076a4 100644
--- a/tests/dependencies/build.gradle
+++ b/tests/dependencies/build.gradle
@@ -22,7 +22,7 @@ dependencies {
}
android {
- target "android-15"
+ compileSdkVersion 15
testBuildType "blah"
defaultConfig {
diff --git a/tests/flavored/build.gradle b/tests/flavored/build.gradle
index 7b6b01f..c5944c3 100644
--- a/tests/flavored/build.gradle
+++ b/tests/flavored/build.gradle
@@ -12,7 +12,7 @@ buildscript {
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
testBuildType = "staging"
defaultConfig {
diff --git a/tests/flavorlib/app/build.gradle b/tests/flavorlib/app/build.gradle
index 6d3041a..c3111bf 100644
--- a/tests/flavorlib/app/build.gradle
+++ b/tests/flavorlib/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
productFlavors {
flavor1 {
diff --git a/tests/flavorlib/lib1/build.gradle b/tests/flavorlib/lib1/build.gradle
index f7838fb..182f845 100644
--- a/tests/flavorlib/lib1/build.gradle
+++ b/tests/flavorlib/lib1/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/flavorlib/lib2/build.gradle b/tests/flavorlib/lib2/build.gradle
index f7838fb..182f845 100644
--- a/tests/flavorlib/lib2/build.gradle
+++ b/tests/flavorlib/lib2/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/flavorlibWithFailedTests/app/build.gradle b/tests/flavorlibWithFailedTests/app/build.gradle
index dcaac3c..485c953 100644
--- a/tests/flavorlibWithFailedTests/app/build.gradle
+++ b/tests/flavorlibWithFailedTests/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
productFlavors {
flavor1 {
diff --git a/tests/flavorlibWithFailedTests/lib1/build.gradle b/tests/flavorlibWithFailedTests/lib1/build.gradle
index f7838fb..182f845 100644
--- a/tests/flavorlibWithFailedTests/lib1/build.gradle
+++ b/tests/flavorlibWithFailedTests/lib1/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/flavorlibWithFailedTests/lib2/build.gradle b/tests/flavorlibWithFailedTests/lib2/build.gradle
index f7838fb..182f845 100644
--- a/tests/flavorlibWithFailedTests/lib2/build.gradle
+++ b/tests/flavorlibWithFailedTests/lib2/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/flavors/build.gradle b/tests/flavors/build.gradle
index cc59029..d499442 100644
--- a/tests/flavors/build.gradle
+++ b/tests/flavors/build.gradle
@@ -9,7 +9,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
flavorGroups "group1", "group2"
productFlavors {
diff --git a/tests/libsTest/app/build.gradle b/tests/libsTest/app/build.gradle
index eded7c2..2506b09 100644
--- a/tests/libsTest/app/build.gradle
+++ b/tests/libsTest/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
}
//
diff --git a/tests/libsTest/lib1/build.gradle b/tests/libsTest/lib1/build.gradle
index 3624c3b..f1e1e87 100644
--- a/tests/libsTest/lib1/build.gradle
+++ b/tests/libsTest/lib1/build.gradle
@@ -5,5 +5,5 @@ dependencies {
}
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/libsTest/lib2/build.gradle b/tests/libsTest/lib2/build.gradle
index a810790..182f845 100644
--- a/tests/libsTest/lib2/build.gradle
+++ b/tests/libsTest/lib2/build.gradle
@@ -1,6 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
-
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/libsTest/lib2b/build.gradle b/tests/libsTest/lib2b/build.gradle
index a810790..182f845 100644
--- a/tests/libsTest/lib2b/build.gradle
+++ b/tests/libsTest/lib2b/build.gradle
@@ -1,6 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
-
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/libsTest/libapp/build.gradle b/tests/libsTest/libapp/build.gradle
index a810790..182f845 100644
--- a/tests/libsTest/libapp/build.gradle
+++ b/tests/libsTest/libapp/build.gradle
@@ -1,6 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
-
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/migrated/build.gradle b/tests/migrated/build.gradle
index fd8ca17..fa7cbfd 100644
--- a/tests/migrated/build.gradle
+++ b/tests/migrated/build.gradle
@@ -12,7 +12,7 @@ buildscript {
apply plugin: 'android'
android {
- target = "android-15"
+ compileSdkVersion 15
sourceSets {
main {
diff --git a/tests/multiproject/app/build.gradle b/tests/multiproject/app/build.gradle
index a8af53e..11f65ff 100644
--- a/tests/multiproject/app/build.gradle
+++ b/tests/multiproject/app/build.gradle
@@ -5,7 +5,7 @@
apply plugin: 'android'
android {
- target 'android-15'
+ compileSdkVersion 15
}
dependencies {
diff --git a/tests/multiproject/baseLibrary/build.gradle b/tests/multiproject/baseLibrary/build.gradle
index f05d025..6c5b6a5 100644
--- a/tests/multiproject/baseLibrary/build.gradle
+++ b/tests/multiproject/baseLibrary/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android-library'
android {
- target 'android-15'
+ compileSdkVersion 15
}
dependencies {
diff --git a/tests/multiproject/library/build.gradle b/tests/multiproject/library/build.gradle
index a5f742c..bcce608 100644
--- a/tests/multiproject/library/build.gradle
+++ b/tests/multiproject/library/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android-library'
android {
- target 'android-15'
+ compileSdkVersion 15
}
dependencies {
diff --git a/tests/multires/build.gradle b/tests/multires/build.gradle
index a54bbbf..7353f59 100644
--- a/tests/multires/build.gradle
+++ b/tests/multires/build.gradle
@@ -9,7 +9,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
sourceSets {
main {
diff --git a/tests/overlay1/build.gradle b/tests/overlay1/build.gradle
index 8601ef1..60b8d4f 100644
--- a/tests/overlay1/build.gradle
+++ b/tests/overlay1/build.gradle
@@ -10,5 +10,5 @@ buildscript {
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
} \ No newline at end of file
diff --git a/tests/overlay2/build.gradle b/tests/overlay2/build.gradle
index e08ca60..3ec6b79 100644
--- a/tests/overlay2/build.gradle
+++ b/tests/overlay2/build.gradle
@@ -10,7 +10,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-15"
+ compileSdkVersion 15
productFlavors {
one {}
diff --git a/tests/renderscript/build.gradle b/tests/renderscript/build.gradle
index 1a92390..820afb8 100644
--- a/tests/renderscript/build.gradle
+++ b/tests/renderscript/build.gradle
@@ -12,7 +12,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-17"
+ compileSdkVersion 17
defaultConfig {
renderscriptTargetApi = 17
diff --git a/tests/renderscriptInLib/app/build.gradle b/tests/renderscriptInLib/app/build.gradle
index f04e302..982c831 100644
--- a/tests/renderscriptInLib/app/build.gradle
+++ b/tests/renderscriptInLib/app/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'android'
android {
- target "android-17"
+ compileSdkVersion 17
defaultConfig {
renderscriptTargetApi = 11
diff --git a/tests/renderscriptInLib/lib/build.gradle b/tests/renderscriptInLib/lib/build.gradle
index b7ce7ab..7b79c44 100644
--- a/tests/renderscriptInLib/lib/build.gradle
+++ b/tests/renderscriptInLib/lib/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target 'android-15'
+ compileSdkVersion 15
}
diff --git a/tests/renderscriptMultiSrc/build.gradle b/tests/renderscriptMultiSrc/build.gradle
index 13825b4..d947c94 100644
--- a/tests/renderscriptMultiSrc/build.gradle
+++ b/tests/renderscriptMultiSrc/build.gradle
@@ -12,7 +12,7 @@ buildscript {
apply plugin: 'android'
android {
- target "android-17"
+ compileSdkVersion 17
defaultConfig {
renderscriptTargetApi = 11
diff --git a/tests/repo/app/build.gradle b/tests/repo/app/build.gradle
index 2c0db45..bf2e2fb 100644
--- a/tests/repo/app/build.gradle
+++ b/tests/repo/app/build.gradle
@@ -19,6 +19,6 @@ dependencies {
}
android {
- target 'android-15'
+ compileSdkVersion 15
}
diff --git a/tests/repo/app/src/main/java/com/example/android/multiproject/MainActivity.java b/tests/repo/app/src/main/java/com/example/android/multiproject/MainActivity.java
index 60dd603..6a8b95b 100644
--- a/tests/repo/app/src/main/java/com/example/android/multiproject/MainActivity.java
+++ b/tests/repo/app/src/main/java/com/example/android/multiproject/MainActivity.java
@@ -18,9 +18,9 @@ public class MainActivity extends Activity {
setContentView(R.layout.main);
// some random code to test dependencies on util and guava
- Person p = new Person("foo");
- List<Person> persons = Lists.newArrayList();
- persons.add(p);
+ Person p = new Person("foo");
+ List<Person> persons = Lists.newArrayList();
+ persons.add(p);
}
public void sendMessage(View view) {
diff --git a/tests/repo/baseLibrary/build.gradle b/tests/repo/baseLibrary/build.gradle
index 89445f9..9ae0271 100644
--- a/tests/repo/baseLibrary/build.gradle
+++ b/tests/repo/baseLibrary/build.gradle
@@ -20,7 +20,7 @@ dependencies {
}
android {
- target 'android-15'
+ compileSdkVersion 15
}
group = 'com.example.android.multiproject'
diff --git a/tests/repo/library/build.gradle b/tests/repo/library/build.gradle
index 90ed7b6..84c8d6f 100644
--- a/tests/repo/library/build.gradle
+++ b/tests/repo/library/build.gradle
@@ -19,7 +19,7 @@ dependencies {
}
android {
- target 'android-15'
+ compileSdkVersion 15
}
group = 'com.example.android.multiproject'
diff --git a/tests/tictactoe/app/build.gradle b/tests/tictactoe/app/build.gradle
index 3d4a6f5..dfb03f0 100644
--- a/tests/tictactoe/app/build.gradle
+++ b/tests/tictactoe/app/build.gradle
@@ -8,5 +8,5 @@ dependencies {
}
android {
- target = "android-15"
+ compileSdkVersion 15
}
diff --git a/tests/tictactoe/lib/build.gradle b/tests/tictactoe/lib/build.gradle
index f7838fb..182f845 100644
--- a/tests/tictactoe/lib/build.gradle
+++ b/tests/tictactoe/lib/build.gradle
@@ -1,5 +1,5 @@
apply plugin: 'android-library'
android {
- target = "android-15"
+ compileSdkVersion 15
} \ No newline at end of file