diff options
author | Raphael <raphael@google.com> | 2011-10-14 13:11:28 -0700 |
---|---|---|
committer | Raphael <raphael@google.com> | 2011-10-14 15:44:10 -0700 |
commit | b0ac9620f74f0b3817a8847178ca53d876b78a09 (patch) | |
tree | 5e6b6dae0185c7a95480489a9b282aa093e42c5d /sdkmanager/libs/sdklib | |
parent | e15e80e72f07e0dfdb1f0a41e41814f5aa62a45f (diff) | |
download | sdk-b0ac9620f74f0b3817a8847178ca53d876b78a09.zip sdk-b0ac9620f74f0b3817a8847178ca53d876b78a09.tar.gz sdk-b0ac9620f74f0b3817a8847178ca53d876b78a09.tar.bz2 |
SDK Manager: env var SDK_TEST_BASE_URL
Support a new env var SDK_TEST_BASE_URL that should
be set to the root of an alternate repo. When set
it will completly override the built-in default
repository base URL.
Change-Id: I4852d4c60aac19e2e5c7c34d848b15254d93afb6
Diffstat (limited to 'sdkmanager/libs/sdklib')
3 files changed, 17 insertions, 2 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonsListFetcher.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonsListFetcher.java index c83a3c1..62cc9a4 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonsListFetcher.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonsListFetcher.java @@ -19,6 +19,7 @@ package com.android.sdklib.internal.repository; import com.android.annotations.VisibleForTesting;
import com.android.annotations.VisibleForTesting.Visibility;
import com.android.sdklib.repository.SdkAddonsListConstants;
+import com.android.sdklib.repository.SdkRepoConstants;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
@@ -444,6 +445,13 @@ public class AddonsListFetcher { @VisibleForTesting(visibility=Visibility.PRIVATE)
protected Site[] parseAddonsList(Document doc, String nsUri, ITaskMonitor monitor) {
+ String baseUrl = System.getenv("SDK_TEST_BASE_URL"); //$NON-NLS-1$
+ if (baseUrl != null) {
+ if (baseUrl.length() <= 0 || !baseUrl.endsWith("/")) { //$NON-NLS-1$
+ baseUrl = null;
+ }
+ }
+
Node root = getFirstChild(doc, nsUri, SdkAddonsListConstants.NODE_SDK_ADDONS_LIST);
if (root != null) {
ArrayList<Site> sites = new ArrayList<Site>();
@@ -462,6 +470,12 @@ public class AddonsListFetcher { String strUrl = url.getTextContent().trim();
String strName = name.getTextContent().trim();
+ if (baseUrl != null &&
+ strUrl.startsWith(SdkRepoConstants.URL_GOOGLE_SDK_SITE)) {
+ strUrl = baseUrl +
+ strUrl.substring(SdkRepoConstants.URL_GOOGLE_SDK_SITE.length());
+ }
+
if (strUrl.length() > 0 && strName.length() > 0) {
sites.add(new Site(strUrl, strName));
}
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkAddonsListConstants.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkAddonsListConstants.java index f8ed181..7c6e411 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkAddonsListConstants.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkAddonsListConstants.java @@ -26,7 +26,7 @@ public class SdkAddonsListConstants { /** The URL where to find the official addons list fle. */
public static final String URL_ADDON_LIST =
- "https://dl-ssl.google.com/android/repository/addons_list.xml"; //$NON-NLS-1$
+ SdkRepoConstants.URL_GOOGLE_SDK_SITE + "addons_list.xml"; //$NON-NLS-1$
/** The canonical URL filename for addons-list XML files. */
public static final String URL_DEFAULT_FILENAME = "addons_list.xml"; //$NON-NLS-1$
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepoConstants.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepoConstants.java index bbd5f7a..710ec97 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepoConstants.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepoConstants.java @@ -30,7 +30,8 @@ public class SdkRepoConstants extends RepoConstants { * Valid version numbers are between 1 and this number, included. */
public static final int NS_LATEST_VERSION = 5;
- /** The URL of the official Google sdk-repository site. */
+ /** The URL of the official Google sdk-repository site.
+ * The URL ends with a /, allowing easy concatenation. */
public static final String URL_GOOGLE_SDK_SITE =
"https://dl-ssl.google.com/android/repository/"; //$NON-NLS-1$
|