aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2009-08-12 17:48:32 -0700
committerXavier Ducrohet <xav@android.com>2009-08-13 11:18:28 -0700
commit7dfc404b29e03997c612877c6762e89d3f2f8aa9 (patch)
treea7f3d84da9533b4d3f56b34552e54eed0aec03b1
parent28d7fe78211540e2977afb51d2ea8af45bdd08bb (diff)
downloadsdk-7dfc404b29e03997c612877c6762e89d3f2f8aa9.zip
sdk-7dfc404b29e03997c612877c6762e89d3f2f8aa9.tar.gz
sdk-7dfc404b29e03997c612877c6762e89d3f2f8aa9.tar.bz2
On project creation, put the app package in build.properties
This enabled 'ant uninstall' to work. Also, add an error message to the uninstall rules in case the property is not defined. BUG: 2050451
-rw-r--r--scripts/android_rules.xml10
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java3
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java17
3 files changed, 18 insertions, 12 deletions
diff --git a/scripts/android_rules.xml b/scripts/android_rules.xml
index 1f5daac..be53264 100644
--- a/scripts/android_rules.xml
+++ b/scripts/android_rules.xml
@@ -201,7 +201,15 @@
</target>
<!-- Uinstall the package from the default emulator -->
- <target name="uninstall">
+ <target name="uninstall.check">
+ <condition property="uninstall.run">
+ <isset property="application-package" />
+ </condition>
+ </target>
+ <target name="uninstall.error" depends="uninstall.check" unless="uninstall.run">
+ <echo>Unable to run 'ant unintall', application-package is not defined in build.properties</echo>
+ </target>
+ <target name="uninstall" depends="uninstall.error" if="uninstall.run">
<echo>Uninstalling ${application-package} from the default emulator...</echo>
<exec executable="${adb}" failonerror="true">
<arg value="uninstall" />
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
index 1e16a83..916fa7c 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
@@ -199,9 +199,10 @@ public class ProjectCreator {
defaultProperties.setAndroidTarget(target);
defaultProperties.save();
- // create an empty build.properties
+ // create a build.properties file with just the application package
ProjectProperties buildProperties = ProjectProperties.create(folderPath,
PropertyType.BUILD);
+ buildProperties.setProperty(ProjectProperties.PROPERTY_APP_PACKAGE, packageName);
buildProperties.save();
// create the map for place-holders of values to replace in the templates
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
index 33f8837..d71491c 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
@@ -22,7 +22,6 @@ import com.android.sdklib.SdkManager;
import java.io.File;
import java.io.FileOutputStream;
-import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.HashMap;
@@ -38,6 +37,7 @@ public final class ProjectProperties {
public final static String PROPERTY_TARGET = "target";
public final static String PROPERTY_APK_CONFIGS = "apk-configurations";
public final static String PROPERTY_SDK = "sdk-location";
+ public final static String PROPERTY_APP_PACKAGE = "application-package";
public static enum PropertyType {
BUILD("build.properties", BUILD_HEADER),
@@ -85,15 +85,9 @@ public final class ProjectProperties {
"# This file must be checked in Version Control Systems, as it is\n" +
"# integral to the build system of your project.\n" +
"\n" +
- "# The name of your application package as defined in the manifest.\n" +
- "# Used by the 'uninstall' rule.\n"+
- "#application-package=com.example.myproject\n" +
- "\n" +
- "# The name of the source folder.\n" +
- "#source-folder=src\n" +
- "\n" +
- "# The name of the output folder.\n" +
- "#out-folder=bin\n" +
+ "# You can use this to override default values such as\n" +
+ "# 'source-folder' for the location of your java source folder and\n" +
+ "# 'out-folder' for the location of your output folder.\n" +
"\n";
private final static Map<String, String> COMMENT_MAP = new HashMap<String, String>();
@@ -116,6 +110,9 @@ public final class ProjectProperties {
"# location of the SDK. This is only used by Ant\n" +
"# For customization when using a Version Control System, please read the\n" +
"# header note.\n");
+ COMMENT_MAP.put(PROPERTY_APP_PACKAGE,
+ "# The name of your application package as defined in the manifest.\n" +
+ "# Used by the 'uninstall' rule.\n");
}
private final String mProjectFolderOsPath;