From 9516dc5aa11cae6f8491b48d897feeff4497ff46 Mon Sep 17 00:00:00 2001 From: Raphael Moll Date: Mon, 27 Feb 2012 15:18:29 -0800 Subject: [PATCH] SDK: generate repo using latest schemas when available. This generates a repository in either v5 or v6 and adjusts the name/vendor attributes accordingly. This extracts the support extra in a separate 'repo-extras.xml' which has an addon.xsd type instead of being a repository.xsd. Requires sdk.git change Ib0363f06 to build properly. Change-Id: I250fe7a3ec0dfa490778ae747a1a8f4e536bb395 --- build/tools/mk_sdk_repo_xml.sh | 121 +++++++++++++++++++++------------ build/tools/sdk_repo.mk | 106 ++++++++++++++++++----------- sdk/support_source.properties | 3 + 3 files changed, 149 insertions(+), 81 deletions(-) diff --git a/build/tools/mk_sdk_repo_xml.sh b/build/tools/mk_sdk_repo_xml.sh index b721200ca..ef2d51bf0 100755 --- a/build/tools/mk_sdk_repo_xml.sh +++ b/build/tools/mk_sdk_repo_xml.sh @@ -21,6 +21,7 @@ function usage() { cat <" >> "$OUT" - LAST_NODE="$NODE" - [[ "$NODE" ]] && echo " " >> "$OUT" + if [[ "$NODE" == "$KEY" ]]; then + NODE="" + EXTRA_SPACE="" fi - echo " $VALUE" >> "$OUT" + if [[ "$NODE" != "$LAST_NODE" ]]; then + EXTRA_SPACE=" " + [[ "$LAST_NODE" ]] && echo " " >> "$OUT" + LAST_NODE="$NODE" + [[ "$NODE" ]] && echo " " >> "$OUT" + fi + echo "$EXTRA_SPACE $VALUE" >> "$OUT" shift shift done diff --git a/build/tools/sdk_repo.mk b/build/tools/sdk_repo.mk index a0d93de7e..137a59102 100644 --- a/build/tools/sdk_repo.mk +++ b/build/tools/sdk_repo.mk @@ -2,8 +2,10 @@ .PHONY: sdk_repo -SDK_REPO_DEPS := -SDK_REPO_XML_ARGS := +SDK_REPO_DEPS := +SDK_REPO_XML_ARGS := +SDK_EXTRAS_DEPS := +SDK_EXTRAS_XML_ARGS := # Define the name of a package zip file to generate # $1=OS (e.g. linux-x86, windows, etc) @@ -99,6 +101,40 @@ SDK_REPO_XML_ARGS += $(3) $(1) \ $(call sdk-repo-pkg-zip,$(1),$(2),$(3)):$(notdir $(call sdk-repo-pkg-zip,$(1),$(2),$(3))) endef +# ----------------------------------------------------------------- +# Rules for main host sdk + +ifneq ($(filter sdk win_sdk,$(MAKECMDGOALS)),) + +# Note that extras are now located in addon.xml, not in repository.xml, +# so we capture all extras first. +$(eval $(call mk-sdk-repo-pkg-3,$(HOST_OS),$(MAIN_SDK_ZIP),support,extras/android)) +SDK_EXTRAS_XML_ARGS := $(SDK_REPO_XML_ARGS) +SDK_REPO_XML_ARGS := + +SDK_EXTRAS_DEPS += \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),support) + + +$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),tools)) +$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),platform-tools)) +$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),docs)) +$(eval $(call mk-sdk-repo-pkg-2,$(HOST_OS),$(MAIN_SDK_ZIP),platforms)) +$(eval $(call mk-sdk-repo-pkg-2,$(HOST_OS),$(MAIN_SDK_ZIP),samples)) +$(eval $(call mk-sdk-repo-pkg-3,$(HOST_OS),$(MAIN_SDK_ZIP),system-images,system-images/*)) +$(eval $(call mk-sdk-repo-sources,$(HOST_OS),$(MAIN_SDK_ZIP),sources)) + +SDK_REPO_DEPS += \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),tools) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),platform-tools) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),docs) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),platforms) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),samples) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),system-images) \ + $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),sources) + +endif + # ----------------------------------------------------------------- # Rules for win_sdk @@ -115,30 +151,19 @@ SDK_REPO_DEPS += \ endif # ----------------------------------------------------------------- -# Rules for main host sdk +# Pickup the most recent xml schema for repository and add-on -ifneq ($(filter sdk win_sdk,$(MAKECMDGOALS)),) +SDK_REPO_XSD := \ + $(lastword \ + $(wildcard \ + $(TOPDIR)sdk/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository-*.xsd \ + )) -$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),tools)) -$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),platform-tools)) -$(eval $(call mk-sdk-repo-pkg-1,$(HOST_OS),$(MAIN_SDK_ZIP),docs)) -$(eval $(call mk-sdk-repo-pkg-2,$(HOST_OS),$(MAIN_SDK_ZIP),platforms)) -$(eval $(call mk-sdk-repo-pkg-2,$(HOST_OS),$(MAIN_SDK_ZIP),samples)) -$(eval $(call mk-sdk-repo-pkg-3,$(HOST_OS),$(MAIN_SDK_ZIP),system-images,system-images/*)) -$(eval $(call mk-sdk-repo-pkg-3,$(HOST_OS),$(MAIN_SDK_ZIP),support,extras/android)) -$(eval $(call mk-sdk-repo-sources,$(HOST_OS),$(MAIN_SDK_ZIP),sources)) - -SDK_REPO_DEPS += \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),tools) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),platform-tools) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),docs) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),platforms) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),samples) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),system-images) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),support) \ - $(call sdk-repo-pkg-zip,$(HOST_OS),$(MAIN_SDK_ZIP),sources) - -endif +SDK_ADDON_XSD := \ + $(lastword \ + $(wildcard \ + $(TOPDIR)sdk/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-addon-*.xsd \ + )) # ----------------------------------------------------------------- # Rules for sdk addon @@ -157,12 +182,6 @@ $(call dist-for-goals, sdk_repo, $(RENAMED_ADDON_ZIP)) SDK_ADDON_XML := $(dir $(ADDON_SDK_ZIP))/addon.xml -SDK_ADDON_XSD := \ - $(lastword \ - $(wildcard \ - $(TOPDIR)sdk/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-addon-*.xsd \ - )) - $(SDK_ADDON_XML): $(ADDON_SDK_ZIP) $(hide) $(TOPDIR)development/build/tools/mk_sdk_repo_xml.sh \ $(SDK_ADDON_XML) $(SDK_ADDON_XSD) add-on $(HOST_OS) $(RENAMED_ADDON_ZIP) @@ -174,17 +193,11 @@ endif # ----------------------------------------------------------------- # Rules for the SDK Repository XML -SDK_REPO_XML := $(HOST_OUT)/sdk/repository.xml +SDK_REPO_XML := $(HOST_OUT)/sdk/repository.xml +SDK_EXTRAS_XML := $(HOST_OUT)/sdk/repo-extras.xml ifneq ($(SDK_REPO_XML_ARGS),) -# Pickup the most recent xml schema -SDK_REPO_XSD := \ - $(lastword \ - $(wildcard \ - $(TOPDIR)sdk/sdkmanager/libs/sdklib/src/com/android/sdklib/repository/sdk-repository-*.xsd \ - )) - $(SDK_REPO_XML): $(SDK_REPO_DEPS) $(hide) $(TOPDIR)development/build/tools/mk_sdk_repo_xml.sh \ $(SDK_REPO_XML) $(SDK_REPO_XSD) $(SDK_REPO_XML_ARGS) @@ -197,8 +210,23 @@ $(SDK_REPO_XML): ; endif + +ifneq ($(SDK_EXTRAS_XML_ARGS),) + +$(SDK_EXTRAS_XML): $(SDK_EXTRAS_DEPS) + $(hide) $(TOPDIR)development/build/tools/mk_sdk_repo_xml.sh \ + $(SDK_EXTRAS_XML) $(SDK_ADDON_XSD) $(SDK_EXTRAS_XML_ARGS) + +$(call dist-for-goals, sdk_repo, $(SDK_EXTRAS_XML)) + +else + +$(SDK_EXTRAS_XML): ; + +endif + # ----------------------------------------------------------------- -sdk_repo: $(SDK_REPO_DEPS) $(SDK_REPO_XML) +sdk_repo: $(SDK_REPO_DEPS) $(SDK_REPO_XML) $(SDK_EXTRAS_XML) @echo "Packing of SDK repository done" diff --git a/sdk/support_source.properties b/sdk/support_source.properties index 855afb3a0..b4e5eb636 100644 --- a/sdk/support_source.properties +++ b/sdk/support_source.properties @@ -1,5 +1,8 @@ Pkg.UserSrc=false Pkg.Revision=8 Extra.Vendor=android +Extra.VendorId=android +Extra.VendorDisplay=Android +Extra.NameDisplay=Android Support Library Extra.Path=support Extra.OldPaths=compatibility