#
# Copyright (C) 2010 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 the tools component of the SDK.
#

##############################################################################
# Tools Component
##############################################################################

# version files for the SDK updater, from sdk.git
sdk/files/tools_source.properties                   tools/source.properties

# copy plugin.prop from sdk.git
sdk/files/plugin.prop                               tools/lib/plugin.prop

# readme regarding adb move to platform-tools
sdk/files/adb_has_moved.txt                         tools/adb_has_moved.txt

# native host tools from out/host/$(HOST_OS)-$(HOST_ARCH)/
bin/sqlite3                                   strip tools/sqlite3
bin/dmtracedump                               strip tools/dmtracedump
bin/etc1tool                                  strip tools/etc1tool
bin/hprof-conv                                strip tools/hprof-conv
bin/mksdcard                                  strip tools/mksdcard
bin/zipalign                                  strip tools/zipalign

# emulator
bin/emulator                                  strip tools/emulator
bin/emulator-x86                              strip tools/emulator-x86
bin/emulator-arm                              strip tools/emulator-arm
bin/emulator-mips                             strip tools/emulator-mips
bin/emulator64-x86                            strip tools/emulator64-x86
bin/emulator64-arm                            strip tools/emulator64-arm
bin/emulator64-mips                           strip tools/emulator64-mips
sdk/emulator/snapshot/snapshots.img                 tools/lib/emulator/snapshots.img
usr/share/pc-bios/bios.bin                          tools/lib/pc-bios/bios.bin
usr/share/pc-bios/vgabios-cirrus.bin                tools/lib/pc-bios/vgabios-cirrus.bin
sdk/emulator/skins/dynamic                          tools/lib/emulator/skins/dynamic

# OpenGLES emulation libraries
lib/libOpenglRender${DLL_EXTENSION}           strip tools/lib/libOpenglRender${DLL_EXTENSION}
lib/libGLES_CM_translator${DLL_EXTENSION}     strip tools/lib/libGLES_CM_translator${DLL_EXTENSION}
lib/libGLES_V2_translator${DLL_EXTENSION}     strip tools/lib/libGLES_V2_translator${DLL_EXTENSION}
lib/libEGL_translator${DLL_EXTENSION}         strip tools/lib/libEGL_translator${DLL_EXTENSION}
lib/lib64OpenglRender${DLL_EXTENSION}         strip tools/lib/lib64OpenglRender${DLL_EXTENSION}
lib/lib64GLES_CM_translator${DLL_EXTENSION}   strip tools/lib/lib64GLES_CM_translator${DLL_EXTENSION}
lib/lib64GLES_V2_translator${DLL_EXTENSION}   strip tools/lib/lib64GLES_V2_translator${DLL_EXTENSION}
lib/lib64EGL_translator${DLL_EXTENSION}       strip tools/lib/lib64EGL_translator${DLL_EXTENSION}

# Java-Based SDK Tools
bin/ddms                                            tools/ddms
bin/hierarchyviewer                                 tools/hierarchyviewer
bin/draw9patch                                      tools/draw9patch
bin/traceview                                       tools/traceview
bin/android                                         tools/android
bin/monkeyrunner                                    tools/monkeyrunner
bin/uiautomatorviewer                               tools/uiautomatorviewer
prebuilts/devtools/tools/jobb                       tools/jobb
prebuilts/devtools/tools/lint                       tools/lint

# sdk.git Ant templates for project build files
sdk/templates/build.template                        tools/lib/build.template
sdk/templates/uibuild.template                      tools/lib/uibuild.template
sdk/files/proguard-project.txt                      tools/lib/proguard-project.txt
sdk/files/proguard-android.txt                      tools/proguard/proguard-android.txt
sdk/files/proguard-android-optimize.txt             tools/proguard/proguard-android-optimize.txt

# Ant Build Rules
sdk/files/ant                                       tools/ant
sdk/files/sdk_files_NOTICE.txt                      tools/ant/NOTICE.txt

# layout device definition
sdk/files/devices.xml                               tools/lib/devices.xml

# AVD Hardware property list
external/qemu/android/avd/hardware-properties.ini   tools/lib/hardware-properties.ini

# emacs support from sdk.git
sdk/files/android.el tools/lib/android.el

# Java Libraries for the tools
prebuilts/devtools/tools/lib/common.jar             tools/lib/common.jar
prebuilts/devtools/tools/lib/swtmenubar.jar         tools/lib/swtmenubar.jar
sdk/apkbuilder/etc/apkbuilder                       tools/apkbuilder
framework/sdkstats.jar                              tools/lib/sdkstats.jar
framework/archquery.jar                             tools/lib/archquery.jar
framework/ddms.jar                                  tools/lib/ddms.jar
prebuilts/devtools/tools/lib/ddmlib.jar             tools/lib/ddmlib.jar
framework/ddmuilib.jar                              tools/lib/ddmuilib.jar
framework/hierarchyviewer2.jar                      tools/lib/hierarchyviewer2.jar
framework/hierarchyviewerlib.jar                    tools/lib/hierarchyviewerlib.jar
framework/draw9patch.jar                            tools/lib/draw9patch.jar
framework/traceview.jar                             tools/lib/traceview.jar
framework/anttasks.jar                              tools/lib/anttasks.jar
prebuilts/devtools/tools/lib/sdklib.jar             tools/lib/sdklib.jar
prebuilts/devtools/tools/lib/sdkuilib.jar           tools/lib/sdkuilib.jar
framework/sdkmanager.jar                            tools/lib/sdkmanager.jar
framework/monkeyrunner.jar                          tools/lib/monkeyrunner.jar
framework/chimpchat.jar                             tools/lib/chimpchat.jar
framework/guava-tools.jar                           tools/lib/guava-tools.jar
framework/jsilver.jar                               tools/lib/jsilver.jar
framework/jython.jar                                tools/lib/jython.jar
prebuilts/devtools/tools/lib/lint.jar               tools/lib/lint.jar
prebuilts/devtools/tools/lib/lint_api.jar           tools/lib/lint_api.jar
prebuilts/devtools/tools/lib/lint_checks.jar        tools/lib/lint_checks.jar
prebuilts/devtools/tools/lib/manifmerger.jar        tools/lib/manifmerger.jar
prebuilts/devtools/tools/lib/dvlib.jar              tools/lib/dvlib.jar
prebuilts/devtools/tools/lib/layoutlib_api.jar      tools/lib/layoutlib_api.jar
framework/uiautomatorviewer.jar                     tools/lib/uiautomatorviewer.jar
prebuilts/devtools/tools/lib/jobb.jar               tools/lib/jobb.jar
framework/fat32lib.jar                              tools/lib/fat32lib.jar
prebuilts/tools/common/mkidentity/mkidentity-prebuilt.jar tools/lib/mkidentity.jar

# 3rd Party java libraries
prebuilts/tools/common/commons-compress/commons-compress-1.0.jar                    tools/lib/commons-compress-1.0.jar
prebuilts/tools/common/http-client/httpclient-4.1.1.jar                             tools/lib/httpclient-4.1.1.jar
prebuilts/tools/common/http-client/httpcore-4.1.jar                                 tools/lib/httpcore-4.1.jar
prebuilts/tools/common/http-client/httpmime-4.1.1.jar                               tools/lib/httpmime-4.1.1.jar
prebuilts/tools/common/http-client/commons-logging-1.1.1.jar                        tools/lib/commons-logging-1.1.1.jar
prebuilts/tools/common/http-client/commons-codec-1.4.jar                            tools/lib/commons-codec-1.4.jar
framework/emmalib.jar                                                               tools/lib/emma_device.jar
external/emma/lib/emma.jar                                                          tools/lib/emma.jar
external/emma/lib/emma_ant.jar                                                      tools/lib/emma_ant.jar
prebuilts/tools/common/jfreechart/jcommon-1.0.12.jar                                tools/lib/jcommon-1.0.12.jar
prebuilts/tools/common/jfreechart/jfreechart-1.0.9.jar                              tools/lib/jfreechart-1.0.9.jar
prebuilts/tools/common/jfreechart/jfreechart-1.0.9-swt.jar                          tools/lib/jfreechart-1.0.9-swt.jar
prebuilts/tools/common/eclipse/org.eclipse.core.commands_3.6.0.I20100512-1500.jar   tools/lib/org.eclipse.core.commands_3.6.0.I20100512-1500.jar
prebuilts/tools/common/eclipse/org.eclipse.equinox.common_3.6.0.v20100503.jar       tools/lib/org.eclipse.equinox.common_3.6.0.v20100503.jar
prebuilts/tools/common/eclipse/org.eclipse.jface_3.6.2.M20110210-1200.jar           tools/lib/org.eclipse.jface_3.6.2.M20110210-1200.jar
prebuilts/tools/common/osgi/osgi.jar                                                tools/lib/osgi.jar
prebuilts/tools/common/asm-tools/asm-4.0.jar                                        tools/lib/asm-4.0.jar
prebuilts/tools/common/asm-tools/asm-tree-4.0.jar                                   tools/lib/asm-tree-4.0.jar
prebuilts/tools/common/asm-tools/asm-analysis-4.0.jar                               tools/lib/asm-analysis-4.0.jar
prebuilts/tools/common/guava-tools/guava-13.0.1.jar                                 tools/lib/guava-13.0.1.jar
prebuilts/tools/common/lombok-ast/lombok-ast-0.2.jar                                tools/lib/lombok-ast-0.2.jar

# Proguard
# We're skipping the build and src/ trees (except for src/proguard/ant/task.properties)
# and copying in a license.html file
prebuilts/tools/common/proguard/license.html                   tools/proguard/license.html
prebuilts/tools/common/proguard/proguard4.7/README             tools/proguard/README
prebuilts/tools/common/proguard/proguard4.7/docs               tools/proguard/docs
prebuilts/tools/common/proguard/proguard4.7/examples           tools/proguard/examples
prebuilts/tools/common/proguard/proguard4.7/lib                tools/proguard/lib
prebuilts/tools/common/proguard/proguard4.7/bin/proguard.sh    tools/proguard/bin/proguard.sh
prebuilts/tools/common/proguard/proguard4.7/bin/proguardgui.sh tools/proguard/bin/proguardgui.sh
prebuilts/tools/common/proguard/proguard4.7/bin/retrace.sh     tools/proguard/bin/retrace.sh
prebuilts/tools/common/proguard/proguard4.7/src/proguard/ant/task.properties  tools/proguard/ant/task.properties

# Templates
sdk/templates/projects                  tools/templates/projects
sdk/templates/activities                tools/templates/activities
sdk/templates/other                     tools/templates/other

# SDK Controller
sdk/apps/SdkController                  tools/apps/SdkController

# tools specific support jar
framework/annotations.jar               tools/support/annotations.jar

# systrace
external/chromium-trace/systrace.py     tools/systrace/systrace.py
external/chromium-trace/script.js       tools/systrace/script.js
external/chromium-trace/style.css       tools/systrace/style.css
external/chromium-trace/LICENSE         tools/systrace/LICENSE
external/chromium-trace/AUTHORS         tools/systrace/AUTHORS
external/chromium-trace/NOTICE          tools/systrace/NOTICE

# Misspelling databases for lint
sdk/files/typos                         tools/support

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

sdk/testapps                            tests/testapps
framework/ninepatch-tests.jar           tests/libtests/ninepatch-tests.jar

