1# Making Job Scheduler into a Mainline Module
2
3## Current structure
4
5- JS service side classes are put in `service-jobscheduler.jar`.
6It's *not* included in services.jar, and instead it's put in the system server classpath,
7which currently looks like the following:
8`SYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/com.android.location.provider.jar:/system/framework/service-jobscheduler.jar`
9
10  `SYSTEMSERVERCLASSPATH` is generated from `PRODUCT_SYSTEM_SERVER_JARS`.
11
12- JS framework side classes are put in `framework-jobscheduler.jar`,
13and the rest of the framework code is put in `framework-minus-apex.jar`,
14as of http://ag/9145619.
15
16  However these jar files are *not* put on the device. We still generate
17  `framework.jar` merging the two jar files, and this jar file is what's
18  put on the device and loaded by Zygote.
19
20The current structure is *not* the final design.
21