diff options
| author | Xavier Ducrohet <xav@android.com> | 2009-09-28 16:25:45 -0700 |
|---|---|---|
| committer | Xavier Ducrohet <xav@android.com> | 2009-09-28 16:30:13 -0700 |
| commit | cc02b85ba63e5029ec279a39f1db82a2c6b55b31 (patch) | |
| tree | 07598e1fae1fd9b82989915a2ba93d16260cfccc /tools/sdkmanager/app | |
| parent | 9e4715e6d94e300605ab845c2e68bddaf8c23c8f (diff) | |
| download | android_development-cc02b85ba63e5029ec279a39f1db82a2c6b55b31.tar.gz android_development-cc02b85ba63e5029ec279a39f1db82a2c6b55b31.tar.bz2 android_development-cc02b85ba63e5029ec279a39f1db82a2c6b55b31.zip | |
Add support for 'android update test-project'.
This is only to be used to update the location of the main project.
To update other properties, 'update project' can be used.
Change-Id: I96ff44295460c7e331953263abccea17108d5a70
Diffstat (limited to 'tools/sdkmanager/app')
| -rw-r--r-- | tools/sdkmanager/app/src/com/android/sdkmanager/Main.java | 26 | ||||
| -rw-r--r-- | tools/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java | 8 |
2 files changed, 29 insertions, 5 deletions
diff --git a/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java b/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java index c691af726..201c2fed4 100644 --- a/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java +++ b/tools/sdkmanager/app/src/com/android/sdkmanager/Main.java @@ -239,6 +239,10 @@ public class Main { SdkCommandLine.OBJECT_PROJECT.equals(directObject)) { updateProject(); + } else if (SdkCommandLine.VERB_UPDATE.equals(verb) && + SdkCommandLine.OBJECT_TEST_PROJECT.equals(directObject)) { + updateTestProject(); + } else if (verb == null && directObject == null) { showMainWindow(); @@ -345,7 +349,12 @@ public class Main { if (parentProject.isAbsolute() == false) { // if the path is not absolute, we need to resolve it based on the // destination path of the project - parentProject = new File(projectDir, pathToMainProject); + try { + parentProject = new File(projectDir, pathToMainProject).getCanonicalFile(); + } catch (IOException e) { + errorAndExit("Unable to resolve Main project's directory: %1$s", + pathToMainProject); + } } if (parentProject.isDirectory() == false) { @@ -491,6 +500,21 @@ public class Main { } /** + * Updates an existing test project with a new path to the main project. + */ + private void updateTestProject() { + ProjectCreator creator = new ProjectCreator(mOsSdkFolder, + mSdkCommandLine.isVerbose() ? OutputLevel.VERBOSE : + mSdkCommandLine.isSilent() ? OutputLevel.SILENT : + OutputLevel.NORMAL, + mSdkLog); + + String projectDir = getProjectLocation(mSdkCommandLine.getParamLocationPath()); + + creator.updateTestProject(projectDir, mSdkCommandLine.getParamTestProjectMain()); + } + + /** * Adjusts the project location to make it absolute & canonical relative to the * working directory, if any. * diff --git a/tools/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java b/tools/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java index 35bbd0dee..27afd481f 100644 --- a/tools/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java +++ b/tools/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java @@ -192,10 +192,10 @@ class SdkCommandLine extends CommandLineProcessor { VERB_UPDATE, OBJECT_PROJECT, "p", KEY_PATH, "Location path of the project", null); - define(Mode.STRING, true, + define(Mode.STRING, false, VERB_UPDATE, OBJECT_PROJECT, "t", KEY_TARGET_ID, - "Target id to set for the project", -1); + "Target id to set for the project", null); define(Mode.STRING, false, VERB_UPDATE, OBJECT_PROJECT, "n", KEY_NAME, @@ -214,7 +214,7 @@ class SdkCommandLine extends CommandLineProcessor { define(Mode.STRING, true, VERB_UPDATE, OBJECT_TEST_PROJECT, "m", KEY_MAIN_PROJECT, - "Location path of the project to test", null); + "Location path of the project to test, relative to the new project", null); } @Override @@ -290,6 +290,6 @@ class SdkCommandLine extends CommandLineProcessor { /** Helper to retrieve the --main value. */ public String getParamTestProjectMain() { - return ((String) getValue(null, OBJECT_TEST_PROJECT, KEY_MAIN_PROJECT)); + return ((String) getValue(null, null, KEY_MAIN_PROJECT)); } } |
