diff options
author | Raphael <raphael@google.com> | 2011-12-16 15:49:43 -0800 |
---|---|---|
committer | Raphael <raphael@google.com> | 2011-12-16 16:56:28 -0800 |
commit | d09ef044f4f0d6dbcb98d152c9d2ee4f21c5cb0a (patch) | |
tree | 1dfe63736f645ac3dd9b19b2bcdda7f50df08f3a | |
parent | d5f733212db0aaa7b80d0f9d7184f8cc6943503d (diff) | |
download | sdk-d09ef044f4f0d6dbcb98d152c9d2ee4f21c5cb0a.zip sdk-d09ef044f4f0d6dbcb98d152c9d2ee4f21c5cb0a.tar.gz sdk-d09ef044f4f0d6dbcb98d152c9d2ee4f21c5cb0a.tar.bz2 |
SDK Manager: list/update sdk --all
This renames the list/update sdk --obsolete flag
to --all (-a shortcut) to better reflect what the
code actually does.
SDK Bug: 23004
Change-Id: Ide60f3de97767283e7574a92d4ec96b0e5d4fd86
5 files changed, 89 insertions, 48 deletions
diff --git a/sdkmanager/app/src/com/android/sdkmanager/Main.java b/sdkmanager/app/src/com/android/sdkmanager/Main.java index 06dea46..0129766 100644 --- a/sdkmanager/app/src/com/android/sdkmanager/Main.java +++ b/sdkmanager/app/src/com/android/sdkmanager/Main.java @@ -371,29 +371,45 @@ public class Main { } private void displayRemoteSdkListNoUI() { - boolean force = mSdkCommandLine.getFlagForce(); - boolean useHttp = mSdkCommandLine.getFlagNoHttps(); - boolean obsolete = mSdkCommandLine.getFlagObsolete(); + boolean force = mSdkCommandLine.getFlagForce(); + boolean useHttp = mSdkCommandLine.getFlagNoHttps(); + boolean all = mSdkCommandLine.getFlagAll(); boolean extended = mSdkCommandLine.getFlagExtended(); String proxyHost = mSdkCommandLine.getParamProxyHost(); String proxyPort = mSdkCommandLine.getParamProxyPort(); - SdkUpdaterNoWindow upd = new SdkUpdaterNoWindow(mOsSdkFolder, mSdkManager, mSdkLog, - force, useHttp, proxyHost, proxyPort); - upd.listRemotePackages(obsolete, extended); + boolean obsolete = mSdkCommandLine.getFlagObsolete(); + all |= obsolete; + + SdkUpdaterNoWindow upd = new SdkUpdaterNoWindow( + mOsSdkFolder, + mSdkManager, + mSdkLog, + force, + useHttp, + proxyHost, + proxyPort); + upd.listRemotePackages(all, extended); + + if (obsolete) { + mSdkLog.printf("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); + } } /** * Updates the whole SDK without any UI, just using console output. */ private void updateSdkNoUI() { - boolean force = mSdkCommandLine.getFlagForce(); - boolean useHttp = mSdkCommandLine.getFlagNoHttps(); - boolean dryMode = mSdkCommandLine.getFlagDryMode(); - boolean obsolete = mSdkCommandLine.getFlagObsolete(); + boolean force = mSdkCommandLine.getFlagForce(); + boolean useHttp = mSdkCommandLine.getFlagNoHttps(); + boolean dryMode = mSdkCommandLine.getFlagDryMode(); + boolean all = mSdkCommandLine.getFlagAll(); String proxyHost = mSdkCommandLine.getParamProxyHost(); String proxyPort = mSdkCommandLine.getParamProxyPort(); + boolean obsolete = mSdkCommandLine.getFlagObsolete(); + all |= obsolete; + // Check filter types. Pair<String, ArrayList<String>> filterResult = checkFilterValues(mSdkCommandLine.getParamFilter()); @@ -402,9 +418,19 @@ public class Main { errorAndExit(filterResult.getFirst()); } - SdkUpdaterNoWindow upd = new SdkUpdaterNoWindow(mOsSdkFolder, mSdkManager, mSdkLog, - force, useHttp, proxyHost, proxyPort); - upd.updateAll(filterResult.getSecond(), obsolete, dryMode); + SdkUpdaterNoWindow upd = new SdkUpdaterNoWindow( + mOsSdkFolder, + mSdkManager, + mSdkLog, + force, + useHttp, + proxyHost, + proxyPort); + upd.updateAll(filterResult.getSecond(), all, dryMode); + + if (obsolete) { + mSdkLog.printf("Note: Flag --obsolete is deprecated and will be removed in the next version.\n Please use --all instead.\n"); + } } /** diff --git a/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java b/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java index e334e62..0390580 100644 --- a/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java +++ b/sdkmanager/app/src/com/android/sdkmanager/SdkCommandLine.java @@ -79,7 +79,7 @@ class SdkCommandLine extends CommandLineProcessor { public static final String KEY_PROXY_PORT = "proxy-port"; //$NON-NLS-1$ public static final String KEY_PROXY_HOST = "proxy-host"; //$NON-NLS-1$ public static final String KEY_DRY_MODE = "dry-mode"; //$NON-NLS-1$ - public static final String KEY_OBSOLETE = "obsolete"; //$NON-NLS-1$ + public static final String KEY_ALL = "all"; //$NON-NLS-1$ public static final String KEY_EXTENDED = "extended"; //$NON-NLS-1$ public static final String KEY_SNAPSHOT = "snapshot"; //$NON-NLS-1$ public static final String KEY_COMPACT = "compact"; //$NON-NLS-1$ @@ -259,8 +259,13 @@ class SdkCommandLine extends CommandLineProcessor { null); define(Mode.BOOLEAN, false, - VERB_LIST, OBJECT_SDK, "o", KEY_OBSOLETE, //$NON-NLS-1$ - "Lists all packages (including obsolete and installed ones)", + VERB_LIST, OBJECT_SDK, "a", KEY_ALL, //$NON-NLS-1$ + "Lists all available packages (including obsolete and installed ones)", + false); + + define(Mode.BOOLEAN, false, + VERB_LIST, OBJECT_SDK, "o", "obsolete", //$NON-NLS-1$ + "Deprecated. Please use --all instead.", false); define(Mode.BOOLEAN, false, @@ -301,8 +306,13 @@ class SdkCommandLine extends CommandLineProcessor { null); define(Mode.BOOLEAN, false, - VERB_UPDATE, OBJECT_SDK, "o", KEY_OBSOLETE, //$NON-NLS-1$ - "Installs obsolete packages.", + VERB_UPDATE, OBJECT_SDK, "a", KEY_ALL, //$NON-NLS-1$ + "Includes all packages (such as obsolete and non-dependent ones.)", + false); + + define(Mode.BOOLEAN, false, + VERB_UPDATE, OBJECT_SDK, "p", "obsolete", //$NON-NLS-1$ + "Deprecated. Please use --all instead.", false); define(Mode.BOOLEAN, false, @@ -533,7 +543,12 @@ class SdkCommandLine extends CommandLineProcessor { /** Helper to retrieve the --obsolete flag. */ public boolean getFlagObsolete() { - return ((Boolean) getValue(null, null, KEY_OBSOLETE)).booleanValue(); + return ((Boolean) getValue(null, null, "obsolete")).booleanValue(); + } + + /** Helper to retrieve the --all flag. */ + public boolean getFlagAll() { + return ((Boolean) getValue(null, null, KEY_ALL)).booleanValue(); } /** Helper to retrieve the --extended flag. */ diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterLogic.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterLogic.java index c24ec55..60c0909 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterLogic.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterLogic.java @@ -70,7 +70,7 @@ class SdkUpdaterLogic { public List<ArchiveInfo> getAllRemoteArchives(
SdkSources sources,
Package[] localPkgs,
- boolean includeObsoletes) {
+ boolean includeAll) {
List<Package> remotePkgs = new ArrayList<Package>();
SdkSource[] remoteSources = sources.getAllSources();
@@ -79,7 +79,7 @@ class SdkUpdaterLogic { ArrayList<Archive> archives = new ArrayList<Archive>();
for (Package remotePkg : remotePkgs) {
// Only look for non-obsolete updates unless requested to include them
- if (includeObsoletes || !remotePkg.isObsolete()) {
+ if (includeAll || !remotePkg.isObsolete()) {
// Found a suitable update. Only accept the remote package
// if it provides at least one compatible archive
@@ -137,7 +137,7 @@ class SdkUpdaterLogic { Collection<Archive> selectedArchives,
SdkSources sources,
Package[] localPkgs,
- boolean includeObsoletes) {
+ boolean includeAll) {
List<ArchiveInfo> archives = new ArrayList<ArchiveInfo>();
List<Package> remotePkgs = new ArrayList<Package>();
@@ -154,7 +154,7 @@ class SdkUpdaterLogic { localArchives,
remotePkgs,
remoteSources,
- includeObsoletes);
+ includeAll);
}
// Once we have a list of packages to install, we try to solve all their
@@ -198,7 +198,7 @@ class SdkUpdaterLogic { * already scheduled for install. This method will add to the list.
* @param sources The list of all sources, to fetch them as necessary.
* @param localPkgs The list of all currently installed packages.
- * @param includeObsoletes When true, this will list all platform
+ * @param includeAll When true, this will list all platforms.
* (included these lower than the highest installed one) as well as
* all obsolete packages of these platforms.
*/
@@ -206,7 +206,7 @@ class SdkUpdaterLogic { Collection<ArchiveInfo> archives,
SdkSources sources,
Package[] localPkgs,
- boolean includeObsoletes) {
+ boolean includeAll) {
// Create ArchiveInfos out of local (installed) packages.
ArchiveInfo[] localArchives = createLocalArchives(localPkgs);
@@ -217,7 +217,7 @@ class SdkUpdaterLogic { float currentAddonScore = 0;
float currentDocScore = 0;
HashMap<String, Float> currentExtraScore = new HashMap<String, Float>();
- if (!includeObsoletes) {
+ if (!includeAll) {
if (localPkgs != null) {
for (Package p : localPkgs) {
int rev = p.getRevision();
@@ -257,7 +257,7 @@ class SdkUpdaterLogic { for (Package p : remotePkgs) {
// Skip obsolete packages unless requested to include them.
- if (p.isObsolete() && !includeObsoletes) {
+ if (p.isObsolete() && !includeAll) {
continue;
}
@@ -314,7 +314,7 @@ class SdkUpdaterLogic { if (pp.getIncludedAbi() == null) {
for (Package p2 : remotePkgs) {
if (!(p2 instanceof SystemImagePackage) ||
- (p2.isObsolete() && !includeObsoletes)) {
+ (p2.isObsolete() && !includeAll)) {
continue;
}
SystemImagePackage sip = (SystemImagePackage) p2;
@@ -395,7 +395,7 @@ class SdkUpdaterLogic { ArchiveInfo[] localArchives,
Collection<Package> remotePkgs,
SdkSource[] remoteSources,
- boolean includeObsoletes) {
+ boolean includeAll) {
ArrayList<Archive> updates = new ArrayList<Archive>();
fetchRemotePackages(remotePkgs, remoteSources);
@@ -409,7 +409,7 @@ class SdkUpdaterLogic { for (Package remotePkg : remotePkgs) {
// Only look for non-obsolete updates unless requested to include them
- if ((includeObsoletes || !remotePkg.isObsolete()) &&
+ if ((includeAll || !remotePkg.isObsolete()) &&
localPkg.canBeUpdatedBy(remotePkg) == UpdateInfo.UPDATE) {
// Found a suitable update. Only accept the remote package
// if it provides at least one compatible archive
diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java index 3fe5bff..26dd5c5 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/SdkUpdaterNoWindow.java @@ -102,25 +102,25 @@ public class SdkUpdaterNoWindow { * * @param pkgFilter A list of {@link SdkRepoConstants#NODES} to limit the type of packages * we can update. A null or empty list means to update everything possible. - * @param includeObsoletes True to also list and install obsolete packages. + * @param includeAll True to list and install all packages, including obsolete ones. * @param dryMode True to check what would be updated/installed but do not actually * download or install anything. */ public void updateAll( ArrayList<String> pkgFilter, - boolean includeObsoletes, + boolean includeAll, boolean dryMode) { - mUpdaterData.updateOrInstallAll_NoGUI(pkgFilter, includeObsoletes, dryMode); + mUpdaterData.updateOrInstallAll_NoGUI(pkgFilter, includeAll, dryMode); } /** * Lists remote packages available for install using 'android update sdk --no-ui'. * - * @param includeObsoletes True to also list and install obsolete packages. + * @param includeAll True to list and install all packages, including obsolete ones. * @param extendedOutput True to display more details on each package. */ - public void listRemotePackages(boolean includeObsoletes, boolean extendedOutput) { - mUpdaterData.listRemotePackages_NoGUI(includeObsoletes, extendedOutput); + public void listRemotePackages(boolean includeAll, boolean extendedOutput) { + mUpdaterData.listRemotePackages_NoGUI(includeAll, extendedOutput); } // ----- diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java index 40ba59c..0a89585 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdaterData.java @@ -710,34 +710,34 @@ public class UpdaterData implements IUpdaterData { * Used by {@link UpdaterData#listRemotePackages_NoGUI} and
* {@link UpdaterData#updateOrInstallAll_NoGUI}.
*
- * @param includeObsoletes True to also list obsolete packages.
+ * @param includeAll True to list and install all packages, including obsolete ones.
* @return A list of potential {@link ArchiveInfo} to install.
*/
- private List<ArchiveInfo> getRemoteArchives_NoGUI(boolean includeObsoletes) {
+ private List<ArchiveInfo> getRemoteArchives_NoGUI(boolean includeAll) {
refreshSources(true);
loadRemoteAddonsList(new NullTaskMonitor(getSdkLog()));
List<ArchiveInfo> archives;
SdkUpdaterLogic ul = new SdkUpdaterLogic(this);
- if (includeObsoletes) {
+ if (includeAll) {
archives = ul.getAllRemoteArchives(
getSources(),
getLocalSdkParser().getPackages(),
- includeObsoletes);
+ includeAll);
} else {
archives = ul.computeUpdates(
null /*selectedArchives*/,
getSources(),
getLocalSdkParser().getPackages(),
- includeObsoletes);
+ includeAll);
ul.addNewPlatforms(
archives,
getSources(),
getLocalSdkParser().getPackages(),
- includeObsoletes);
+ includeAll);
}
Collections.sort(archives);
@@ -748,12 +748,12 @@ public class UpdaterData implements IUpdaterData { * Lists remote packages available for install using
* {@link UpdaterData#updateOrInstallAll_NoGUI}.
*
- * @param includeObsoletes True to also list obsolete packages.
+ * @param includeAll True to list and install all packages, including obsolete ones.
* @param extendedOutput True to display more details on each package.
*/
- public void listRemotePackages_NoGUI(boolean includeObsoletes, boolean extendedOutput) {
+ public void listRemotePackages_NoGUI(boolean includeAll, boolean extendedOutput) {
- List<ArchiveInfo> archives = getRemoteArchives_NoGUI(includeObsoletes);
+ List<ArchiveInfo> archives = getRemoteArchives_NoGUI(includeAll);
mSdkLog.printf("Packages available for installation or update: %1$d\n", archives.size());
@@ -790,17 +790,17 @@ public class UpdaterData implements IUpdaterData { * @param pkgFilter A list of {@link SdkRepoConstants#NODES} or {@link Package#installId()}
* or package indexes to limit the packages we can update or install.
* A null or empty list means to update everything possible.
- * @param includeObsoletes True to also list and install obsolete packages.
+ * @param includeAll True to list and install all packages, including obsolete ones.
* @param dryMode True to check what would be updated/installed but do not actually
* download or install anything.
* @return A list of archives that have been installed. Can be null if nothing was done.
*/
public List<Archive> updateOrInstallAll_NoGUI(
Collection<String> pkgFilter,
- boolean includeObsoletes,
+ boolean includeAll,
boolean dryMode) {
- List<ArchiveInfo> archives = getRemoteArchives_NoGUI(includeObsoletes);
+ List<ArchiveInfo> archives = getRemoteArchives_NoGUI(includeAll);
// Filter the selected archives to only keep the ones matching the filter
if (pkgFilter != null && pkgFilter.size() > 0 && archives != null && archives.size() > 0) {
|