Please put an ota package and its target build as cf_x86_demo.zip and
cf_x86_target_file_demo into this directory: /public/files/
This OTA package and target build do not have to be complete - only the
manifest part in OTA package and .map files in target build are
necessary. The previous one can be generated using:
https://source.corp.google.com/android/vendor/google_tradefederation/contrib/src/com/google/android/tradefed/ota/util/PayloadUtil.java;l=196;bpv=1;bpt=1?q=PayloadUtil&sq=package:android
The following one can be generated by unzip and keep the .map files
only, zip again.
Add a demo page, now the user can view the complete function of
OTA_analyzer without uploading their own ota packages / android build.
Test: Mannual tested.
Change-Id: I7552e0222fc40e9a4b1aff9750f74cd3ed3f4feb
To upgrade from the Android version A to Android version D, one could
directly generate an OTA package from A to D. But chances are (a) this
OTA package can be large and unstable (b) there are multiple other
devices are on version B or C. So generation of chain OTA packages
(A-->B-->C-->D) can help life easier.
Users will be able to select and sort the Android build in
`ChainOTAOptions.vue` component, and submit multiple jobs at the same
time using a OTAConfiguration from `JobSubmission.js`.
Test: Mannual tested.
Change-Id: I9f16f981af80900c18a571162146ce218ea96387
Batch generation of OTA packages is a important feature
requested by googler and partners: please refer to go/ota-dashboard-doc.
Given n incremental source builds and m target builds,
batch generation will generate n x m OTA packages in total.
If n=0, full OTA package will be generated.
The front end will be taking in the source/target lists and send the
request to backend one-by-one.
Test: mannual tested.
Change-Id: I769359ee69c7aa8c71704c4e119c374635554dfb
Following part has been modified:
1. Add tabs for selection between single generation and batch
generation. (src/components/JobConfigure.vue)
2. Change the data structure of OTAConfiguration, now it only records
the flags. The source/target build will be provided when submit jobs.
(src/services/JobSubmission.js)
3. Seperate the OTAOptions as a single component, which only takes in
the flags for backend. The selection of source/target build will be in a
seperate component. (src/components/OTAOptions.vue,
src/components/SingleOTAOptions.vue).
4. Now the partition selection can takes in more than one build, but
only show the partition list of first one. Later on, this will be able
to show the intersection of the partition lists from all given builds.
(src/components/PartialCheckbox.vue)
Point 1 enables the possibility of the dynamical loading of single/batch
ota generation pages. Point 2,3,4 allow the OTAOptions components to
be reused for batch generation.
Test: Mannual tested.
Change-Id: I1a29fa7c605596d717d19da25d31b81ce5b8fcba
A variable name was mispelled and it could lead to jobs unable to be
started.
Test: Mannual tested.
Change-Id: I4067e2ae243428cb190463f55122b88d471f45f7
A complete set of flags for the CLI tool can be found in this script:
https://source.corp.google.com/android/build/make/tools/releasetools/ota_from_target_files.py
Now most of the flags are being added to the front end. However, there
are several TODOs:
1. flags that require extra arguements or file operations are not
supported yet.
2. the flags can depend or exclude on other flags. Dependency is
included in file 'JobSubmissions.js'-'OTAExtraFlags'. But the function
is not implemented yet.
Test: Mannual tested.
Change-Id: I3b6b76d48861cff81bfad86b549ff53f6536933b
Previously, the newly uploaded file cannot be shown immediately in the
datatable, unless refresh the page. Now the bug is fixed.
Similar bug is also fixed in OTAJobTable.vue.
Test: mannual tested.
Change-Id: Ia0531db884a7e1675b2cf51aeb8ca0847694c63c
Previously, the front end will generate a string for '--partial' flag.
Now the front end will only record the partial partitions that are going
to be updated as an array, and the backend will convert the array into a
string for CLI tool.
The output now is also calculated in the backend,
Test: mannual tested.
Change-Id: Ib5604e52b0c0d0cdd2bf85c71479b3133479da74
Add BasicInfo.vue to show some basic facts of the ota package,
including:
- is partial or not
- is incremental or not
- is VAB or not
- is VABC or not
Test: Mannual tested.
Change-Id: Ibc3e0a88ea03fc310b401ffe14c5b63d9e0f9452
The original code for OTA configuration in the frontend is tightly
coupled and hard to maintain. This CL decoupled the job configuration
component (OTAOptions.vue), build library (BuildLibrary.vue) and job
submission (JobSubmission.js).
The BuildLibrary.vue will present the
target build list and take selections. Selections will be sent to
OTAOptions.vue, where flags are set. Once the setting is complete, an
OTAOption object defined by JobSubmission.js will be sent to the
backend. This design can be viewed in go/ota-dashboard-doc : detailed
design - TASK CONFIGURATION.
This has several benefits: (a) easier for
future maintainence. (b) The original code cannot easily be reused for
batch OTA package generation. Now, only the OTAOptions.vue has to be
modified for this purpose.
Test: Mannual tested. Unit tests will be added in following CLs.
Change-Id: I846d0c242cd6ed51478dd4d1a3e4c5fb8878aba1
Currently, users cannot choose build from the datatable directly, but
the datatable will give options to sort the builds uploaded and then
select from the sorted list.
Test: mannual tested.
Change-Id: If4e8ff7210a19170f7a7e6f77f03d21f6a10e6ac