Mention derive_classpath in SdkExtensions/README.md

Bug: 180105615
Test: N/A
Change-Id: Ia2cdee93ef970e61714aa173028a23d2dbb64ac6
diff --git a/README.md b/README.md
index bf5191c..389d985 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,25 @@
 # SdkExtensions module
 
-SdkExtensions is a module that decides the extension SDK level of the device,
-and provides APIs for applications to query the extension SDK level.
+SdkExtensions module is responsible for:
+- deciding the extension SDK level of the device;
+- providing APIs for applications to query the extension SDK level;
+- determining the values for the BOOTCLASSPATH, DEX2OATBOOTCLASSPATH, and
+  SYSTEMSERVERCLASSPATH environment variables.
 
 ## General information
 
 ### Structure
 
-The module is packaged in an apex, `com.android.sdkext`, and has two components:
-- `bin/derive_sdk`: Native binary that runs early in the device boot process and
+The module is packaged in an apex, `com.android.sdkext`, and has several
+components:
+- `bin/derive_classpath`: a native binary that runs early in the device boot
+  process. It reads individual classpath configs files from the system and
+  other modules, merges them, and defines the definition of *CLASSPATH environ
+  variables.
+- `bin/derive_sdk`: native binary that runs early in the device boot process and
   reads metadata of other modules, to set system properties relating to the
   extension SDK (for instance `build.version.extensions.r`).
-- `javalib/framework-sdkextension.jar`: This is a jar on the bootclasspath that
+- `javalib/framework-sdkextension.jar`: this is a jar on the bootclasspath that
   exposes APIs to applications to query the extension SDK level.
 
 ### Deriving extension SDK level
@@ -27,7 +35,16 @@
 read the version of a particular sdk extension, e.g.
 `getExtensionVersion(Build.VERSION_CODES.R)`.
 
-[sdkinfo-proto]: sdk.proto
+### Deriving classpaths
+`derive_classpath` service reads and merges individual config files in the
+`/system/etc/classpaths/` and `/apex/*/etc/classpaths`. Each config stores
+protobuf message from [`classpaths.proto`] in a proto binary format. Exact
+merging algorithm that determines the order of the classpath entries is
+described in [`derive_classpath.cpp`] and may change over time.
+
+[`classpaths.proto`]: packages/modules/SdkExtensions/proto/classpaths.proto
+[`derive_classpath.cpp`]: packages/modules/SdkExtensions/derive_classpath/derive_classpath.cpp
+[sdkinfo-proto]: packages/modules/SdkExtensions/proto/sdk.proto
 [sdkextensions-java]: framework/java/android/os/ext/SdkExtensions.java
 
 ## Developer information