summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/ManifestClassGenerator_test.cpp
AgeCommit message (Collapse)Author
2020-06-22Don't add API annotations in the internal R.javaMakoto Onuki
I'm trying to enable a check for the following structure: ``` /** @hide */ public class Class1 { /** @hide */ @SystemApi // Invalid because the class is hidden. public void method1() { } } ``` The internal R.java file violates this, which this change is going to fix. Bug: 159162473 Test: build (treehugger) Test: atest aapt2_tests Change-Id: I613e8611ddaf5f8e4761d351d4cd0142d59c7cc9
2018-02-13AAPT2: normalize Manifest java identifiers.Izabela Orlowska
Currently AAPT2 does not allow permissions which last piece contains the "-" symbol (since it is an illegal character for a java identifier). AAPT1 would normalize the last piece, therefore creating a valid java identifier. This CL makes AAPT2 behave in a similar way to AAPT1, but instead of modifying the original value of the permission string, modifies only the java identifier part, leaving the permission string unchanged. Fixes: 72980877 Test: updated Change-Id: Ie44317e07407341ba3e91a84d9b06980547b3448
2018-01-16aapt2: Fix issue with Manifest duplicate handlingAdam Lesinski
Fixed a memory-corruption issue that led to multiple duplicate permission entries being generated for Manifest.java. Bug: 71641288 Test: make aapt2_tests Change-Id: I8cd37929c4883aaba2beebbf874c7ee3234d51d8
2017-11-16AAPT2: Move all file output to FileOutputStreamAdam Lesinski
FileOutputStream is safe to use on Windows, as it opens files using our compatibility API. Bug: 68262818 Test: make aapt2_tests Change-Id: Ib0b27e93edd609b49b1327db7d9867a002198ebb
2017-08-19AAPT2: Fix regression in Manifest.java permissionsAdam Lesinski
Permissions defined with the same leaf name emit the same string symbol, which causes collisions. AAPT would override the symbol with the last one seen. Do the same thing as AAPT, but emit a warning. Bug: 64472942 Test: make aapt2_tests Change-Id: I17b9dc7e8d8bd80db98869394c93695cb453bebd
2017-08-08AAPT2: Forward @TestApi in resource comments to JavaDocAdam Lesinski
Bug: 37894597 Test: make aapt2_tests Change-Id: I357fb84941bfbb3892a8c46feb47f55b865b6649
2017-06-27AAPT2: Honor --custom-package when writing Manifest.javaAdam Lesinski
Bug: 62826426 Test: manual Change-Id: I517ff5da2ef2a9147ddbfb13b074a1f60550f189
2016-10-26AAPT2: Rename to match new styleAdam Lesinski
Use Google3 naming style to match new projects' and open source google projects' style. Preferred to do this in a massive CL so as to avoid style inconsistencies that plague legacy code bases. This is a relatively NEW code base, may as well keep it up to date. Test: name/style refactor - existing tests pass Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
2016-07-13AAPT2: Remove usage of u16stringAdam Lesinski
For legacy reasons, we kept around the use of UTF-16 internally in AAPT2. We don't need this and this CL removes all instances of std::u16string and StringPiece16. The only places still needed are when interacting with the ResTable APIs that only operate in UTF16. Change-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588
2016-04-07AAPT2: Clean up R JavaDoc generationAdam Lesinski
- Don't generate private attributes in public R.java - Strip out @SystemApi from comment when generating @android.annotation.SystemApi - Only emit a single line (up to the first period) of an attribute's comment within a styleable's attribute table. Change-Id: Id6316a6861540325934133958939a12074ad4428
2016-04-06AAPT2: Enable windows build and make sure it buildsAdam Lesinski
Mingw32 4.8 is kind of picky with macros and some complicated template stuff. Luckily there was another way to represent the SFINAE code that works on all platforms. Yay! Change-Id: Idc2e38f47bfdc57b394550bfa0f53cc0b825df25
2016-03-31AAPT2: Change how we generate Java classesAdam Lesinski
Previously we would be writing out the Manifest.java file as we processed the AndroidManifest.xml. This would lead to empty Manifest classes if there were no permissions or permission groups defined in the AndroidManifest.xml. This would pose problems for processes that checked for public classes and considered them part of the API (support lib). Now we collect the structure of the Java class in memory before deciding if a file should be created. Change-Id: I6b909f28d74356414c6ef5ad005180d6ea5e44ca
2015-11-19AAPT2: Fail compiling when private symbols are referencedAdam Lesinski
Also moved some XML specific stuff into its own directory, and refactored ReferenceLinker a bit. Change-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c
2015-11-06AAPT2: Fix inclusion of comments in R.java javadocAdam Lesinski
Comments weren't being copied when merged from the various resource tables. Also refactored the JavaClassGenerator to omit a class if no entries exist for it. Change-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142
2015-10-30AAPT2: Support generating Manifest.javaAdam Lesinski
This includes comments from AndroidManifest.xml. Change-Id: I412d9ecb12bad20a49a683d6b3bea4a0be1235ae