API guidelines is for each non-primitive arg to have a nullablility annotation.
Since it's very rate for collections to permit null values, just assume
collections only accept @NunNull emenents for now.
Fixes: 144725154
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I333327490bd8eb9bb031f062c80283bd405173af
This fixes a bug where cedegen fails for files that were generated before
end of generated code section markers were introduced.
Test: . master/frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ia68e8124fcbdeeb2052067ba8731e68e42007529
Adds support for arbitrarily-nested @DataClasses
Only static ones are supported for now
See FileInfo for the main implementation piece
Fixes: 139833958
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I31cd16969788c47003a7a15a3573a4bf623ab960
When changing directory to $ANDROID_BUILD_TOP, do so in a subshell
environment. This will leave the caller's working directory intact.
Test: manual (cd frameworks/base && source tests/Codegen/runTest.sh # afterwards, $(pwd) is still frameworks/base)
Change-Id: I6558f00a8912141f41c65426ba31c234fc9d63df
Replace hard-coded path to CodegenTests.apk, which assumes the current
architechure is arm64, with dynamic lookup.
Test: manual (runTest.sh works on the aosp_x86_64-eng emulator)
Change-Id: I4110083f055a65375de89da95fdc07739a3d9da5
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
Also added a test for some similar parcelling corner cases
Test: . frameworks/base/tests/Codegen/runTest.sh
Fixes: 141877655
Change-Id: Iad5c3b0a8489206754f6ebe6acb8b56ba9ca174a
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
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
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