anchor.diff:  * `bin/compile` deprecated alternative to `bin/supply` and `bin/finalize`
   
   The `bin/supply` and `bin/finalize` scripts replace the deprecated `bin/compile` script.
  -Older buildpacks may still use `bin/compile` with the latest Cloud Foundry, but without support for applying multiple buildpacks to a single application.
  +Older buildpacks may still use `bin/compile` with the latest version of Cloud Foundry. In this case, applying multiple buildpacks to a single app is not supported.
   Similarly, newer buildpacks may still provide `bin/compile` for compatibility with Heroku and older versions of Cloud Foundry.
   
  -The `bin/supply` script is required for non-final buildpacks. The `bin/finalize` (or `bin/compile`) compile script is required for final buildpacks.
  +The `bin/supply` script is required for non-final buildpacks. The `bin/finalize` (or `bin/compile`) script is required for final buildpacks.
   
   ### <a id='detect-script'></a>bin/detect ###
   
  
positive.code: 
  ### <a id='finalize-script'></a>bin/finalize ###
  
  The `finalize` script prepares the app for launch, and only runs for the last buildpack. All output sent to `STDOUT` is relayed through the cf CLI to the user.
  
  The script is run with four arguments:
  1. The `build` directory for the app
  2. The `cache` directory, which is a location the buildpack can use to store assets during the build process
  3. The `deps` directory, which is where dependencies provided by all buildpacks are installed
  4. The `index`, which is a number that represents the ordinal position of the buildpack
  
  The `finalize` script may find dependencies installed by the same buildpack's `supply` script in `deps`/`index`, and may look in other directories in `deps` to find dependencies supplied by other buildpacks.
  
  The `cache` directory provided to the `finalize` script is preserved even when the buildpack is upgraded or otherwise changes. The same buildpack's `supply` script also has access to this cache directory.
  
  
negative.code: java-buildpack=v3.0-https://github.com/cloudfoundry/java-buildpack.git#3bd15e1 open-jdk-jre=1.8.0_45 spring-auto-reconfiguration=1.7.0_RELEASE tomcat-access-logging-support=2.4.0_RELEASE tomcat-instance=8.0.21 tomcat-lifecycle-support=2.4.0_RELEASE ...
  ~~~
  
  Only a single buildpack is detected by default. When multiple buildpacks are desired, they must be explicitly specified.
  
  For more information, see the [Buildpack Detection](#buildpack-detection) section below.
  
  ### <a id='supply-script'></a>bin/supply ###
  
  The `supply` script provides dependencies for the app and runs for all buildpacks. All output sent to `STDOUT` is relayed to the user through the Cloud Foundry command line interface (CLI).
  
  The script is run with four arguments:
  
  * The `build` directory for the app
  * The `cache` directory, which is a location the buildpack can use to store assets during the build process
  * The `deps` directory, which is where dependencies provided by all buildpacks are installed
  * The `index`, which is a number that represents the ordinal position of the buildpack
  
  The `supply` script stores dependencies in `deps`/`index`. It may also look in other directories within `deps` to find dependencies supplied by other buildpacks.
  
  The `supply` script must not modify anything outside of the `deps`/`index` directory. Staging may fail if such modification is detected.
  
  The `cache` directory provided to the `supply` script of the final buildpack is preserved even when this buildpack is upgraded or otherwise changes. The `finalize` script also has access to this cache directory.
  
  The `cache` directories provided to the `supply` scripts of non-final buildpacks are cleared if those buildpacks are upgraded or otherwise change.
  
  The following is an example of a simple `supply` script:
  
  