SDK Manager support for future schemas.
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
This commit is contained in:
@@ -146,37 +146,6 @@ public class SdkRepositoryTest extends TestCase {
|
||||
handler.verify();
|
||||
}
|
||||
|
||||
/** Validate a valid sample using namespace version 2 using an InputStream */
|
||||
public void testValidateLocalRepositoryFile2() throws Exception {
|
||||
InputStream xmlStream = this.getClass().getResourceAsStream(
|
||||
"/com/android/sdklib/testdata/repository_sample_2.xml");
|
||||
Source source = new StreamSource(xmlStream);
|
||||
|
||||
CaptureErrorHandler handler = new CaptureErrorHandler();
|
||||
Validator validator = getValidator(2, handler);
|
||||
validator.validate(source);
|
||||
handler.verify();
|
||||
}
|
||||
|
||||
/** Test that validating a v2 file using the v1 schema fails. */
|
||||
public void testValidateFile2UsingNs1() throws Exception {
|
||||
InputStream xmlStream = this.getClass().getResourceAsStream(
|
||||
"/com/android/sdklib/testdata/repository_sample_2.xml");
|
||||
Source source = new StreamSource(xmlStream);
|
||||
|
||||
Validator validator = getValidator(1, null); // validate v2 against v1... fail!
|
||||
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
// We expect to get this specific exception message
|
||||
assertRegex("cvc-elt.1: Cannot find the declaration of element 'sdk:sdk-repository'.*", e.getMessage());
|
||||
return;
|
||||
}
|
||||
// We shouldn't get here
|
||||
fail();
|
||||
}
|
||||
|
||||
/** A document should at least have a root to be valid */
|
||||
public void testEmptyXml() throws Exception {
|
||||
String document = "<?xml version=\"1.0\"?>";
|
||||
@@ -184,7 +153,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
CaptureErrorHandler handler = new CaptureErrorHandler();
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, handler);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, handler);
|
||||
|
||||
try {
|
||||
validator.validate(source);
|
||||
@@ -200,7 +169,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
|
||||
private static String OPEN_TAG =
|
||||
"<r:sdk-repository xmlns:r=\"http://schemas.android.com/sdk/android/repository/" +
|
||||
Integer.toString(SdkRepository.XSD_LATEST_VERSION) +
|
||||
Integer.toString(SdkRepository.NS_LATEST_VERSION) +
|
||||
"\">";
|
||||
|
||||
private static String CLOSE_TAG = "</r:sdk-repository>";
|
||||
@@ -214,7 +183,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
CaptureErrorHandler handler = new CaptureErrorHandler();
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, handler);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, handler);
|
||||
validator.validate(source);
|
||||
handler.verify();
|
||||
}
|
||||
@@ -229,7 +198,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
// don't capture the validator errors, we want it to fail and catch the exception
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
@@ -251,7 +220,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
// don't capture the validator errors, we want it to fail and catch the exception
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
@@ -273,7 +242,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
// don't capture the validator errors, we want it to fail and catch the exception
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
@@ -300,7 +269,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
// don't capture the validator errors, we want it to fail and catch the exception
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
@@ -326,7 +295,7 @@ public class SdkRepositoryTest extends TestCase {
|
||||
Source source = new StreamSource(new StringReader(document));
|
||||
|
||||
// don't capture the validator errors, we want it to fail and catch the exception
|
||||
Validator validator = getValidator(SdkRepository.XSD_LATEST_VERSION, null);
|
||||
Validator validator = getValidator(SdkRepository.NS_LATEST_VERSION, null);
|
||||
try {
|
||||
validator.validate(source);
|
||||
} catch (SAXParseException e) {
|
||||
|
||||
@@ -1,288 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
* 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.
|
||||
-->
|
||||
<sdk:sdk-repository
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:sdk="http://schemas.android.com/sdk/android/repository/2">
|
||||
|
||||
<!-- Define a couple of licenses. These will be referenced by uses-license later. -->
|
||||
|
||||
<sdk:license type="text" id="license1">
|
||||
This is the license
|
||||
for this platform.
|
||||
</sdk:license>
|
||||
|
||||
<sdk:license id="license2">
|
||||
Licenses are only of type 'text' right now, so this is implied.
|
||||
</sdk:license>
|
||||
|
||||
<!-- Inner elements must be either platform, add-on, doc or tool.
|
||||
There can be 0 or more of each, in any order. -->
|
||||
|
||||
<sdk:platform>
|
||||
<sdk:version>1.0</sdk:version>
|
||||
<sdk:api-level>1</sdk:api-level>
|
||||
<sdk:revision>3</sdk:revision>
|
||||
<sdk:uses-license ref="license1" />
|
||||
<sdk:description>Some optional description</sdk:description>
|
||||
<sdk:desc-url>http://www.example.com/platform1.html</sdk:desc-url>
|
||||
<sdk:release-note>This is an optional release note
|
||||
for this package. It's a free multi-line text.
|
||||
</sdk:release-note>
|
||||
<sdk:release-url>http://some/url/for/the/release/note.html</sdk:release-url>
|
||||
<sdk:min-tools-rev>2</sdk:min-tools-rev>
|
||||
<!-- 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>
|
||||
|
||||
<sdk:doc>
|
||||
<sdk:api-level>1</sdk:api-level>
|
||||
<sdk:revision>1</sdk:revision>
|
||||
<!-- the license element is not mandatory. -->
|
||||
<sdk:description>Some optional description</sdk:description>
|
||||
<sdk:desc-url>http://www.example.com/docs.html</sdk:desc-url>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="any">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>http://www.example.com/docs/docs1.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:doc>
|
||||
|
||||
<sdk:add-on>
|
||||
<sdk:name>My First add-on</sdk:name>
|
||||
<sdk:api-level>1</sdk:api-level>
|
||||
<sdk:vendor>John Doe</sdk:vendor>
|
||||
<sdk:revision>1</sdk:revision>
|
||||
<sdk:uses-license ref="license2" />
|
||||
<sdk:description>Some optional description</sdk:description>
|
||||
<sdk:desc-url>http://www.example.com/myfirstaddon</sdk:desc-url>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="any">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>http://www.example.com/add-ons/first.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
<!-- The libs node is mandatory, however it can be empty. -->
|
||||
<sdk:libs>
|
||||
<sdk:lib>
|
||||
<sdk:name>android.blah.somelib</sdk:name>
|
||||
<sdk:description>The description for this library.</sdk:description>
|
||||
</sdk:lib>
|
||||
<sdk:lib>
|
||||
<!-- sdk:description is optional, name is not -->
|
||||
<sdk:name>com.android.mymaps</sdk:name>
|
||||
</sdk:lib>
|
||||
</sdk:libs>
|
||||
</sdk:add-on>
|
||||
|
||||
<sdk:platform>
|
||||
<sdk:version>1.1</sdk:version>
|
||||
<sdk:api-level>2</sdk:api-level>
|
||||
<sdk:revision>12</sdk:revision>
|
||||
<sdk:uses-license ref="license1" />
|
||||
<!-- sdk:description and sdk:desc-url are optional -->
|
||||
<sdk:archives>
|
||||
<sdk:archive os="windows">
|
||||
<!-- arch attribute is optional -->
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/platform-2-12-win.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="macosx" arch="any">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/platform-2-12-mac.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="macosx" arch="ppc">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/platform-2-12-mac.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="linux" arch="x86">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/platform-2-12-linux.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="linux" arch="x86_64">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/platform-2-12-linux.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:platform>
|
||||
|
||||
<sdk:add-on>
|
||||
<sdk:name>My Second add-on</sdk:name>
|
||||
<sdk:api-level>2</sdk:api-level>
|
||||
<sdk:vendor>John Deer</sdk:vendor>
|
||||
<sdk:revision>42</sdk:revision>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="windows">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/second-42-win.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="linux">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/second-42-linux.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
<sdk:libs>
|
||||
<sdk:lib>
|
||||
<sdk:name>android.blah.somelib</sdk:name>
|
||||
<sdk:description>The description for this library.</sdk:description>
|
||||
</sdk:lib>
|
||||
<sdk:lib>
|
||||
<sdk:name>com.android.mymaps</sdk:name>
|
||||
</sdk:lib>
|
||||
</sdk:libs>
|
||||
<sdk:uses-license ref="license2" />
|
||||
</sdk:add-on>
|
||||
|
||||
<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>
|
||||
|
||||
<sdk:tool>
|
||||
<sdk:revision>1</sdk:revision>
|
||||
<sdk:description>Some optional description</sdk:description>
|
||||
<sdk:desc-url>http://www.example.com/tools.html</sdk:desc-url>
|
||||
<sdk:uses-license ref="license1" />
|
||||
<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/tools1.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:tool>
|
||||
|
||||
<sdk:doc>
|
||||
<sdk:api-level>2</sdk:api-level>
|
||||
<sdk:revision>42</sdk:revision>
|
||||
<sdk:uses-license ref="license2" />
|
||||
<sdk:archives>
|
||||
<sdk:archive os="windows">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/docs/2.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="linux">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/docs2-linux.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="macosx">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/docs2-mac.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:doc>
|
||||
|
||||
<sdk:tool>
|
||||
<sdk:revision>42</sdk:revision>
|
||||
<sdk:uses-license ref="license1" />
|
||||
<sdk:archives>
|
||||
<sdk:archive os="windows">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/tools/2.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="linux">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/tools2-linux.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
<sdk:archive os="macosx">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/tools2-mac.tar.bz2</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:tool>
|
||||
|
||||
<sdk:add-on>
|
||||
<sdk:uses-license ref="license2" />
|
||||
<sdk:name>This add-on has no libraries</sdk:name>
|
||||
<sdk:api-level>4</sdk:api-level>
|
||||
<sdk:vendor>Joe Bar</sdk:vendor>
|
||||
<sdk:revision>3</sdk:revision>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="any" arch="any">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/imnotanarchiveimadoctorjim.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
<!-- The libs node is mandatory, however it can be empty. -->
|
||||
<sdk:libs />
|
||||
</sdk:add-on>
|
||||
|
||||
<sdk:extra>
|
||||
<sdk:path>usb_driver</sdk:path>
|
||||
<sdk:uses-license ref="license2" />
|
||||
<sdk:revision>43</sdk:revision>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="any" arch="any">
|
||||
<sdk:size>65536</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d9454525e</sdk:checksum>
|
||||
<sdk:url>distrib/extraduff.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
<sdk:description>An Extra package for the USB driver, it will install in $SDK/usb_driver</sdk:description>
|
||||
<sdk:desc-url>http://www.example.com/extra.html</sdk:desc-url>
|
||||
<sdk:min-tools-rev>3</sdk:min-tools-rev>
|
||||
</sdk:extra>
|
||||
|
||||
<sdk:sample>
|
||||
<sdk:uses-license ref="license2" />
|
||||
<sdk:api-level>1234</sdk:api-level>
|
||||
<sdk:revision>314153</sdk:revision>
|
||||
<sdk:archives>
|
||||
<sdk:archive os="any" arch="any">
|
||||
<sdk:size>123456</sdk:size>
|
||||
<sdk:checksum type="sha1">2822ae37115ebf13412bbef91339ee0d94545228</sdk:checksum>
|
||||
<sdk:url>archives/samples/dream-1234.zip</sdk:url>
|
||||
</sdk:archive>
|
||||
</sdk:archives>
|
||||
</sdk:sample>
|
||||
|
||||
</sdk:sdk-repository>
|
||||
Reference in New Issue
Block a user