From: Raphael Date: Fri, 5 Jun 2009 20:53:08 +0000 (-0700) Subject: SDK Updater: Add optional license elements to XML schema. X-Git-Tag: android-x86-2.2~610^2~230^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ef84252d0f4039d415d3c0fe44f0aab8f1f25042;p=android-x86%2Fsdk.git SDK Updater: Add optional license elements to XML schema. --- diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonPackage.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonPackage.java index bd76a4ce0..761c236d3 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonPackage.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/AddonPackage.java @@ -74,14 +74,15 @@ public class AddonPackage extends Package { } /** - * Creates a new platform package based on an actual {@link IAndroidTarget} (with + * Creates a new platform package based on an actual {@link IAndroidTarget} (which * {@link IAndroidTarget#isPlatform()} false) from the {@link SdkManager}. * This is used to list local SDK folders. */ AddonPackage(IAndroidTarget target) { super( null, //source 0, //revision - target.getDescription(), //description + null, //license + target.getDescription(), //description null, //descUrl Os.getCurrentOs(), //archiveOs Arch.getCurrentArch(), //archiveArch diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java index 8f072552e..e2c2cf5f9 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java @@ -49,6 +49,7 @@ public class DocPackage extends Package { DocPackage(RepoSource source, int apiLevel, int revision, + String license, String description, String descUrl, Os archiveOs, @@ -58,6 +59,7 @@ public class DocPackage extends Package { String archiveChecksum) { super(source, revision, + license, description, descUrl, archiveOs, diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java index f150510e0..8d067f267 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/LocalSdkParser.java @@ -167,6 +167,7 @@ public class LocalSdkParser { pkg = new ToolPackage( null, //source 0, //revision + null, //license "Tools", //description null, //descUrl Os.getCurrentOs(), //archiveOs @@ -229,6 +230,7 @@ public class LocalSdkParser { null, //source 0, //apiLevel 0, //revision + null, //license String.format("Documentation for %1$s", found), //description null, //descUrl Os.getCurrentOs(), //archiveOs diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java index 55ecaef05..4d28f0895 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java @@ -40,6 +40,7 @@ import java.util.ArrayList; public abstract class Package implements IDescription { private final int mRevision; + private final String mLicense; private final String mDescription; private final String mDescUrl; private final Archive[] mArchives; @@ -55,7 +56,7 @@ public abstract class Package implements IDescription { mRevision = getXmlInt (packageNode, SdkRepository.NODE_REVISION, 0); mDescription = getXmlString(packageNode, SdkRepository.NODE_DESCRIPTION); mDescUrl = getXmlString(packageNode, SdkRepository.NODE_DESC_URL); - + mLicense = getXmlString(packageNode, SdkRepository.NODE_LICENSE); mArchives = parseArchives(getFirstChild(packageNode, SdkRepository.NODE_ARCHIVES)); } @@ -65,6 +66,7 @@ public abstract class Package implements IDescription { */ public Package(RepoSource source, int revision, + String license, String description, String descUrl, Os archiveOs, @@ -74,6 +76,7 @@ public abstract class Package implements IDescription { String archiveChecksum) { mSource = source; mRevision = revision; + mLicense = license; mDescription = description; mDescUrl = descUrl; mArchives = new Archive[1]; @@ -142,6 +145,14 @@ public abstract class Package implements IDescription { /** * Returns the optional description for all packages (platform, add-on, tool, doc) or + * for a lib. It is null if the element has not been specified in the repository XML. + */ + public String getLicense() { + return mLicense; + } + + /** + * Returns the optional description for all packages (platform, add-on, tool, doc) or * for a lib. Can be empty but not null. */ public String getDescription() { diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/PlatformPackage.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/PlatformPackage.java index 0d51c58b4..ae6bc77ed 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/PlatformPackage.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/PlatformPackage.java @@ -47,14 +47,15 @@ public class PlatformPackage extends Package { } /** - * Creates a new platform package based on an actual {@link IAndroidTarget} (with + * Creates a new platform package based on an actual {@link IAndroidTarget} (which * must have {@link IAndroidTarget#isPlatform()} true) from the {@link SdkManager}. * This is used to list local SDK folders. */ PlatformPackage(IAndroidTarget target) { super( null, //source 0, //revision - target.getDescription(), //description + null, //license + target.getDescription(), //description null, //descUrl Os.getCurrentOs(), //archiveOs Arch.getCurrentArch(), //archiveArch diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ToolPackage.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ToolPackage.java index 71e35c4db..4cac70614 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ToolPackage.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/ToolPackage.java @@ -44,6 +44,7 @@ public class ToolPackage extends Package { */ ToolPackage(RepoSource source, int revision, + String license, String description, String descUrl, Os archiveOs, @@ -53,6 +54,7 @@ public class ToolPackage extends Package { String archiveChecksum) { super(source, revision, + license, description, descUrl, archiveOs, diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepository.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepository.java index 673e43fe3..4adcb4978 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepository.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/SdkRepository.java @@ -46,6 +46,8 @@ public class SdkRepository { /** The revision, an int > 0, for all packages (platform, add-on, tool, doc). */ public static final String NODE_REVISION = "revision"; //$NON-NLS-1$ + /** The optional license for all packages (platform, add-on, tool, doc) or for a lib. */ + public static final String NODE_LICENSE = "license"; //$NON-NLS-1$ /** The optional description for all packages (platform, add-on, tool, doc) or for a lib. */ public static final String NODE_DESCRIPTION = "description"; //$NON-NLS-1$ /** The optional description URL for all packages (platform, add-on, tool, doc). */ diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository.xsd b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository.xsd index 6aff44495..1862ae87e 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository.xsd +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository.xsd @@ -56,6 +56,9 @@ + + @@ -84,6 +87,9 @@ + + @@ -124,6 +130,9 @@ + + @@ -148,6 +157,9 @@ + + diff --git a/sdkmanager/libs/sdklib/tests/com/android/sdklib/repository/repository_sample.xml b/sdkmanager/libs/sdklib/tests/com/android/sdklib/repository/repository_sample.xml index fb6283d9b..a2d0cda20 100755 --- a/sdkmanager/libs/sdklib/tests/com/android/sdklib/repository/repository_sample.xml +++ b/sdkmanager/libs/sdklib/tests/com/android/sdklib/repository/repository_sample.xml @@ -26,6 +26,8 @@ 1 3 Some optional description + This is the license + for this platform. http://www.example.com/platform1.html @@ -41,6 +43,7 @@ 1 1 Some optional description + http://www.example.com/docs.html @@ -56,6 +59,8 @@ 1 John Doe 1 + + Some optional description http://www.example.com/myfirstaddon @@ -82,6 +87,7 @@ 1.1 2 12 + This is the license for this package. @@ -139,12 +145,14 @@ com.android.mymaps + This is the license for this package. 1 Some optional description http://www.example.com/tools.html + This is the license for this package. 65536 @@ -157,6 +165,7 @@ 2 42 + This is the license for this package. 65536 @@ -178,6 +187,7 @@ 42 + This is the license for this package. 65536 @@ -198,6 +208,7 @@ + This is the license for this package. This add-on has no libraries 4 Joe Bar