#
# Copyright (C) 2007 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.
#

#
# These are the files that comprise that SDK.
#
# The files that will go in the tools folder are setup through
#    sdk/build/tools.atree
# This is to help when the sdk.git project is branched differently from
# the other projects.
#

##############################################################################
# SDK Root folder
##############################################################################

# the readme
development/docs/SDK_RELEASE_NOTES RELEASE_NOTES.html

# doc redirect
frameworks/base/docs/docs-redirect.html documentation.html

##############################################################################
# Platform Tools Component
##############################################################################

# host tools from out/host/$(HOST_OS)-$(HOST_ARCH)/
bin/adb                                       platform-tools/adb
bin/aapt                                      platform-tools/aapt
bin/aidl                                      platform-tools/aidl
bin/llvm-rs-cc                                platform-tools/llvm-rs-cc
# dx
bin/dx                                        platform-tools/dx
bin/dexdump                                   platform-tools/dexdump
framework/dx.jar                              platform-tools/lib/dx.jar

sdk/files/sdk_files_NOTICE.txt                platform-tools/NOTICE.txt
development/sdk/plat_tools_source.properties  platform-tools/source.properties

##############################################################################
# Platform Component
##############################################################################

# version files for the SDK updater, from sdk.git
development/sdk/platform_source.properties platforms/${PLATFORM_NAME}/source.properties

# copy build prop from out/.../sdk/
sdk/sdk-build.prop platforms/${PLATFORM_NAME}/build.prop

# the uper-jar file that apps link against. This is the public API
${OUT_DIR}/target/common/obj/PACKAGING/android_jar_intermediates/android.jar platforms/${PLATFORM_NAME}/android.jar

# the aidl precompiled include
obj/framework.aidl platforms/${PLATFORM_NAME}/framework.aidl

# System images + Kernel
system.img                              platforms/${PLATFORM_NAME}/images/system.img
ramdisk.img                             platforms/${PLATFORM_NAME}/images/ramdisk.img
userdata.img                            platforms/${PLATFORM_NAME}/images/userdata.img
prebuilt/android-arm/kernel/kernel-qemu platforms/${PLATFORM_NAME}/images/kernel-qemu

# emulator skins from sdk.git
development/tools/emulator/skins/QVGA      platforms/${PLATFORM_NAME}/skins/QVGA
development/tools/emulator/skins/WQVGA432  platforms/${PLATFORM_NAME}/skins/WQVGA432
development/tools/emulator/skins/WQVGA400  platforms/${PLATFORM_NAME}/skins/WQVGA400
development/tools/emulator/skins/HVGA      platforms/${PLATFORM_NAME}/skins/HVGA
development/tools/emulator/skins/WVGA800   platforms/${PLATFORM_NAME}/skins/WVGA800
development/tools/emulator/skins/WVGA854   platforms/${PLATFORM_NAME}/skins/WVGA854
development/tools/emulator/skins/WXGA      platforms/${PLATFORM_NAME}/skins/WXGA

# Platform SDK properties
sdk/files/sdk.properties     platforms/${PLATFORM_NAME}/sdk.properties

# sdk.git Ant templates for project files
sdk/templates/AndroidManifest.template        platforms/${PLATFORM_NAME}/templates/AndroidManifest.template
sdk/templates/AndroidManifest.tests.template  platforms/${PLATFORM_NAME}/templates/AndroidManifest.tests.template
sdk/templates/java_file.template              platforms/${PLATFORM_NAME}/templates/java_file.template
sdk/templates/java_tests_file.template        platforms/${PLATFORM_NAME}/templates/java_tests_file.template
sdk/templates/layout.template                 platforms/${PLATFORM_NAME}/templates/layout.template
sdk/templates/strings.template                platforms/${PLATFORM_NAME}/templates/strings.template
sdk/templates/icon_ldpi.png                   platforms/${PLATFORM_NAME}/templates/icon_ldpi.png
sdk/templates/icon_mdpi.png                   platforms/${PLATFORM_NAME}/templates/icon_mdpi.png
sdk/templates/icon_hdpi.png                   platforms/${PLATFORM_NAME}/templates/icon_hdpi.png

# Eclipse Editors support
framework/layoutlib.jar       platforms/${PLATFORM_NAME}/data/layoutlib.jar
frameworks/base/core/res/res  platforms/${PLATFORM_NAME}/data/res
docs/activity_actions.txt     platforms/${PLATFORM_NAME}/data/activity_actions.txt
docs/broadcast_actions.txt    platforms/${PLATFORM_NAME}/data/broadcast_actions.txt
docs/service_actions.txt      platforms/${PLATFORM_NAME}/data/service_actions.txt
docs/categories.txt           platforms/${PLATFORM_NAME}/data/categories.txt
docs/widgets.txt              platforms/${PLATFORM_NAME}/data/widgets.txt
docs/features.txt             platforms/${PLATFORM_NAME}/data/features.txt

# fonts for layoutlib.
frameworks/base/data/fonts/fonts.xml                 platforms/${PLATFORM_NAME}/data/fonts/fonts.xml
frameworks/base/data/fonts/DroidSans.ttf             platforms/${PLATFORM_NAME}/data/fonts/DroidSans.ttf
frameworks/base/data/fonts/DroidSans-Bold.ttf        platforms/${PLATFORM_NAME}/data/fonts/DroidSans-Bold.ttf
frameworks/base/data/fonts/DroidSansMono.ttf         platforms/${PLATFORM_NAME}/data/fonts/DroidSansMono.ttf
frameworks/base/data/fonts/DroidSerif-Bold.ttf       platforms/${PLATFORM_NAME}/data/fonts/DroidSerif-Bold.ttf
frameworks/base/data/fonts/DroidSerif-BoldItalic.ttf platforms/${PLATFORM_NAME}/data/fonts/DroidSerif-BoldItalic.ttf
frameworks/base/data/fonts/DroidSerif-Italic.ttf     platforms/${PLATFORM_NAME}/data/fonts/DroidSerif-Italic.ttf
frameworks/base/data/fonts/DroidSerif-Regular.ttf    platforms/${PLATFORM_NAME}/data/fonts/DroidSerif-Regular.ttf
frameworks/base/data/fonts/DroidSansFallback.ttf     platforms/${PLATFORM_NAME}/data/fonts/DroidSansFallback.ttf
frameworks/base/data/fonts/DroidSansJapanese.ttf     platforms/${PLATFORM_NAME}/data/fonts/DroidSansJapanese.ttf

# NOTICE files are copied by build/core/Makefile from sdk.git
sdk/files/sdk_files_NOTICE.txt platforms/${PLATFORM_NAME}/templates/NOTICE.txt
sdk/files/sdk_files_NOTICE.txt platforms/${PLATFORM_NAME}/data/NOTICE.txt
sdk/files/sdk_files_NOTICE.txt platforms/${PLATFORM_NAME}/skins/NOTICE.txt

##############################################################################
# Docs Component
##############################################################################

# version files for the SDK updater, from sdk.git
development/sdk/doc_source.properties docs/source.properties

# the docs
docs/offline-sdk docs
frameworks/base/docs/docs-samples-redirect.html docs/samples/index.html


##############################################################################
# Samples Component
##############################################################################

# samples to include in the sdk samples package
#
# the list here should match the list of samples that we generate docs for, 
# (see web_docs_sample_code_flags in frameworks/base/Android.mk)
development/apps/GestureBuilder              samples/${PLATFORM_NAME}/GestureBuilder
development/samples/source.properties        samples/${PLATFORM_NAME}/source.properties
#
# PLEASE KEEP THE SAMPLES IN ALPHABETICAL ORDER.
#
development/samples/AccessibilityService     samples/${PLATFORM_NAME}/AccessibilityService
development/samples/AccelerometerPlay        samples/${PLATFORM_NAME}/AccelerometerPlay
development/samples/ApiDemos                 samples/${PLATFORM_NAME}/ApiDemos
development/samples/BackupRestore            samples/${PLATFORM_NAME}/BackupRestore
development/samples/BluetoothChat            samples/${PLATFORM_NAME}/BluetoothChat
development/samples/ContactManager           samples/${PLATFORM_NAME}/ContactManager
development/samples/CrossCompatibility       samples/${PLATFORM_NAME}/CrossCompatibility
development/samples/CubeLiveWallpaper        samples/${PLATFORM_NAME}/CubeLiveWallpaper
development/samples/Home                     samples/${PLATFORM_NAME}/Home
development/samples/JetBoy                   samples/${PLATFORM_NAME}/JetBoy
development/samples/LunarLander              samples/${PLATFORM_NAME}/LunarLander
development/samples/MultiResolution          samples/${PLATFORM_NAME}/MultiResolution
development/samples/NotePad                  samples/${PLATFORM_NAME}/NotePad
development/samples/SampleSyncAdapter        samples/${PLATFORM_NAME}/SampleSyncAdapter
development/samples/SearchableDictionary     samples/${PLATFORM_NAME}/SearchableDictionary
development/samples/SipDemo                  samples/${PLATFORM_NAME}/SipDemo
development/samples/SkeletonApp              samples/${PLATFORM_NAME}/SkeletonApp
development/samples/Snake                    samples/${PLATFORM_NAME}/Snake
development/samples/SoftKeyboard             samples/${PLATFORM_NAME}/SoftKeyboard
development/samples/Spinner                  samples/${PLATFORM_NAME}/Spinner
development/samples/SpinnerTest              samples/${PLATFORM_NAME}/SpinnerTest
development/samples/TicTacToeLib             samples/${PLATFORM_NAME}/TicTacToeLib
development/samples/TicTacToeMain            samples/${PLATFORM_NAME}/TicTacToeMain
development/samples/VoiceRecognitionService  samples/${PLATFORM_NAME}/VoiceRecognitionService
development/samples/Wiktionary               samples/${PLATFORM_NAME}/Wiktionary
development/samples/WiktionarySimple         samples/${PLATFORM_NAME}/WiktionarySimple
development/samples/XmlAdapters              samples/${PLATFORM_NAME}/XmlAdapters

# NOTICE files are copied by build/core/Makefile from sdk.git
sdk/files/sdk_files_NOTICE.txt samples/${PLATFORM_NAME}/NOTICE.txt

##############################################################################
# Samples Component
##############################################################################

# empty add-on folder with just a readme copied from sdk.git
sdk/files/README_add-ons.txt add-ons/README.txt
