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