-
Brian Muramatsu authored
buildCts.py was the central script that generated all the test package XMLs each time CTS was built. This had a couple problems: 1. All the XML files for ~40 packages needed to be made every time CTS was made. Even if those packages were not touched at all. 2. Couldn't shard the XML generation process across the available cores on a machine. A pool was added to the python script, but it was set to a fixed number. This change moves the test XML generation into a smaller Java program called "cts-java-scanner" and the doclet it relies upon to scan the Java files into "cts-java-scanner-doclet.jar". The output of the scanner like "cts-native-scanner" for native EXEs is piped to the existing cts-xml-generator to produce the test XMLs. New CTS specific rules replace the standard BUILD_PACKAGE and BUILD_HOST_JAVA_LIBRARY. They just add extra rules for the package XML. The BUILD_CTS_PACKAGE rule also adds a rule for copying the "package.apk" to something more like "CtsFooTestCases.apk" to the test case out directory. All the apks, exes, and xmls are now thrown into a "cts-testcases" directory, before they are copied to the final CTS distribution. This change should prevent rebuilding the XMLs unnecessarily and make rebuilding CTS quicker while writing tests. There are still the libcore tests that are always rebuilt, but they can be adapted to fit into this model someday... Change-Id: I52a916aa37fd679057e2709bb0ccec694c9fca01
5df641c2