#
# 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.
#

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

# the readme
development/docs/SDK_RELEASE_NOTES RELEASE_NOTES.html

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


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

# version files for the SDK updater, from development.git
${HOST_OUT}/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

# Main Public API jar
${OUT_DIR}/target/common/obj/PACKAGING/android_jar_intermediates/android.jar            platforms/${PLATFORM_NAME}/android.jar
${OUT_DIR}/target/common/obj/PACKAGING/android_jar_intermediates/android-stubs-src.jar  platforms/${PLATFORM_NAME}/android-stubs-src.jar

# core-for-system-modules.jar for building system modules
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/core-current-stubs-for-system-modules_intermediates/classes.jar    platforms/${PLATFORM_NAME}/core-for-system-modules.jar

# optional API files.
development/build/optional.json                                                               platforms/${PLATFORM_NAME}/optional/optional.json
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/org.apache.http.legacy.stubs_intermediates/classes.jar  platforms/${PLATFORM_NAME}/optional/org.apache.http.legacy.jar
# deprecated APIs
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android_uiautomator_intermediates/classes.jar     platforms/${PLATFORM_NAME}/uiautomator.jar
# Android Automotive OS stubs.
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android.car-stubs_intermediates/classes.jar         platforms/${PLATFORM_NAME}/optional/android.car.jar
# Test APIs
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android.test.mock.stubs_intermediates/classes.jar   platforms/${PLATFORM_NAME}/optional/android.test.mock.jar
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android.test.base.stubs_intermediates/classes.jar   platforms/${PLATFORM_NAME}/optional/android.test.base.jar
${OUT_DIR}/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/classes.jar platforms/${PLATFORM_NAME}/optional/android.test.runner.jar

# the aidl precompiled include
${OUT_DIR}/target/common/obj/PACKAGING/framework.aidl                                        platforms/${PLATFORM_NAME}/framework.aidl
# the libbinder_ndk C++ library files associated with the AIDL compiler
frameworks/native/libs/binder/ndk/include_cpp/                                               platforms/${PLATFORM_NAME}/optional/libbinder_ndk_cpp/

# 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/WSVGA         platforms/${PLATFORM_NAME}/skins/WSVGA
development/tools/emulator/skins/WXGA720       platforms/${PLATFORM_NAME}/skins/WXGA720
development/tools/emulator/skins/WXGA800       platforms/${PLATFORM_NAME}/skins/WXGA800
development/tools/emulator/skins/WXGA800-7in   platforms/${PLATFORM_NAME}/skins/WXGA800-7in

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

# sdk.git Ant templates for project files
development/tools/templates/AndroidManifest.template        platforms/${PLATFORM_NAME}/templates/AndroidManifest.template
development/tools/templates/AndroidManifest.tests.template  platforms/${PLATFORM_NAME}/templates/AndroidManifest.tests.template
development/tools/templates/java_file.template              platforms/${PLATFORM_NAME}/templates/java_file.template
development/tools/templates/java_tests_file.template        platforms/${PLATFORM_NAME}/templates/java_tests_file.template
development/tools/templates/layout.template                 platforms/${PLATFORM_NAME}/templates/layout.template
development/tools/templates/strings.template                platforms/${PLATFORM_NAME}/templates/strings.template
development/tools/templates/ic_launcher_ldpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_ldpi.png
development/tools/templates/ic_launcher_mdpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_mdpi.png
development/tools/templates/ic_launcher_hdpi.png            platforms/${PLATFORM_NAME}/templates/ic_launcher_hdpi.png
development/tools/templates/ic_launcher_xhdpi.png           platforms/${PLATFORM_NAME}/templates/ic_launcher_xhdpi.png

# API database for tools such as lint
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs_generated-api-versions.xml  platforms/${PLATFORM_NAME}/data/api-versions.xml

# API annotations database for lint
prebuilts/sdk/sdk-annotations/annotations.zip platforms/${PLATFORM_NAME}/data/annotations.zip
${OUT_DIR}/target/common/obj/PACKAGING/sdk-annotations.zip platforms/${PLATFORM_NAME}/data/annotations.zip

# Eclipse Editors support
frameworks/base/core/res/res              platforms/${PLATFORM_NAME}/data/res
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/activity_actions.txt   platforms/${PLATFORM_NAME}/data/activity_actions.txt
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/broadcast_actions.txt  platforms/${PLATFORM_NAME}/data/broadcast_actions.txt
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/service_actions.txt    platforms/${PLATFORM_NAME}/data/service_actions.txt
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/categories.txt         platforms/${PLATFORM_NAME}/data/categories.txt
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/widgets.txt            platforms/${PLATFORM_NAME}/data/widgets.txt
${OUT_DIR}/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/features.txt           platforms/${PLATFORM_NAME}/data/features.txt

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


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

# version files for the SDK updater, from sdk.git
${HOST_OUT}/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}/legacy/GestureBuilder
development/samples/samples_source.properties  samples/${PLATFORM_NAME}/source.properties
#
# PLEASE KEEP THE SAMPLES IN ALPHABETICAL ORDER.
#

# New sample tree
# Note: Some samples reference a shared "common" directory. In the future
# this will be copied in automatically via a templating system. For now,
# we need to copy it in here as needed.
developers/build/prebuilts/gradle/BasicAndroidKeyStore/                      samples/${PLATFORM_NAME}/security/BasicAndroidKeyStore
developers/build/prebuilts/gradle/BasicSyncAdapter/                          samples/${PLATFORM_NAME}/connectivity/BasicSyncAdapter
developers/build/prebuilts/gradle/NetworkConnect/                            samples/${PLATFORM_NAME}/connectivity/NetworkConnect
developers/build/prebuilts/gradle/BasicNetworking/                           samples/${PLATFORM_NAME}/connectivity/BasicNetworking
developers/build/prebuilts/gradle/BluetoothLeGatt/                           samples/${PLATFORM_NAME}/connectivity/BluetoothLeGatt
developers/build/prebuilts/gradle/AppRestrictions/                           samples/${PLATFORM_NAME}/content/AppRestrictions
developers/build/prebuilts/gradle/BasicContactables/                         samples/${PLATFORM_NAME}/content/BasicContactables
developers/build/prebuilts/gradle/StorageClient/                             samples/${PLATFORM_NAME}/content/StorageClient
developers/build/prebuilts/gradle/StorageProvider/                           samples/${PLATFORM_NAME}/content/StorageProvider
developers/build/prebuilts/gradle/BasicGestureDetect/                        samples/${PLATFORM_NAME}/input/BasicGestureDetect
developers/build/prebuilts/gradle/BasicMultitouch/                           samples/${PLATFORM_NAME}/input/BasicMultitouch
developers/build/prebuilts/gradle/ActivityInstrumentation/                   samples/${PLATFORM_NAME}/testing/ActivityInstrumentation
developers/build/prebuilts/gradle/MediaRecorder/                             samples/${PLATFORM_NAME}/media/MediaRecorder
developers/build/prebuilts/gradle/BasicMediaRouter/                          samples/${PLATFORM_NAME}/media/BasicMediaRouter
developers/build/prebuilts/gradle/BasicMediaDecoder/                         samples/${PLATFORM_NAME}/media/BasicMediaDecoder
developers/build/prebuilts/gradle/BorderlessButtons/                         samples/${PLATFORM_NAME}/ui/BorderlessButtons
developers/build/prebuilts/gradle/BasicAccessibility/                        samples/${PLATFORM_NAME}/ui/BasicAccessibility
developers/build/prebuilts/gradle/CustomChoiceList/                          samples/${PLATFORM_NAME}/ui/CustomChoiceList
developers/build/prebuilts/gradle/TextSwitcher/                              samples/${PLATFORM_NAME}/ui/TextSwitcher
developers/build/prebuilts/gradle/HorizontalPaging/                          samples/${PLATFORM_NAME}/ui/HorizontalPaging
developers/build/prebuilts/gradle/ActionBarCompat-Styled/                    samples/${PLATFORM_NAME}/ui/ActionBarCompat-Styled
developers/build/prebuilts/gradle/ActionBarCompat-ListPopupMenu/             samples/${PLATFORM_NAME}/ui/ActionBarCompat-ListPopupMenu
developers/build/prebuilts/gradle/ShareActionProvider/                       samples/${PLATFORM_NAME}/ui/ShareActionProvider
developers/build/prebuilts/gradle/ActionBarCompat-Basic/                     samples/${PLATFORM_NAME}/ui/ActionBarCompat-Basic
developers/build/prebuilts/gradle/BasicNotifications/                        samples/${PLATFORM_NAME}/ui/BasicNotifications
developers/build/prebuilts/gradle/CustomNotifications/                       samples/${PLATFORM_NAME}/ui/CustomNotifications
developers/build/prebuilts/gradle/DoneBar/                                   samples/${PLATFORM_NAME}/ui/DoneBar
developers/build/prebuilts/gradle/BasicImmersiveMode/                        samples/${PLATFORM_NAME}/ui/BasicImmersiveMode
developers/build/prebuilts/gradle/AdvancedImmersiveMode/                     samples/${PLATFORM_NAME}/ui/AdvancedImmersiveMode
developers/build/prebuilts/gradle/ImmersiveMode/                             samples/${PLATFORM_NAME}/ui/ImmersiveMode
developers/build/prebuilts/gradle/RepeatingAlarm/                            samples/${PLATFORM_NAME}/background/RepeatingAlarm
developers/build/prebuilts/gradle/TextLinkify/                               samples/${PLATFORM_NAME}/ui/TextLinkify
developers/build/prebuilts/gradle/BasicRenderScript                          samples/${PLATFORM_NAME}/renderscript/BasicRenderScript
developers/build/prebuilts/gradle/RenderScriptIntrinsic                      samples/${PLATFORM_NAME}/renderscript/RenderScriptIntrinsic
developers/build/prebuilts/gradle/SlidingTabsBasic                           samples/${PLATFORM_NAME}/ui/SlidingTabsBasic
developers/build/prebuilts/gradle/SlidingTabsColors                          samples/${PLATFORM_NAME}/ui/SlidingTabsColors
developers/build/prebuilts/gradle/CardEmulation                              samples/${PLATFORM_NAME}/connectivity/CardEmulation
developers/build/prebuilts/gradle/CardReader                                 samples/${PLATFORM_NAME}/connectivity/CardReader
developers/build/prebuilts/gradle/BatchStepSensor                            samples/${PLATFORM_NAME}/sensors/BatchStepSensor
developers/build/prebuilts/gradle/DisplayingBitmaps                          samples/${PLATFORM_NAME}/ui/DisplayingBitmaps
developers/build/prebuilts/gradle/BasicTransition                            samples/${PLATFORM_NAME}/ui/BasicTransition
developers/build/prebuilts/gradle/CustomTransition                           samples/${PLATFORM_NAME}/ui/CustomTransition
developers/build/prebuilts/gradle/SwipeRefreshLayoutBasic                    samples/${PLATFORM_NAME}/ui/SwipeRefreshLayoutBasic
developers/build/prebuilts/gradle/SwipeRefreshListFragment                   samples/${PLATFORM_NAME}/ui/SwipeRefreshListFragment
developers/build/prebuilts/gradle/SwipeRefreshMultipleViews                  samples/${PLATFORM_NAME}/ui/SwipeRefreshMultipleViews
developers/build/prebuilts/gradle/MediaRouter                                samples/${PLATFORM_NAME}/media/MediaRouter
developers/build/prebuilts/gradle/BluetoothChat                              samples/${PLATFORM_NAME}/connectivity/bluetooth/BluetoothChat
developers/build/prebuilts/gradle/MediaEffects                               samples/${PLATFORM_NAME}/media/MediaEffects
developers/build/prebuilts/gradle/BasicManagedProfile                        samples/${PLATFORM_NAME}/admin/BasicManagedProfile
developers/build/prebuilts/gradle/Camera2Basic                               samples/${PLATFORM_NAME}/media/Camera2Basic
developers/build/prebuilts/gradle/Camera2Video                               samples/${PLATFORM_NAME}/media/Camera2Video
developers/build/prebuilts/gradle/ActivitySceneTransitionBasic               samples/${PLATFORM_NAME}/ui/activityscenetransition/ActivitySceneTransitionBasic
developers/build/prebuilts/gradle/NavigationDrawer                           samples/${PLATFORM_NAME}/ui/views/NavigationDrawer
developers/build/prebuilts/gradle/ElevationBasic                             samples/${PLATFORM_NAME}/ui/views/Elevation/ElevationBasic
developers/build/prebuilts/gradle/ElevationDrag                              samples/${PLATFORM_NAME}/ui/views/Elevation/ElevationDrag
developers/build/prebuilts/gradle/ClippingBasic                              samples/${PLATFORM_NAME}/ui/views/Clipping/ClippingBasic
developers/build/prebuilts/gradle/JobScheduler                               samples/${PLATFORM_NAME}/background/JobScheduler
developers/build/prebuilts/gradle/HdrViewfinder                              samples/${PLATFORM_NAME}/media/HdrViewfinder
developers/build/prebuilts/gradle/DocumentCentricApps                        samples/${PLATFORM_NAME}/ui/activitytasks/DocumentCentricApps
developers/build/prebuilts/gradle/DocumentCentricRelinquishIdentity          samples/${PLATFORM_NAME}/ui/activitytasks/DocumentCentricRelinquishIdentity
developers/build/prebuilts/gradle/AppRestrictionEnforcer                     samples/${PLATFORM_NAME}/admin/AppRestrictionEnforcer
developers/build/prebuilts/gradle/AppRestrictionSchema                       samples/${PLATFORM_NAME}/admin/AppRestrictionSchema
developers/build/prebuilts/gradle/RecyclerView                               samples/${PLATFORM_NAME}/ui/views/RecyclerView
developers/build/prebuilts/gradle/CardView                                   samples/${PLATFORM_NAME}/ui/views/CardView
developers/build/prebuilts/gradle/LNotifications                             samples/${PLATFORM_NAME}/ui/notifications/LNotifications
developers/build/prebuilts/gradle/DrawableTinting                            samples/${PLATFORM_NAME}/ui/DrawableTinting
developers/build/prebuilts/gradle/Interpolator                               samples/${PLATFORM_NAME}/ui/Interpolator
developers/build/prebuilts/gradle/PdfRendererBasic                           samples/${PLATFORM_NAME}/ui/graphics/PdfRendererBasic
developers/build/prebuilts/gradle/FloatingActionButtonBasic                  samples/${PLATFORM_NAME}/ui/views/FloatingActionButton/FloatingActionButtonBasic
developers/build/prebuilts/gradle/RevealEffectBasic                          samples/${PLATFORM_NAME}/ui/views/RevealEffect/RevealEffectBasic
developers/build/prebuilts/gradle/PermissionRequest                          samples/${PLATFORM_NAME}/content/webview/PermissionRequest
developers/build/prebuilts/gradle/DirectorySelection                         samples/${PLATFORM_NAME}/content/documentsUi/DirectorySelection
developers/build/prebuilts/gradle/AppUsageStatistics                         samples/${PLATFORM_NAME}/system/AppUsageStatistics
developers/build/prebuilts/gradle/ScreenCapture                              samples/${PLATFORM_NAME}/media/ScreenCapture
developers/build/prebuilts/gradle/NfcProvisioning                            samples/${PLATFORM_NAME}/nfc/NfcProvisioning
developers/build/prebuilts/gradle/DeviceOwner                                samples/${PLATFORM_NAME}/admin/DeviceOwner
developers/build/prebuilts/gradle/ConfirmCredential                          samples/${PLATFORM_NAME}/security/ConfirmCredential
developers/build/prebuilts/gradle/FingerprintDialog                          samples/${PLATFORM_NAME}/security/FingerprintDialog
developers/build/prebuilts/gradle/RuntimePermissions                         samples/${PLATFORM_NAME}/system/RuntimePermissions
developers/build/prebuilts/gradle/RuntimePermissionsBasic                    samples/${PLATFORM_NAME}/system/RuntimePermissionsBasic
developers/build/prebuilts/gradle/ActiveNotifications                        samples/${PLATFORM_NAME}/notification/ActiveNotifications
developers/build/prebuilts/gradle/Camera2Raw                                 samples/${PLATFORM_NAME}/media/Camera2Raw
developers/build/prebuilts/gradle/AutoBackupForApps                          samples/${PLATFORM_NAME}/content/AutoBackupForApps
developers/build/prebuilts/gradle/DirectShare                                samples/${PLATFORM_NAME}/content/DirectShare
developers/build/prebuilts/gradle/MidiScope                                  samples/${PLATFORM_NAME}/media/MidiScope
developers/build/prebuilts/gradle/MidiSynth                                  samples/${PLATFORM_NAME}/media/MidiSynth
developers/build/prebuilts/gradle/AsymmetricFingerprintDialog                samples/${PLATFORM_NAME}/security/AsymmetricFingerprintDialog
developers/build/prebuilts/gradle/AppShortcuts                               samples/${PLATFORM_NAME}/system/AppShortcuts
developers/build/prebuilts/gradle/CommitContentSampleApp                     samples/${PLATFORM_NAME}/input/keyboard/CommitContentSampleApp
developers/build/prebuilts/gradle/CommitContentSampleIME                     samples/${PLATFORM_NAME}/input/keyboard/CommitContentSampleIME

developers/build/prebuilts/androidtv                                         samples/${PLATFORM_NAME}/androidtv

# Wearable sample tree
developers/build/prebuilts/gradle/AgendaData                    samples/${PLATFORM_NAME}/wearable/AgendaData
developers/build/prebuilts/gradle/DataLayer                     samples/${PLATFORM_NAME}/wearable/DataLayer
developers/build/prebuilts/gradle/DelayedConfirmation           samples/${PLATFORM_NAME}/wearable/DelayedConfirmation
developers/build/prebuilts/gradle/ElizaChat                     samples/${PLATFORM_NAME}/wearable/ElizaChat
developers/build/prebuilts/gradle/FindMyPhone                   samples/${PLATFORM_NAME}/wearable/FindMyPhone
developers/build/prebuilts/gradle/Flashlight                    samples/${PLATFORM_NAME}/wearable/Flashlight
developers/build/prebuilts/gradle/Geofencing                    samples/${PLATFORM_NAME}/wearable/Geofencing
developers/build/prebuilts/gradle/GridViewPager                 samples/${PLATFORM_NAME}/wearable/GridViewPager
developers/build/prebuilts/gradle/JumpingJack                   samples/${PLATFORM_NAME}/wearable/JumpingJack
developers/build/prebuilts/gradle/Notifications                 samples/${PLATFORM_NAME}/wearable/Notifications
developers/build/prebuilts/gradle/Quiz                          samples/${PLATFORM_NAME}/wearable/Quiz
developers/build/prebuilts/gradle/RecipeAssistant               samples/${PLATFORM_NAME}/wearable/RecipeAssistant
developers/build/prebuilts/gradle/RuntimePermissionsWear        samples/${PLATFORM_NAME}/wearable/RuntimePermissionsWear
developers/build/prebuilts/gradle/SkeletonWearableApp           samples/${PLATFORM_NAME}/wearable/SkeletonWearableApp
developers/build/prebuilts/gradle/SpeedTracker                  samples/${PLATFORM_NAME}/wearable/SpeedTracker
developers/build/prebuilts/gradle/SynchronizedNotifications     samples/${PLATFORM_NAME}/wearable/SynchronizedNotifications
developers/build/prebuilts/gradle/Timer                         samples/${PLATFORM_NAME}/wearable/Timer
developers/build/prebuilts/gradle/WatchFace                     samples/${PLATFORM_NAME}/wearable/WatchFace
developers/build/prebuilts/gradle/WatchViewStub                 samples/${PLATFORM_NAME}/wearable/WatchViewStub
developers/build/prebuilts/gradle/WearNotifications             samples/${PLATFORM_NAME}/wearable/WearNotifications
developers/build/prebuilts/gradle/WearSpeakerSample             samples/${PLATFORM_NAME}/wearable/WearSpeakerSample
developers/build/prebuilts/gradle/XYZTouristAttractions         samples/${PLATFORM_NAME}/wearable/XYZTouristAttractions

# Old sample tree
development/samples/AccelerometerPlay          samples/${PLATFORM_NAME}/legacy/AccelerometerPlay
development/samples/AndroidBeamDemo            samples/${PLATFORM_NAME}/legacy/AndroidBeamDemo
development/samples/ApiDemos                   samples/${PLATFORM_NAME}/legacy/ApiDemos
development/samples/AppNavigation              samples/${PLATFORM_NAME}/legacy/AppNavigation
development/samples/BackupRestore              samples/${PLATFORM_NAME}/legacy/BackupRestore
development/samples/BasicGLSurfaceView         samples/${PLATFORM_NAME}/legacy/BasicGLSurfaceView
development/samples/ContactManager             samples/${PLATFORM_NAME}/legacy/ContactManager
development/samples/CrossCompatibility         samples/${PLATFORM_NAME}/legacy/CrossCompatibility
development/samples/CubeLiveWallpaper          samples/${PLATFORM_NAME}/legacy/CubeLiveWallpaper
development/samples/HelloEffects               samples/${PLATFORM_NAME}/legacy/HelloEffects
development/samples/Home                       samples/${PLATFORM_NAME}/legacy/Home
development/samples/HoneycombGallery           samples/${PLATFORM_NAME}/legacy/HoneycombGallery
development/samples/JetBoy                     samples/${PLATFORM_NAME}/legacy/JetBoy
development/samples/KeyChainDemo               samples/${PLATFORM_NAME}/legacy/KeyChainDemo
development/samples/LceDemo                    samples/${PLATFORM_NAME}/legacy/LceDemo
development/samples/LunarLander                samples/${PLATFORM_NAME}/legacy/LunarLander
development/samples/MultiResolution            samples/${PLATFORM_NAME}/legacy/MultiResolution
development/samples/NotePad                    samples/${PLATFORM_NAME}/legacy/NotePad
development/samples/SpellChecker/SampleSpellCheckerService samples/${PLATFORM_NAME}/legacy/SpellChecker/SampleSpellCheckerService
development/samples/SpellChecker/HelloSpellChecker         samples/${PLATFORM_NAME}/legacy/SpellChecker/HelloSpellChecker
development/samples/SampleSyncAdapter          samples/${PLATFORM_NAME}/legacy/SampleSyncAdapter
development/samples/SearchableDictionary       samples/${PLATFORM_NAME}/legacy/SearchableDictionary
development/samples/SipDemo                    samples/${PLATFORM_NAME}/legacy/SipDemo
development/samples/SkeletonApp                samples/${PLATFORM_NAME}/legacy/SkeletonApp
development/samples/Snake                      samples/${PLATFORM_NAME}/legacy/Snake
development/samples/SoftKeyboard               samples/${PLATFORM_NAME}/legacy/SoftKeyboard
development/samples/Spinner                    samples/${PLATFORM_NAME}/legacy/Spinner
development/samples/SpinnerTest                samples/${PLATFORM_NAME}/legacy/SpinnerTest
development/samples/TicTacToeLib               samples/${PLATFORM_NAME}/legacy/TicTacToeLib
development/samples/TicTacToeMain              samples/${PLATFORM_NAME}/legacy/TicTacToeMain
development/samples/TtsEngine                  samples/${PLATFORM_NAME}/legacy/TtsEngine
development/samples/ToyVpn                     samples/${PLATFORM_NAME}/legacy/ToyVpn
development/samples/UiAutomator                samples/${PLATFORM_NAME}/legacy/UiAutomator
development/samples/USB/MissileLauncher        samples/${PLATFORM_NAME}/legacy/USB/MissileLauncher
development/samples/USB/AdbTest                samples/${PLATFORM_NAME}/legacy/USB/AdbTest
development/samples/VoiceRecognitionService    samples/${PLATFORM_NAME}/legacy/VoiceRecognitionService
development/samples/VoicemailProviderDemo      samples/${PLATFORM_NAME}/legacy/VoicemailProviderDemo
development/samples/WeatherListWidget          samples/${PLATFORM_NAME}/legacy/WeatherListWidget
development/apps/WidgetPreview                 samples/${PLATFORM_NAME}/legacy/WidgetPreview
development/samples/WiFiDirectDemo             samples/${PLATFORM_NAME}/legacy/WiFiDirectDemo
development/samples/WiFiDirectServiceDiscovery samples/${PLATFORM_NAME}/legacy/WiFiDirectServiceDiscovery
development/samples/Wiktionary                 samples/${PLATFORM_NAME}/legacy/Wiktionary
development/samples/WiktionarySimple           samples/${PLATFORM_NAME}/legacy/WiktionarySimple
development/samples/XmlAdapters                samples/${PLATFORM_NAME}/legacy/XmlAdapters
development/samples/RenderScript/HelloCompute  samples/${PLATFORM_NAME}/legacy/RenderScript/HelloCompute

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

##############################################################################
# Add-on Folder
##############################################################################

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

##############################################################################
# Tests Component
##############################################################################
