Commit Graph

15 Commits

Author SHA1 Message Date
Eugene Susla
05ef53ed1c Fix some stale dataclass detector false positives
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I562bb4f238bdb28af49804e77c956e41a7bd198d
2019-10-08 16:16:30 -07:00
TreeHugger Robot
68e5e264e7 Merge "Add inheritance support for parcelable dataclasses" 2019-10-05 06:51:40 +00:00
TreeHugger Robot
e10e901b7f Merge "Add helpful links to codegen --help" 2019-10-05 02:11:56 +00:00
Eugene Susla
8cb1a41714 Add inheritance support for parcelable dataclasses
We don't want to recommend this, but some legacy framework classes use
inheritance, and it's easy enough to support

Fixes: 142081378
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ifb7f34abf1dfb871ac01b9a9a38dfee144e5f49a
2019-10-04 16:18:48 -07:00
Eugene Susla
d0a6401ed3 Add helpful links to codegen --help
Test: ensure links/email are clickable in terminal
Change-Id: I2d9461e98497b8a2af21b0a48ae05c5c110c8484
2019-10-04 01:57:09 +00:00
Eugene Susla
20b6e646e5 Fix a few corner-cases with parcelling SparseArrays and Maps
Also added a test for some similar parcelling corner cases

Test: . frameworks/base/tests/Codegen/runTest.sh
Fixes: 141877655
Change-Id: Iad5c3b0a8489206754f6ebe6acb8b56ba9ca174a
2019-10-03 15:05:26 -07:00
Eugene Susla
c49e8eece4 Fix codegen adding random /
Fixes: 141934335
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ic72d141ed58e332079e7edb7134e02d1447ff643
2019-10-01 11:53:44 -07:00
Eugene Susla
6cd8ae5383 Move lint disabler comment above CLI hint
Long file names may trigger lint error right in the generated warning comment

Fixes: 141753810
Test: presubmit
Change-Id: I89be669e111e65f80ff8994fd61eaab3c0ae8a6e
2019-09-27 10:31:39 -07:00
Eugene Susla
71d5e7775e Fix codegen not accepting relative paths
Fixes: 140886378
Test: codegen tests/Codegen/src/com/android/codegentest/SampleDataClass.java;
./frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ie2b5c55f35ec7865bf34cf9e99ef7751eb5f8d98
2019-09-11 13:58:34 -07:00
Eugene Susla
f366188dac Merge "Use dataclass codegen on a few initial framework classes" 2019-08-07 22:51:23 +00:00
Eugene Susla
3b2fe616fd Use dataclass codegen on a few initial framework classes
Test: presubmit
Change-Id: Ide3c21596f6489fdb1db8f72e1436a01b10f56ed
2019-08-06 21:29:29 -07:00
Eugene Susla
b3361098ed Update codegen to match javaparser update
Test: . $ANDROID_BUILD_TOP/frameworks/base/tests/Codegen/runTest.sh
Change-Id: I3e961a9cee5c71bd2195328dcb53dabd61255aa6
2019-08-06 14:19:49 -07:00
Eugene Susla
3156a4ce21 Addresses further review comments from ag/8000041
Including:
 - An API to opt out of Int/StringDefs generation on per-field basis
 - A way to customize Builder
 - Non-optional fields are passed in Builder constructor
 - Various adjustments to SampleDataclass examples, as requested

Test: . $ANDROID_BUILD_TOP/frameworks/base/tests/Codegen/runTest.sh
Change-Id: I32d2eec52f05d505ff07779d923e4793d3036579
2019-08-05 16:54:41 -07:00
Eugene Susla
0fb0ffa4cc Auto-build/update codegen
Test: 1. Manually enter version/presence of build artifact,
and ensure `codegen FILENAME` still works
2. run codegen again without altering version, ensure no build triggered
Change-Id: I6f1dba0a476077c708bbea8ef558445107e5ad97
2019-07-29 14:57:01 -07:00
Eugene Susla
574b7e11d5 Codegen for parcelable/dataclass boilerplate
This is the initial implementation of the `codegen` cli utility
for in-place java boilerplate generation

See DataClass and SampleDataClass for documentation/guide/examples.

See tools/codegen/ for implementation and tests/Codegen/ for tests.

Bug: 64221737
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I75177cb770f1beabc87dbae9e77ce4b93ca08e7f
2019-07-17 17:12:37 -07:00