OSDN Git Service

SDK Manager support for future schemas.
authorRaphael <raphael@google.com>
Mon, 16 Nov 2009 21:51:15 +0000 (13:51 -0800)
committerRaphael <raphael@google.com>
Mon, 16 Nov 2009 21:59:03 +0000 (13:59 -0800)
This CL cleans up the v2 test by removing all v2 stuff
from the code right now. We only keep the part that
handles future schemas and right now the latest version is 1.

Change-Id: I31e6aeaf0582e94c67e1cc8317bec479ea7a52e7

tools/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/RepoSource.java
tools/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepository.java
tools/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository-2.xsd [deleted file]
tools/sdkmanager/libs/sdklib/tests/com/android/sdklib/repository/SdkRepositoryTest.java
tools/sdkmanager/libs/sdklib/tests/com/android/sdklib/testdata/repository_sample_2.xml [deleted file]

index 6e8d984..b5a7c8d 100755 (executable)
@@ -322,7 +322,7 @@ public class RepoSource implements IDescription {
 \r
         String lastError = null;\r
         String extraError = null;\r
-        for (int version = SdkRepository.XSD_LATEST_VERSION; version >= 1; version--) {\r
+        for (int version = SdkRepository.NS_LATEST_VERSION; version >= 1; version--) {\r
             try {\r
                 Validator validator = getValidator(version);\r
 \r
index 2cfca6f..725dcbb 100755 (executable)
@@ -26,30 +26,24 @@ public class SdkRepository {
 \r
     /** The URL of the official Google sdk-repository site. */\r
     public static final String URL_GOOGLE_SDK_REPO_SITE =\r
-        "https://dl-ssl.google.com/android/repository/";      //$NON-NLS-1$\r
+        "https://dl-ssl.google.com/android/repository/";                        //$NON-NLS-1$\r
 \r
     public static final String URL_DEFAULT_XML_FILE = "repository.xml";         //$NON-NLS-1$\r
 \r
-    /** The XML namespace of the sdk-repository XML version 1.\r
-     * @deprecated\r
-     */\r
-    public static final String NS_SDK_REPOSITORY_1 = getSchemaUri(1);\r
-\r
-    /** The XML namespace of the sdk-repository XML version 2.\r
-     * @deprecated\r
-     */\r
-    public static final String NS_SDK_REPOSITORY_2 = getSchemaUri(2);\r
-\r
-    /** The XML namespace of the latest sdk-repository XML. */\r
-    public static final String NS_SDK_REPOSITORY = NS_SDK_REPOSITORY_2;\r
+    /** The base of our XML namespace. */\r
+    private static final String NS_SDK_REPOSITORY_BASE =\r
+        "http://schemas.android.com/sdk/android/repository/";                   //$NON-NLS-1$\r
 \r
     /** The pattern of our XML namespace. */\r
     public static final String NS_SDK_REPOSITORY_PATTERN =\r
-        "http://schemas.android.com/sdk/android/repository/[1-9][0-9]*";        //$NON-NLS-1$\r
+        NS_SDK_REPOSITORY_BASE + "[1-9][0-9]*";        //$NON-NLS-1$\r
 \r
-    /** The latest version of the sdk-repository XML Schema, currently 2.\r
+    /** The latest version of the sdk-repository XML Schema.\r
      *  Valid version numbers are between 1 and this number, included. */\r
-    public static final int XSD_LATEST_VERSION = 2;\r
+    public static final int NS_LATEST_VERSION = 1;\r
+\r
+    /** The XML namespace of the latest sdk-repository XML. */\r
+    public static final String NS_SDK_REPOSITORY = getSchemaUri(NS_LATEST_VERSION);\r
 \r
     /** The root sdk-repository element */\r
     public static final String NODE_SDK_REPOSITORY = "sdk-repository";          //$NON-NLS-1$\r
@@ -135,8 +129,7 @@ public class SdkRepository {
     /**\r
      * Returns a stream to the requested repository XML Schema.\r
      *\r
-     * @param version 1 for {@link #NS_SDK_REPOSITORY_1}, 2 for {@link #NS_SDK_REPOSITORY_2}.\r
-     *        You can use {@link #XSD_LATEST_VERSION} to always get the latest version.\r
+     * @param version Between 1 and {@link #NS_LATEST_VERSION}, included.\r
      * @return An {@link InputStream} object for the local XSD file or\r
      *         null if there is no schema for the requested version.\r
      */\r
@@ -147,11 +140,10 @@ public class SdkRepository {
 \r
     /**\r
      * Returns the URI of the SDK Repository schema for the given version number.\r
-     * @param version Between 1 and {@link #XSD_LATEST_VERSION} included.\r
+     * @param version Between 1 and {@link #NS_LATEST_VERSION} included.\r
      */\r
     public static String getSchemaUri(int version) {\r
-        return String.format("http://schemas.android.com/sdk/android/repository/%d",  //$NON-NLS-1$\r
-                version); //\r
+        return String.format(NS_SDK_REPOSITORY_BASE + "%d", version);           //$NON-NLS-1$\r
     }\r
 \r
 }\r
diff --git a/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository-2.xsd b/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository-2.xsd
deleted file mode 100755 (executable)
index 31b173f..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2009 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.
--->
-<xsd:schema
-    targetNamespace="http://schemas.android.com/sdk/android/repository/2"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    xmlns:sdk="http://schemas.android.com/sdk/android/repository/2"
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="1">
-
-    <!-- The repository contains a collection of downloadable items known as
-         "packages". Each package has a type and various attributes and contains
-         a list of file "archives" that can be downloaded for specific OSes.
-
-         An Android SDK repository is a web site that contains a "repository.xml"
-         file that conforms to this XML Schema.
-    -->
-
-    <xsd:element name="sdk-repository">
-        <xsd:annotation>
-            <xsd:documentation>
-                The repository contains collections of downloadable packages.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:complexType>
-            <xsd:choice minOccurs="0" maxOccurs="unbounded">
-
-                <!-- The definition of an SDK platform package. -->
-
-                <xsd:element name="platform">
-                    <xsd:annotation>
-                        <xsd:documentation>An SDK platform package.</xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                            <!-- The Android platform version. It is string such as "1.0". -->
-                            <xsd:element name="version"   type="xsd:normalizedString" />
-                            <!-- The Android API Level for the platform. An int > 0. -->
-                            <xsd:element name="api-level" type="xsd:positiveInteger"  />
-                            <!-- The optional codename for this platform, if it's a preview. -->
-                            <xsd:element name="codename"  type="xsd:string" minOccurs="0" />
-
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-                            <!-- The minimal revision of tools required by this package.
-                                 Optional. If present, must be an int > 0. -->
-                            <xsd:element name="min-tools-rev" type="xsd:positiveInteger" minOccurs="0" />
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of an SDK Add-on package. -->
-
-                <xsd:element name="add-on">
-                    <xsd:annotation>
-                        <xsd:documentation>An SDK add-on package.</xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                            <!-- The name of the add-on. -->
-                            <xsd:element name="name"      type="xsd:normalizedString" />
-                            <!-- The vendor of the add-on. -->
-                            <xsd:element name="vendor"    type="xsd:normalizedString" />
-                            <!-- The Android API Level for the add-on. An int > 0. -->
-                            <xsd:element name="api-level" type="xsd:positiveInteger"  />
-                            <!-- The optional codename for this add-on, if it's a preview. -->
-                            <xsd:element name="codename"  type="xsd:string" minOccurs="0" />
-
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-
-                            <!-- An add-on can declare 0 or more libraries. -->
-
-                            <xsd:element name="libs">
-                                <xsd:complexType>
-                                    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-                                        <xsd:element name="lib">
-                                            <xsd:complexType>
-                                                <xsd:all>
-                                                    <!-- The name of the library. -->
-                                                    <xsd:element name="name" type="xsd:normalizedString" />
-                                                    <!-- The optional description of this add-on library. -->
-                                                    <xsd:element name="description" type="xsd:string" minOccurs="0" />
-                                                </xsd:all>
-                                            </xsd:complexType>
-                                        </xsd:element>
-                                    </xsd:sequence>
-                                </xsd:complexType>
-                            </xsd:element>
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of an SDK tool package. -->
-
-                <xsd:element name="tool">
-                    <xsd:annotation>
-                        <xsd:documentation>An SDK tool package.</xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of an SDK doc package. -->
-
-                <xsd:element name="doc">
-                    <xsd:annotation>
-                        <xsd:documentation>An SDK doc package.</xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                            <!-- The Android API Level for the documentation. An int > 0. -->
-                            <xsd:element name="api-level" type="xsd:positiveInteger"  />
-                            <!-- The optional codename for this doc, if it's a preview. -->
-                            <xsd:element name="codename"  type="xsd:string" minOccurs="0" />
-
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of an SDK extra package. This kind of package is for
-                     "free" content and specifies in which fixed root directory it must be
-                     installed.
-                -->
-
-                <xsd:element name="extra">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            An SDK extra package. This kind of package is for "free"
-                            content and specifies in which fixed root directory it must be
-                            installed.
-                            The paths "add-ons", "platforms", "tools" and "docs" are
-                            reserved and cannot be used.
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                            <!-- The install folder name. It must be a single-segment path.
-                                 The paths "add-ons", "platforms", "tools" and "docs" are
-                                 reserved and cannot be used.
-                            -->
-                            <xsd:element name="path">
-                                <xsd:simpleType>
-                                    <xsd:restriction base="xsd:token">
-                                        <xsd:pattern value="[^/\\]+"/>
-                                    </xsd:restriction>
-                                </xsd:simpleType>
-                            </xsd:element>
-
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-                            <!-- The minimal revision of tools required by this package.
-                                 Optional. If present, must be an int > 0. -->
-                            <xsd:element name="min-tools-rev" type="xsd:positiveInteger" minOccurs="0" />
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of a sample package.
-                -->
-
-                <xsd:element name="sample">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            An SDK sample package.
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:all>
-                        <!-- STOPSHIP! TODO how do we link to the addon *or* platform?
-                        e.g. api-level + codename + optional addon name+vendor?
-                        api-level is mandatory, codename is optional;
-                        if addon name+vendor is set, it's for that addon, otherwise
-                        it's for a platform.
-                        -->
-                            <!-- The Android API Level for the documentation. An int > 0. -->
-                            <xsd:element name="api-level" type="xsd:positiveInteger"  />
-                            <!-- The optional codename for this doc, if it's a preview. -->
-                            <xsd:element name="codename"  type="xsd:string" minOccurs="0" />
-
-                            <!-- The revision, an int > 0, incremented each time a new
-                                 package is generated. -->
-                            <xsd:element name="revision"     type="xsd:positiveInteger" />
-                            <!-- The optional license of this package. If present, users will have
-                                 to agree to it before downloading. -->
-                            <xsd:element name="uses-license" type="sdk:licenseType" minOccurs="0" />
-                            <!-- The optional description of this package. -->
-                            <xsd:element name="description"  type="xsd:string"      minOccurs="0" />
-                            <!-- The optional description URL of this package -->
-                            <xsd:element name="desc-url"     type="xsd:token"       minOccurs="0" />
-                            <!-- The optional release note for this package. -->
-                            <xsd:element name="release-note" type="xsd:string"      minOccurs="0" />
-                            <!-- The optional release note URL of this package -->
-                            <xsd:element name="release-url"  type="xsd:token"       minOccurs="0" />
-                            <!-- A list of file archives for this package. -->
-                            <xsd:element name="archives"     type="sdk:archivesType" />
-                        </xsd:all>
-                    </xsd:complexType>
-                </xsd:element>
-
-
-                <!-- The definition of a license to be referenced by the uses-license element. -->
-
-                <xsd:element name="license">
-                    <xsd:annotation>
-                        <xsd:documentation>
-                            A license definition. Such a license must be used later as a reference
-                            using a uses-license element in one of the package elements.
-                        </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType>
-                        <xsd:simpleContent>
-                            <xsd:extension base="xsd:string">
-                                <xsd:attribute name="id"   type="xsd:ID" />
-                                <xsd:attribute name="type" type="xsd:token" fixed="text" />
-                            </xsd:extension>
-                        </xsd:simpleContent>
-                    </xsd:complexType>
-                </xsd:element>
-            </xsd:choice>
-        </xsd:complexType>
-    </xsd:element>
-
-
-    <!-- Type describing the license used by a package.
-         The license MUST be defined using a license node and referenced
-         using the ref attribute of the license element inside a package.
-     -->
-
-    <xsd:complexType name="licenseType">
-        <xsd:annotation>
-            <xsd:documentation>
-                Describes the license used by a package. The license MUST be defined
-                using a license node and referenced using the ref attribute of the
-                license element inside a package.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:attribute name="ref" type="xsd:IDREF" />
-    </xsd:complexType>
-
-
-    <!-- A collection of files that can be downloaded for a given architecture.
-         The <archives> node is mandatory in the repository elements and the
-         collection must have at least one <archive> declared.
-         Each archive is a zip file that will be unzipped in a location that depends
-         on its package type.
-     -->
-
-    <xsd:complexType name="archivesType">
-        <xsd:annotation>
-            <xsd:documentation>
-                A collection of files that can be downloaded for a given architecture.
-                The &lt;archives&gt; node is mandatory in the repository packages and the
-                collection must have at least one &lt;archive&gt; declared.
-                Each archive is a zip file that will be unzipped in a location that depends
-                on its package type.
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence minOccurs="1" maxOccurs="unbounded">
-            <!-- One archive file -->
-            <xsd:element name="archive">
-                <xsd:complexType>
-                    <!-- Properties of the archive file -->
-                    <xsd:all>
-                        <!-- The size in bytes of the archive to download. -->
-                        <xsd:element name="size"     type="xsd:positiveInteger" />
-                        <!-- The checksum of the archive file. -->
-                        <xsd:element name="checksum" type="sdk:checksumType" />
-                        <!-- The URL is an absolute URL if it starts with http://, https://
-                             or ftp://. Otherwise it is relative to the parent directory that
-                             contains this repository.xml -->
-                        <xsd:element name="url"      type="xsd:token" />
-                    </xsd:all>
-
-                    <!-- Attributes that identify the OS and architecture -->
-                    <xsd:attribute name="os" use="required">
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:token">
-                                <xsd:enumeration value="any" />
-                                <xsd:enumeration value="linux" />
-                                <xsd:enumeration value="macosx" />
-                                <xsd:enumeration value="windows" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:attribute>
-                    <xsd:attribute name="arch" use="optional">
-                        <xsd:simpleType>
-                            <xsd:restriction base="xsd:token">
-                                <xsd:enumeration value="any" />
-                                <xsd:enumeration value="ppc" />
-                                <xsd:enumeration value="x86" />
-                                <xsd:enumeration value="x86_64" />
-                            </xsd:restriction>
-                        </xsd:simpleType>
-                    </xsd:attribute>
-                </xsd:complexType>
-            </xsd:element>
-        </xsd:sequence>
-    </xsd:complexType>
-
-
-    <!-- The definition of a file checksum -->
-
-    <xsd:simpleType name="sha1Number">
-        <xsd:annotation>
-            <xsd:documentation>A SHA1 checksum.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:restriction base="xsd:string">
-            <xsd:pattern value="([0-9a-fA-F]){40}"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-
-    <xsd:complexType name="checksumType">
-        <xsd:annotation>
-            <xsd:documentation>A file checksum, currently only SHA1.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:simpleContent>
-            <xsd:extension base="sdk:sha1Number">
-                <xsd:attribute name="type" type="xsd:token" fixed="sha1" />
-            </xsd:extension>
-        </xsd:simpleContent>
-    </xsd:complexType>
-
-
-</xsd:schema>
index 27f881e..17bbaa1 100755 (executable)
@@ -146,37 +146,6 @@ public class SdkRepositoryTest extends TestCase {
         handler.verify();\r
     }\r
 \r
-    /** Validate a valid sample using namespace version 2 using an InputStream */\r
-    public void testValidateLocalRepositoryFile2() throws Exception {\r
-        InputStream xmlStream = this.getClass().getResourceAsStream(\r
-                    "/com/android/sdklib/testdata/repository_sample_2.xml");\r
-        Source source = new StreamSource(xmlStream);\r
-\r
-        CaptureErrorHandler handler = new CaptureErrorHandler();\r
-        Validator validator = getValidator(2, handler);\r
-        validator.validate(source);\r
-        handler.verify();\r
-    }\r
-\r
-    /** Test that validating a v2 file using the v1 schema fails. */\r
-    public void testValidateFile2UsingNs1() throws Exception {\r
-        InputStream xmlStream = this.getClass().getResourceAsStream(\r
-                    "/com/android/sdklib/testdata/repository_sample_2.xml");\r
-        Source source = new StreamSource(xmlStream);\r
-\r
-        Validator validator = getValidator(1, null); // validate v2 against v1... fail!\r
-\r
-        try {\r
-            validator.validate(source);\r
-        } catch (SAXParseException e) {\r
-            // We expect to get this specific exception message\r
-            assertRegex("cvc-elt.1: Cannot find the declaration of element 'sdk:sdk-repository'.*", e.getMessage());\r
-            return;\r
-        }\r
-        // We shouldn't get here\r
-        fail();\r
-    }\r
-\r
     /** A document should at least have a root to be valid */\r
     public void testEmptyXml() throws Exception {\r
         String document = "<?xml version=\"1.0\"?>";\r
@@ -184,7 +153,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         CaptureErrorHandler handler = new CaptureErrorHandler();\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, handler);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, handler);\r
 \r
         try {\r
             validator.validate(source);\r
@@ -200,7 +169,7 @@ public class SdkRepositoryTest extends TestCase {
 \r
     private static String OPEN_TAG =\r
         "<r:sdk-repository xmlns:r=\"http://schemas.android.com/sdk/android/repository/" +\r
-        Integer.toString(SdkRepository.XSD_LATEST_VERSION) +\r
+        Integer.toString(SdkRepository.NS_LATEST_VERSION) +\r
         "\">";\r
 \r
     private static String CLOSE_TAG = "</r:sdk-repository>";\r
@@ -214,7 +183,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         CaptureErrorHandler handler = new CaptureErrorHandler();\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, handler);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, handler);\r
         validator.validate(source);\r
         handler.verify();\r
     }\r
@@ -229,7 +198,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         // don't capture the validator errors, we want it to fail and catch the exception\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);\r
         try {\r
             validator.validate(source);\r
         } catch (SAXParseException e) {\r
@@ -251,7 +220,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         // don't capture the validator errors, we want it to fail and catch the exception\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);\r
         try {\r
             validator.validate(source);\r
         } catch (SAXParseException e) {\r
@@ -273,7 +242,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         // don't capture the validator errors, we want it to fail and catch the exception\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);\r
         try {\r
             validator.validate(source);\r
         } catch (SAXParseException e) {\r
@@ -300,7 +269,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         // don't capture the validator errors, we want it to fail and catch the exception\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);\r
         try {\r
             validator.validate(source);\r
         } catch (SAXParseException e) {\r
@@ -326,7 +295,7 @@ public class SdkRepositoryTest extends TestCase {
         Source source = new StreamSource(new StringReader(document));\r
 \r
         // don't capture the validator errors, we want it to fail and catch the exception\r
-        Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);\r
+        Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);\r
         try {\r
             validator.validate(source);\r
         } catch (SAXParseException e) {\r
diff --git a/tools/sdkmanager/libs/sdklib/tests/com/android/sdklib/testdata/repository_sample_2.xml b/tools/sdkmanager/libs/sdklib/tests/com/android/sdklib/testdata/repository_sample_2.xml
deleted file mode 100755 (executable)
index d5276e5..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0"?>\r
-<!--\r
- * Copyright (C) 2009 The Android Open Source Project\r
- *\r
- * Licensed under the Apache License, version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
--->\r
-<sdk:sdk-repository\r
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-    xmlns:sdk="http://schemas.android.com/sdk/android/repository/2">\r
-\r
-    <!-- Define a couple of licenses. These will be referenced by uses-license later. -->\r
-\r
-    <sdk:license type="text" id="license1">\r
-        This is the license\r
-        for this platform.\r
-    </sdk:license>\r
-\r
-    <sdk:license id="license2">\r
-        Licenses are only of type 'text' right now, so this is implied.\r
-    </sdk:license>\r
-\r
-    <!-- Inner elements must be either platform, add-on, doc or tool.\r
-         There can be 0 or more of each, in any order. -->\r
-\r
-    <sdk:platform>\r
-        <sdk:version>1.0</sdk:version>\r
-        <sdk:api-level>1</sdk:api-level>\r
-        <sdk:revision>3</sdk:revision>\r
-        <sdk:uses-license ref="license1" />\r
-        <sdk:description>Some optional description</sdk:description>\r
-        <sdk:desc-url>http://www.example.com/platform1.html</sdk:desc-url>\r
-        <sdk:release-note>This is an optional release note\r
-            for this package. It's a free multi-line text.\r
-        </sdk:release-note>\r
-        <sdk:release-url>http://some/url/for/the/release/note.html</sdk:release-url>\r
-        <sdk:min-tools-rev>2</sdk:min-tools-rev>\r
-        <!-- The archives node is mandatory and it cannot be empty. -->\r
-        <sdk:archives>\r
-            <sdk:archive os="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>http://www.example.com/files/plat1.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:platform>\r
-\r
-    <sdk:doc>\r
-        <sdk:api-level>1</sdk:api-level>\r
-        <sdk:revision>1</sdk:revision>\r
-        <!-- the license element is not mandatory. -->\r
-        <sdk:description>Some optional description</sdk:description>\r
-        <sdk:desc-url>http://www.example.com/docs.html</sdk:desc-url>\r
-        <sdk:archives>\r
-            <sdk:archive os="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>http://www.example.com/docs/docs1.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:doc>\r
-\r
-    <sdk:add-on>\r
-        <sdk:name>My First add-on</sdk:name>\r
-        <sdk:api-level>1</sdk:api-level>\r
-        <sdk:vendor>John Doe</sdk:vendor>\r
-        <sdk:revision>1</sdk:revision>\r
-        <sdk:uses-license ref="license2" />\r
-        <sdk:description>Some optional description</sdk:description>\r
-        <sdk:desc-url>http://www.example.com/myfirstaddon</sdk:desc-url>\r
-        <sdk:archives>\r
-            <sdk:archive os="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>http://www.example.com/add-ons/first.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-        <!-- The libs node is mandatory, however it can be empty. -->\r
-        <sdk:libs>\r
-            <sdk:lib>\r
-                <sdk:name>android.blah.somelib</sdk:name>\r
-                <sdk:description>The description for this library.</sdk:description>\r
-            </sdk:lib>\r
-            <sdk:lib>\r
-                <!-- sdk:description is optional, name is not -->\r
-                <sdk:name>com.android.mymaps</sdk:name>\r
-            </sdk:lib>\r
-        </sdk:libs>\r
-    </sdk:add-on>\r
-\r
-    <sdk:platform>\r
-        <sdk:version>1.1</sdk:version>\r
-        <sdk:api-level>2</sdk:api-level>\r
-        <sdk:revision>12</sdk:revision>\r
-        <sdk:uses-license ref="license1" />\r
-        <!-- sdk:description and sdk:desc-url are optional -->\r
-        <sdk:archives>\r
-            <sdk:archive os="windows">\r
-                <!--  arch attribute is optional -->\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/platform-2-12-win.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="macosx" arch="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/platform-2-12-mac.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="macosx" arch="ppc">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/platform-2-12-mac.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="linux" arch="x86">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/platform-2-12-linux.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="linux" arch="x86_64">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/platform-2-12-linux.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:platform>\r
-\r
-    <sdk:add-on>\r
-        <sdk:name>My Second add-on</sdk:name>\r
-        <sdk:api-level>2</sdk:api-level>\r
-        <sdk:vendor>John Deer</sdk:vendor>\r
-        <sdk:revision>42</sdk:revision>\r
-        <sdk:archives>\r
-            <sdk:archive os="windows">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/second-42-win.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="linux">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/second-42-linux.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-        <sdk:libs>\r
-            <sdk:lib>\r
-                <sdk:name>android.blah.somelib</sdk:name>\r
-                <sdk:description>The description for this library.</sdk:description>\r
-            </sdk:lib>\r
-            <sdk:lib>\r
-                <sdk:name>com.android.mymaps</sdk:name>\r
-            </sdk:lib>\r
-        </sdk:libs>\r
-        <sdk:uses-license ref="license2" />\r
-    </sdk:add-on>\r
-
-   <sdk:platform>
-        <sdk:version>Pastry</sdk:version>
-        <sdk:api-level>5</sdk:api-level>
-        <sdk:codename>Pastry</sdk:codename>
-        <sdk:revision>3</sdk:revision>
-        <sdk:uses-license ref="license1" />
-        <sdk:description>Preview version for Pastry</sdk:description>
-        <sdk:desc-url>http://www.example.com/platform1.html</sdk:desc-url>
-        <!-- The archives node is mandatory and it cannot be empty. -->
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>65536</sdk:size>
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
-                <sdk:url>http://www.example.com/files/plat1.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:platform>
-\r
-    <sdk:tool>\r
-        <sdk:revision>1</sdk:revision>\r
-        <sdk:description>Some optional description</sdk:description>\r
-        <sdk:desc-url>http://www.example.com/tools.html</sdk:desc-url>\r
-        <sdk:uses-license ref="license1" />\r
-        <sdk:archives>\r
-            <sdk:archive os="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>http://www.example.com/files/tools1.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:tool>\r
-\r
-    <sdk:doc>\r
-        <sdk:api-level>2</sdk:api-level>\r
-        <sdk:revision>42</sdk:revision>\r
-        <sdk:uses-license ref="license2" />\r
-        <sdk:archives>\r
-            <sdk:archive os="windows">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/docs/2.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="linux">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/docs2-linux.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="macosx">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/docs2-mac.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:doc>\r
-\r
-    <sdk:tool>\r
-        <sdk:revision>42</sdk:revision>\r
-        <sdk:uses-license ref="license1" />\r
-        <sdk:archives>\r
-            <sdk:archive os="windows">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/tools/2.zip</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="linux">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/tools2-linux.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-            <sdk:archive os="macosx">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/tools2-mac.tar.bz2</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:tool>\r
-\r
-    <sdk:add-on>\r
-        <sdk:uses-license ref="license2" />\r
-        <sdk:name>This add-on has no libraries</sdk:name>\r
-        <sdk:api-level>4</sdk:api-level>\r
-        <sdk:vendor>Joe Bar</sdk:vendor>\r
-        <sdk:revision>3</sdk:revision>\r
-        <sdk:archives>\r
-            <sdk:archive os="any" arch="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/imnotanarchiveimadoctorjim.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-        <!-- The libs node is mandatory, however it can be empty. -->\r
-        <sdk:libs />\r
-    </sdk:add-on>\r
-\r
-    <sdk:extra>\r
-        <sdk:path>usb_driver</sdk:path>\r
-        <sdk:uses-license ref="license2" />\r
-        <sdk:revision>43</sdk:revision>\r
-        <sdk:archives>\r
-            <sdk:archive os="any" arch="any">\r
-                <sdk:size>65536</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>\r
-                <sdk:url>distrib/extraduff.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-        <sdk:description>An Extra package for the USB driver, it will install in $SDK/usb_driver</sdk:description>\r
-        <sdk:desc-url>http://www.example.com/extra.html</sdk:desc-url>\r
-        <sdk:min-tools-rev>3</sdk:min-tools-rev>\r
-    </sdk:extra>\r
-\r
-    <sdk:sample>\r
-        <sdk:uses-license ref="license2" />\r
-        <sdk:api-level>1234</sdk:api-level>\r
-        <sdk:revision>314153</sdk:revision>\r
-        <sdk:archives>\r
-            <sdk:archive os="any" arch="any">\r
-                <sdk:size>123456</sdk:size>\r
-                <sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d94545228</sdk:checksum>\r
-                <sdk:url>archives/samples/dream-1234.zip</sdk:url>\r
-            </sdk:archive>\r
-        </sdk:archives>\r
-    </sdk:sample>\r
-\r
-</sdk:sdk-repository>\r