# Redirect file.
# This file contains the list of rewrite rules that are applied when serving
# pages.
#
# Each redirect has four parts:
#
# - src: The path to redirect. This is a regex rule prefixed with an implied
#   '^'. Unless you're doing something advanced, your path should start with
#   '/' character.
#
# - dst: The path to redirect to. If the path begins with a slash,
#   it is considered a relative redirect. Otherwise, it is an absolute
#   redirct (and should probably begin with http: or http://). You may use
#   capturing groups to preserve part of the source path. To referece a
#   capturing group, use \N, where N is the (1-based) index of desired group.
#
# - type: Either 'permanent' or 'temporary', depending on whether you want an
#   HTTP 301 or HTTP 302 redirect, respectiviely. See RFC 2616 for the
#   difference between these:
#
#       http://tools.ietf.org/html/rfc2616
#
#   If you don't specify a type, 'permanent' will be used by default. Note that
#   this is different from the Apache convention (which uses 'temporary' by
#   default.)
#
# - comment: Currently ignored by the computer, but useful for humans.
#
# Example:
#
# redirects:
# - src: /foo
#   dst: /bar
#   # Redirect /foo to /bar. This will also redirect foo/ and
#   # foo/test.html. Note that the redirect type is optional. This will be
#   # treated as a permanent redirect.
#
# - src: /(.+droid(/.*)?)$
#   dst: /droids/\1
#   type: permanent
#   # Redirect /android to /droids/android and /bugdroid to
#   # /droids/bugdroid. However, it will not redirect /droid or
#   # /bugdroids.

#
# - src: /google
#   dst: http://www.google.com
#   type: temporary
#   # This is an example of a redirect to an absolute URI.
#
#
#   WATCH OUT -- SRC LINE HAS TO START WITH A HYPHEN !!

redirects:
# new one works
- src: /sdk/android-
  dst: /about/versions/android-
  type: permanent
  comment: Redirect sdk reference to new location

# new one works
- src: /sdk/oem-usb.html
  dst: /tools/extras/oem-usb.html
  type: permanent
  comment: Redirect sdk reference to new location

- src: /sdk/installing.html
  dst: /sdk/installing/index.html
  type: permanent
  comment: Redirect sdk reference to new location

# new one works
- src: /sdk/compatibility-library.html
  dst: /tools/extras/support-library.html
  type: permanent
  comment: Redirect sdk reference to new location

# new one works
- src: /sdk/eclipse-adt.html
  dst: /tools/sdk/eclipse-adt.html
  type: permanent
  comment: Redirect sdk reference to new location

# new one works
- src: /sdk/tools-notes.html
  dst: /tools/sdk/tools-notes.html
  type: permanent
  comment: Redirect sdk reference to new location

# new one works
- src: /sdk/adding-components.html
  dst: /sdk/exploring.html
  type: permanent
  comment: Redirect sdk reference to new location

#new one works
- src: /sdk/ndk/
  dst: /tools/sdk/ndk/
  type: permanent
  comment: Redirect sdk reference to new location

#new one works
- src: /sdk/requirements.html
  dst: /sdk/index.html
  type: permanent
  comment: Redirect sdk reference to new location

#- src: /sdk/(?!index.html|installing/|exploring)
#  dst: /tools/sdk/
#  type: permanent
#  comment: Redirect sdk reference to new location

#- src: /sdk/compatibility
#  dst: /tools/sdk/support-package.html
#  type: permanent
#  comment: Redirect to new location

# new one
- src: /guide/market/
  dst: /guide/google/play/
  type: permanent
  comment: redirect billing to new loc

# new one
- src: /guide/publishing/licensing.html
  dst: /guide/google/play/licensing/index.html
  type: permanent
  comment: Redirect Licensing docs to new location

- src: /guide/developing/tools/
  dst: /tools/help/
  type: permanent
  comment: Redirect to new location

- src: /guide/developing/
  dst: /tools/
  type: permanent
  comment: Redirect to new location

- src: /tools/aidl.html
  dst: /guide/components/aidl.html
  type: permanent
  comment: bug 6755311, aidl doc found by search under tools

- src: /guide/market/publishing/multiple-apks.html
  dst: /guide/google/play/publishing/multiple-apks.html
  type: permanent
  comment: Redirect to new location

- src: /guide/publishing/publishing.html
  dst: /distribute/googleplay/publish/preparing.html
  type: permanent
  comment: Redirect to new location

- src: /guide/publishing/
  dst: /tools/publishing/
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/fundamentals.html
  dst: /guide/components/fundamentals.html
  type: permanent

- src: /guide/topics/intents/intents-filters.html
  dst: /guide/components/intents-filters.html
  type: permanent

- src: /guide/topics/fundamentals/
  dst: /guide/components/
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/clipboard/copy-paste.html
  dst: /guide/topics/text/copy-paste.html
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/topics/wireless/
  dst: /guide/topics/connectivity/
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/topics/drawing/.*
  dst: /guide/topics/graphics/opengl.html
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/connectivity/usb/adk.html
  dst: /tools/adk/index.html
  type: permanent

- src: /tools/adk/aoa.html
  dst: http://source.android.com/tech/accessories/aoap/aoa.html
  type: permanent
  comment: Open Accessory Protocol content has moved to source.android.com.

- src: /tools/adk/aoa2.html
  dst: http://source.android.com/tech/accessories/aoap/aoa2.html
  type: permanent
  comment: Open Accessory Protocol content has moved to source.android.com.

- src: /guide/topics/usb
  dst: /guide/topics/connectivity/usb
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/appendix/api-levels.html
  dst: /guide/topics/manifest/uses-sdk-element.html#ApiLevels
  type: permanent
  comment: Redirect to new location

- src: /guide/appendix/install-location.html
  dst: /guide/topics/data/install-location.html
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/basics/what-is-android.html
  dst: /about/index.html
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/security/security.html
  dst: /guide/topics/security/permissions.html
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/appendix/market-filters.html
  dst: /guide/google/play/filters.html
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/testing/
  dst: /tools/testing/
  type: permanent

- src: /guide/topics/graphics/animation.html
  dst: /guide/topics/graphics/overview.html
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/graphics/renderscript/(compute.html|index.html|reference.html)
  dst: /guide/topics/renderscript/index.html
  type: permanent
  comment: Redirect to new location

- src: /guide/topics/location/obtaining-user-location.html
  dst: /guide/topics/location/strategies.html
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/topics/nfc/
  dst: /guide/topics/connectivity/nfc/
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/topics/wireless/
  dst: /guide/topics/connectivity/
  type: permanent
  comment: Redirect to new location

# new one
- src: /guide/topics/network/
  dst: /guide/topics/connectivity/
  type: permanent
  comment: Redirect to new location

# new one
- src: /resources/articles/creating-input-method.html
  dst: /guide/topics/text/creating-input-method.html
  type: permanent

# new one
- src: /resources/articles/spell-checker-framework.html
  dst: /guide/topics/text/spell-checker-framework.html
  type: permanent

# new one
- src: /resources/tutorials/notepad/
  dst: /training/notepad/
  type: permanent
  comment: this is only for external links, until we update this documentation

# new one
- src: /resources/faq/
  dst: /guide/faq/
  type: permanent
  comment: FAQ still needs a permanent home

# new one
- src: /resources/tutorials/hello-world.html
  dst: /training/basics/firstapp/index.html
  type: permanent
  comment: Redirect to new location

# add the rest of the tutorials here

- src: /guide/practices/design/
  dst: /guide/practices/
  type: permanent
  comment: Redirect to new location

- src: /guide/practices/accessibility.html
  dst: /guide/topics/ui/accessibility/index.html
  type: permanent

# new one
- src: /resources/dashboard/.*
  dst: /about/dashboards/index.html
  type: permanent
  comment: Redirect to new location

- src: /resources/community-groups.html
  dst: /support.html
  type: permanent
  comment: Redirect to new location

- src: /guide/tutorials/
  dst: /resources/tutorials/
  type: permanent

- src: /resources/tutorials/views/hello-linearlayout.html
  dst: /guide/topics/ui/layout/linear.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-relativelayout.html
  dst: /guide/topics/ui/layout/relative.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-listview.html
  dst: /guide/topics/ui/layout/listview.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-gridview.html
  dst: /guide/topics/ui/layout/gridview.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-webview.html
  dst: /guide/webapps/webview.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-formstuff.html
  dst: /guide/topics/ui/controls.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-datepicker.html
  dst: /guide/topics/ui/controls/pickers.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-timepicker.html
  dst: /guide/topics/ui/controls/pickers.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-autocomplete.html
  dst: /guide/topics/ui/controls/text.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/views/hello-spinner.html
  dst: /guide/topics/ui/controls/spinner.html
  type: permanent
  comment: Redirect to new location

- src: /resources/tutorials/opengl/opengl-es10.html
  dst: /training/graphics/opengl/index.html
  type: permanent

- src: /resources/tutorials/opengl/opengl-es20.html
  dst: /training/graphics/opengl/index.html
  type: permanent

- src: /resources/tutorials/views/hello-mapview.html
  dst: https://developers.google.com/maps/documentation/android/hello-mapview
  type: permanent

- src: /resources/tutorials/views/.*
  dst: /guide/topics/ui/declaring-layout.html#CommonLayouts
  type: permanent

- src: /resources/tutorials/localization/.*
  dst: /training/basics/supporting-devices/languages.html
  type: permanent

- src: /resources/samples/.*
  dst: /tools/samples/index.html
  type: permanent
  comment: Redirect to new location

- src: /resources/(?!articles)
  dst: /training/
  type: permanent
  comment: Redirect to new location

- src: /guide/publishing/publishing.html#BuildaButton
  dst: /distribute/googleplay/promote/badges.html
  type: permanent
  comment: Redirect to new location

- src: /guide/index.html
  dst: /guide/components/index.html
  type: permanent
  comment: Redirect to new location



# ------------------- TRAINING -------------------

- src: /training/cloudsync/aesync.html
  dst: /guide/google/gcm/index.html
  type: permanent
  comment: Syncing with App Engine was removed because it's obsolete.


# -------------------- MISC ----------------------

- src: /shareables/
  dst: http://commondatastorage.googleapis.com/androiddevelopers/shareables/
  type: permanent
  comment: Redirect to new location

- src: /downloads/
  dst: http://commondatastorage.googleapis.com/androiddevelopers/
  type: permanent
  comment: Redirect to new location

- src: /search.html
  dst: /index.html
  type: permanent
  comment: Redirect to new location

- src: /videos/index.html
  dst: /develop/index.html
  type: permanent
  comment: Redirect to new location

- src: /live/index.html
  dst: https://developers.google.com/live/
  type: permanent
  comment: Redirect to new location





# -------------------- EASTER EGG REDIRECTS ----------------------





# ---------- PLATFORM VERSIONS ----------------

- src: /4.1
  dst: /about/versions/android-4.1.html
  type: permanent

- src: /jb
  dst: /about/versions/jelly-bean.html
  type: permanent

- src: /4.0
  dst: /about/versions/android-4.0.html
  type: permanent

- src: /ics
  dst: /about/versions/android-4.0-highlights.html
  type: permanent

- src: /hc
  dst: /about/versions/android-3.0-highlights.html
  type: permanent

- src: /gb
  dst: /about/versions/android-2.3-highlights.html
  type: permanent



# ---------- MISC -----------------

- src: /%2B/?$
  dst: https://plus.google.com/108967384991768947849/posts
  type: permanent
  comment: Redirect /+ and /+/ to Google+

- src: /blog
  dst: http://android-developers.blogspot.com/
  type: permanent

- src: /stats
  dst: /about/dashboards/index.html
  type: permanent


