Commit graph

860 commits

Author SHA1 Message Date
Anton Hansson
18b30f9a4c Workaround dupe resource directories am: 129b9ceeb1 am: 2fc1d0f1ea
am: c8fa538ac0

Change-Id: I80de41497623113dd12cf65c41a8148a294109dc
2019-02-08 00:14:06 -08:00
Anton Hansson
129b9ceeb1 Workaround dupe resource directories
A few apps are co-located with libraries they depend on statically,
and because it's not possible to specify "no resource_dirs", they
both end up depending on the same resources, leading to downstream
problems for RRO generation.

Workaround the problem by de-duping the RRO paths for a single app
for now.

Bug: 124035856
Bug: 123510624
Test: make with enforce_rro == *
Change-Id: I251f123eb4280ed72e1ccd2212cb5f3e746e645d
2019-02-08 07:55:00 +00:00
Colin Cross
95f416cac8 Merge "Remove unused dexpreopt UseEmbeddedDex" am: 6ff48cd048 am: 98b1442180
am: ad7571f464

Change-Id: I3d77352678e4ae698583b5f8426b055f5c4a03fc
2019-02-07 23:39:38 -08:00
Treehugger Robot
6ff48cd048 Merge "Remove unused dexpreopt UseEmbeddedDex" 2019-02-08 07:19:33 +00:00
Colin Cross
45b69010c9 Merge "Make privileged java_library modules use uncompressed dex" am: 89ba9715ef am: 8367be9da7
am: 309ce85acd

Change-Id: I3e71ce5a2e84812bc61bd7e7051b34811027e092
2019-02-07 18:56:20 -08:00
Colin Cross
bbe7e8261e Merge "Allow disabling implicit resource_dirs and asset_dirs" am: 3e48a994e8 am: 73481a4cf6
am: d6fa3b1cbf

Change-Id: I64e113ce97c8d103a141ec65caacf67c08464b5f
2019-02-07 18:55:49 -08:00
Colin Cross
89ba9715ef Merge "Make privileged java_library modules use uncompressed dex" 2019-02-08 02:29:59 +00:00
Colin Cross
3e48a994e8 Merge "Allow disabling implicit resource_dirs and asset_dirs" 2019-02-08 02:29:35 +00:00
Colin Cross
09a65ab6ca Remove unused dexpreopt UseEmbeddedDex
dexpreopt doesn't need to know about UseEmbeddedDex, it has
already been taken into account for UncompressedDex.

Test: m checkbuild
Change-Id: I5508aa43bb8bdb06e20cf93bc5171a5e78833983
2019-02-08 02:27:59 +00:00
Colin Cross
c8e819341d Remove the hiddenapi presingleton am: 697412f058 am: 3def9efe61
am: 57bda7a089

Change-Id: I59d0570d5aa1870abcbb7d9cda70a4171af0dfee
2019-02-07 18:21:58 -08:00
Colin Cross
32fd5947ca Make MakeVarsContext a PathContext am: 65494b962b am: e5bc0d6253
am: 1c15057b94

Change-Id: I3521fec124f35017812ed2c3faf9fb7e46f73a3a
2019-02-07 18:21:45 -08:00
Colin Cross
0ddae7fddd Allow disabling implicit resource_dirs and asset_dirs
Specifying [] for resource_dirs or asset_dirs will prevent using
the default "res" or "assets" directories.

Test: TestResourceDirs
Bug: 124035856
Change-Id: I96e38ac1319260db43950299a8b1774da68ea85e
2019-02-08 00:24:01 +00:00
Colin Cross
697412f058 Remove the hiddenapi presingleton
The presingleton is no longer necessary now that MakeVarsContext
is a PathContext, just call hiddenAPISingletonPaths directly.

Test: m checkbuild
Test: forrest build of unbundled branch
2019-02-07 22:31:44 +00:00
Colin Cross
65494b962b Make MakeVarsContext a PathContext
Expose all of SingletonContext to makeVarsContext, and then export
the subset of it that is used through MakeVarsContext.SingletonContext,
plus what is necessary for PathContext, directly through
MakeVarsContext.

Test: m checkbuild
Change-Id: Ie00f36e577fe110b6fa03b901da489d8547773c6
2019-02-07 22:31:04 +00:00
Colin Cross
c73f63616d Merge "Use a presingleton to create hiddenapi singleton paths early" am: 17c85f098a am: a0e1404cf9
am: 9e43bcb7ec

Change-Id: Ib66c4ee3a11666539a1e0aa44422636549e30777
2019-02-07 12:18:09 -08:00
Colin Cross
76e3e1f554 Use a presingleton to create hiddenapi singleton paths early
If no module uses hiddenapi (because it is an unbundled build that
does not build any boot image modules), then the makevars singleton
panics because it will always run before the hiddenapi singleton
(due to package init() function ordering), and the hiddenapi singleton
paths have not been initialized yet.  Add a presingleton to initialize
the paths early.

Bug: 123645297
Test: tapas Launcher3 && m on unbundled branch
Change-Id: I9386ac87848a2181f51140129288df80fff9acfd
2019-02-07 08:57:26 -08:00
Colin Cross
083a2aa52d Make privileged java_library modules use uncompressed dex
Check java_library modules against ModulesLoadedByPrivilegedModules
to determine whether to uncompress the dex files in them.

Test: m checkbuild
Change-Id: I77ee456d55bec65c8b4c82e9bd38f344212e6140
2019-02-07 08:56:02 -08:00
Colin Cross
28825f0e41 Merge changes from topic "hiddenapi" am: 4c3a4aded3 am: 19807e619e
am: ab9bfa1617

Change-Id: I148138a6723926af54620c6ce3379fdb61ed9e08
2019-02-07 00:09:49 -08:00
Colin Cross
f24a22a98a Move hiddenapi singleton rules to Soong
Move the rules that build hiddenapi-stubs-flags.txt,
hiddenapi-flags.csv and hiddenapi-greylist.csv into Soong.

Bug: 123645297
Test: m checkbuild
Test: m UNSAFE_DISABLE_HIDDEN_API_FLAGS=true
Change-Id: I90bf58710f6153ee8565994f799d3ec5699bc7fa
2019-02-06 11:23:40 -08:00
Steven Moreland
9553814469 Merge "Remove '-b' from AIDL" am: 4331334bdc am: 9a410a2ccd
am: ca14e12ba1

Change-Id: I3178a58fd18f0db48df5890f86cc7d2008100dbe
2019-02-06 10:46:17 -08:00
Steven Moreland
4331334bdc Merge "Remove '-b' from AIDL" 2019-02-06 18:09:31 +00:00
Anton Hansson
8bf3c6f380 Merge changes I28c45e13,I9754ebf0,I0dda0184 am: 1ac44afaa5 am: 4dc75982ac
am: b8d59a9217

Change-Id: I92fa7e7a5f7bf0aceb7464ef9e950b375ace583e
2019-02-06 06:19:28 -08:00
Colin Cross
c1c3755b39 Export RRO resource dirs from static android_library dependencies
RRO dirs from static android_library dependencies should be
included in the final module.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I28c45e139b187894a4ebc43d573eab5ea1be9861
2019-02-06 10:18:38 +00:00
Colin Cross
6ed7deaf33 Add a static lib to TestEnforceRRO
Add a static lib dependency to TestEnforceRRO in preparation
for capturing static dependencies in rroDirs.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I9754ebf02866e8b3e4ad0c55ff099e546f8e2bc2
2019-02-06 10:18:30 +00:00
Colin Cross
5c4791c71e Move TestEnforceRRO test cases into test function
The test cases will need to reference buildDir, which is not
yet set at global variable initialization time.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I0dda0184dfab496c820e11ed76b7594a60d5d587
2019-02-06 10:18:09 +00:00
Colin Cross
23db3437ec Merge changes Ifcb338e6,Ie509ed80,I270fed60,Id825cb75,I92a963bd am: cc2d11961c am: 9053375b93
am: 31cabeea1c

Change-Id: I3abcc60539de84d3365df989de341b4bb3e1db09
2019-02-05 21:26:50 -08:00
Colin Cross
571cccfcbc Prepare for a type-safe OnceKey
Add an opaque OnceKey type and use it for all calls to Once in
build/soong.  A future patch will convert the arguments to
Once* to OnceKey once users outside build/soong have been updated.

Test: onceper_test.go
Change-Id: Ifcb338e6e603e804e507203c9508d30ffb2df966
2019-02-06 01:52:41 +00:00
Steven Moreland
36b130fcfb Remove '-b' from AIDL
An empty file will be emitted for parcel declarations. Now sources may
inclue parcel definitions.

Bug: 70046217
Test: manual

Change-Id: I8087416ae7806399c3514d18faeadb858f07bf88
2019-02-06 01:04:29 +00:00
Colin Cross
feec25b084 Move dexpreopt.Script to android.RuleBuilder
Move dexpreopt.Script to android.RuleBuilder so that the builder
style can be used in more places.  Also add tests for it.

Test: rule_builder_test.go
Change-Id: I92a963bd112bf033b08899e930094b908acfcdfd
2019-02-05 13:28:43 -08:00
Colin Cross
5e24ba9886 resolve merge conflicts of dec157bd6c to master
Bug: None
Test: treehugger
Change-Id: I701d7a4ee893eb4113a48eaee9930eceec478a29
2019-02-04 10:09:01 -08:00
Colin Cross
5f692ec219 Remove empty DepsMutator methods
Add an empty DepsMutator to ModuleBase so it doesn't have to be
implemented on every module that doesn't need it.

Test: all soong tests
Change-Id: I545a832a0dbf27386d3080377a75ea482cd9ce59
2019-02-01 17:17:58 -08:00
Colin Cross
a74ca046da Replace *[]string with []string in product variables
There is no need for *[]string, []string can already hold a nil
value to specify "not set".

Test: all soong tests
Change-Id: I85a51b042c12aee1565a9287d62924feeeafd486
2019-02-01 16:43:02 -08:00
Insun Kang
234338609b Add updatable_media_stubs to prevent private API use.
Bug: 123551910, Bug: 123253805
Test: build
Change-Id: Id46ff05fa01db726d613ee2299b0c27921c88aae
2019-01-31 13:12:39 -08:00
Treehugger Robot
d0da240a2d Merge "Enable last released check for SystemApi" 2019-01-31 15:45:02 +00:00
Anton Hansson
704595aa60 Merge "Allow excluding specific overlay sub-directories" 2019-01-31 10:52:22 +00:00
Adrian Roos
62e34b9f38 Enable last released check for SystemApi
Test: make droid
Bug: 123222452
Change-Id: I952ec3d64a51fb892b14146a7fe38db358bea476
2019-01-30 19:51:39 +01:00
Anton Hansson
94c93f37cb Allow excluding specific overlay sub-directories
This change allows PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS to
refer to subdirectories of directories in PRODUCT_PACKAGE_OVERLAYS,
e.g.:
PRODUCT_PACKAGE_OVERLAYS := foo/overlay
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := foo/overlay/packages/apps/HelloWorld

Bug: 118823052
Test: m nothing (soong tests)
Change-Id: Ic9f89c11d023ea1b4f6f2f6683d94c81aa7b8a1b
2019-01-30 16:07:56 +00:00
Adrian Roos
e8cc556bf7 Merge "Add last released API check to checkapi for public Android API" 2019-01-30 09:31:58 +00:00
Victor Hsieh
d181c8ba76 Rename preferCodeIntegrity to useEmbeddedDex
Test: build and run testing app
Bug: 112037137
Change-Id: Ia82c2c3ba7eb32117a4be078ac31ee2ba510f9eb
2019-01-29 13:09:10 -08:00
Colin Cross
15daf44967 Merge "Fix aar rules" 2019-01-26 04:55:03 +00:00
Colin Cross
f57c57825e Fix aar rules
aar files should build to the module out directory, not the root of
the out directory.  Also give the rules a description so they get a
better status line.

Test: m out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI-core/android_common/SystemUI-core.aar
Change-Id: Ie8de0421427985c466d909f83c8e0146f7e0bea8
2019-01-25 13:29:12 -08:00
Jaewoong Jung
9d22a914bf Add a prod var to override package names.
Currently only java/app.go is affected by package name overrides. When
the var is used, the corresponding module's install APK name is changed
to the overriding name.

Bug: 122957760
Test: app_test.go + TreeHugger
Change-Id: Ie522da3d7280970d740d779cf2694560feae6180
2019-01-25 19:11:57 +00:00
Adrian Roos
e3fe481c5a Add last released API check to checkapi for public Android API
Test: make droid
Bug: 123222452
Change-Id: I2b0b6c9196bfb963bd6085554ff6fdcc9cb53942
2019-01-25 17:18:18 +00:00
Nicolas Geoffray
d15d614214 Merge "Make boot classpath jars in apexes uncompressed." 2019-01-25 12:10:33 +00:00
Anton Hansson
7171ffa97f Merge "Parameterize RRO test" 2019-01-25 10:14:05 +00:00
Nicolas Geoffray
5921f75b7c Make boot classpath jars in apexes uncompressed.
Save some space on /system by avoiding a copy in the .vdex files.

Test: m && /system/framework/boot-*.vdex files doesn't contain dex code.
Change-Id: I10cdcfe46a36a49a75f7640e20d065912812ab9f
2019-01-25 09:04:15 +00:00
Colin Cross
44c29a8fe1 Clean up srcjar directories after each rule
The srcjar directories just confuse people looking for generated
files, clean them up after each rule.

Test: m checkbuild
Change-Id: If712ce7d4922619fd8420ae8f89830fe7824114d
2019-01-25 00:53:05 +00:00
Colin Cross
39c1679e69 Fix conflicting srcjar dir for current and last apicheck
Each rule needs its own srcJarDir.

Bug: 123222452
Test: m checkbuild
Change-Id: I23c62b75c7532eca9320b12235a102141d6eeefa
2019-01-25 00:52:50 +00:00
Tor Norbye
60eed0ee25 Merge "122452571: Fix path to android.jar in prebuilts" 2019-01-25 00:00:53 +00:00
Colin Cross
7788c1283f Remove annotation_processors property
Now that there are no uses left of annotation_processors remove
the property.

If there are no annotation processor classes for javac for a module,
due to an empty "plugins" property or using kapt for annotation
processors, pass -proc:none to javac to ensure it does not try
to run any annotation processors found in the classpath.

Bug: 77284273
Test: plugin_test.go, kotlin_test.go
Change-Id: I3823d9fec8d3d07d2e49b1d97839f7fcbdd35647
2019-01-24 23:48:04 +00:00