Commit Graph

34794 Commits

Author SHA1 Message Date
Paul Duffin 74abc5d4ee Remove config from basePath
Bug: 183650682
Test: m droid
Change-Id: I60eb2b8ed0317e874ecdafd5cb37d7c997d41bb8
2021-03-25 09:18:29 +00:00
Paul Duffin d65c58b204 Add buildDir to WritablePath implementations
First, the buildDir() method was renamed to getBuildDir() to avoid
clashing with the buildDir field.

Then, a buildDir was added to both `OutputPath` and `InstallPath` but
not to `PhonyPath` as it does not contain any path components. Instead
the `PhonyPath.getBuildDir()` was changed to simply return "".

Bug: 183650682
Test: m droid
Change-Id: I12e1854c829b980c5c01205753c62c00dc0a4774
2021-03-25 09:18:29 +00:00
Paul Duffin 580efc8716 Add srcDir to SourcePath
Bug: 183650682
Test: m droid
Change-Id: I08f7dba449538d289a6c4d6b5325c1a833cff834
2021-03-25 09:18:29 +00:00
Paul Duffin 2b1d2b6e4d Merge "Cleanup some issues left over from previous reviews" 2021-03-25 09:16:40 +00:00
Paul Duffin e742ee14f8 Merge "Convert test that disallows non existent paths to use fixtures" 2021-03-25 09:16:20 +00:00
Thiébaud Weksteen e8b0ee73f4 rust: Add features list to rust_project.json
Bug: 183679729
Test: SOONG_GEN_RUST_PROJECT=1 m nothing
Test: manually check v1 feature resolution for libprofcollectd
Change-Id: Ib59b63372865f7f4545fe327e92d1642d76ce9c9
2021-03-25 09:59:49 +01:00
Treehugger Robot f7e79a591c Merge "Enable safe ICF for all devices" 2021-03-25 08:59:00 +00:00
Jingwen Chen 8b086655cd Merge "Revert "Add bp2build support for cc_library_static."" 2021-03-25 06:14:03 +00:00
Jingwen Chen f9410540a8 Revert "Add bp2build support for cc_library_static."
Revert submission 1594391-bp2build-cc_library_static

Reason for revert: Broke the build on aosp-master
Reverted Changes:
Ib16ccf31a:Add cc_library_static macro to help with bp2build ...
I37c856be2:Add bp2build support for cc_library_static.

Change-Id: Ie94d5bc6da81758cd4e0461c08a810a29643c971
2021-03-25 06:11:59 +00:00
Rupert Shuttleworth d3e10104b0 Merge "Add bp2build support for cc_library_static." 2021-03-25 05:39:39 +00:00
Paul Duffin 3cb2c06b44 Cleanup some issues left over from previous reviews
Bug: 183235980
Test: m nothing
Change-Id: I187765c56b889445de3a4729405ee745e5f73729
2021-03-24 22:08:05 +00:00
Paul Duffin 76e5c8a37f Convert test that disallows non existent paths to use fixtures
This change needed to add some additional files to the registered
files for PrepareForTestWithJavaDefaultModules because otherwise they
would fail when "TestAllowNonExistentPaths = false". Those files were
being added by the TestJavaLintRequiresCustomLintFileToExist (albeit in
some cases in different locations to that required by the default
modules but as the files are needed by the modules defined in
PrepareForTestWithJavaDefaultModules they should be defined in it.

A couple of other places also provided some files so moving them into
PrepareForTestWithJavaDefaultModules caused some conflicts which needed
to be resolved.

Bug: 183184375
Test: m nothing
Change-Id: I76ce9f1673c1c1c4000635b76b8377d582224bf1
2021-03-24 22:08:05 +00:00
Paul Duffin 958408d921 Merge "Cleanup usages of Dex2oatDepTag" 2021-03-24 22:04:58 +00:00
Jingwen Chen 95c6eb3959 Merge "bp2build: add allowlist for package-level conversions." 2021-03-24 21:38:07 +00:00
Nicolas Geoffray ed35a90d2c Merge "Fix "filename too long" issue on Luci caused by test name" 2021-03-24 20:45:38 +00:00
Paul Duffin 688ba5bc2b Merge "Remove testSdkWithJava" 2021-03-24 17:59:09 +00:00
Paul Duffin c8ad86479f Merge "Convert java_sdk_test.go tests to fixtures" 2021-03-24 17:57:47 +00:00
Lukács T. Berki f2926e751c Merge "Make null builds always be null builds." 2021-03-24 15:48:02 +00:00
Paul Duffin ac94726ef2 Remove testSdkWithJava
Bug: 181070625
Test: m nothing
Change-Id: I9ef906a386cc87f69b166ec88e0b6c7388c3d06a
2021-03-24 15:47:28 +00:00
Paul Duffin 9ec86b14e7 Convert java_sdk_test.go tests to fixtures
Bug: 182638834
Test: m nothing
Change-Id: I6a1fabdd2c8385e5fbaef6985047f9d0bdceb209
2021-03-24 15:47:28 +00:00
Paul Duffin a35178b105 Fix "filename too long" issue on Luci caused by test name
Stop including fields in the test name for TestJavaSdkLibraryEnforce to
reduce its length to avoid the filename too long limit.

Test: m nothing
      Check the lengths before (~240) and after (~74) to make sure
      there was a sizeable reduction.
Change-Id: I275a1110e5102b8ea8376759f28c7c6333a5efee
2021-03-24 15:09:37 +00:00
Paul Duffin b506c9dc11 Cleanup usages of Dex2oatDepTag
Creates a new deptag type for it so that it can implement the marker
interfaces that will exclude it from being added to the APEX and from
visibility enforcement. The latter is probably not an issue ATM because
the dependencies are added after visibility checks are enforced but
this code is undergoing lots of refactoring so that may change.

Bug: 177892522
Test: m nothing
Change-Id: Ibd167d557adec761a2e3eed78f4d334c40a04fb9
2021-03-24 14:34:40 +00:00
Roland Levillain d603c7dbae Fix a typo in the definition of `varApexNames` in `java/dexpreopt_bootjars.go`.
Change-Id: If1267cf18dcd307316cce8d2cac7c6f5c173f3d4
Test: `m nothing` in internal tree
Bug: 180325915
2021-03-24 14:24:04 +00:00
Rupert Shuttleworth 21e743df41 Add bp2build support for cc_library_static.
Also refactor bp2build-related code for cc_library_headers.

Test: Added unit test.

Test: bp2build-sync.py write; bazel build //bionic/... still works (but bp2build is disabled for most cc_library_static targets for other reasons)

Change-Id: I37c856be20a47b154909338a22a7dba1ab55693f
2021-03-24 13:56:44 +00:00
Paul Duffin a1063c09f6 Merge changes I94f66e3e,I233a4fe1,Idbb37485
* changes:
  Group all the preparations needed for testing dexpreopt
  Separate methods used for fixture based and legacy tests
  Use more inclusive language in dexpreopt/testing.go
2021-03-24 13:41:56 +00:00
Thiébaud Weksteen 70204f9fc9 Merge "rust: Drop libgcc dependency" 2021-03-24 12:44:09 +00:00
Ulya Trafimovich 9023b02c00 Allow using updatable boot jars in dexpreopt (but don't use them yet).
This CL handles updatable boot jars in the same hacky way as we handle
non-updatable boot jars: it creates a set of predefined paths to the dex
jars in a global config, then traverses all modules in a singleton
context, finds updatable boot jars and adds copy rules from these jars
to the predefined paths. A proper way would be to register dependencies
of the dexpreopted modules on the boot jars and extracting paths to dex
files by walking these dependencies.

Bug: 178467404
Test: lunch aosp_cf_x86_64_phone-userdebug && m
Test: added new Soong test
Change-Id: I87f764109315f79315d73bf43799b70eb010fc0b
2021-03-24 11:16:11 +00:00
Ulyana Trafimovich 8ef5b4f95f Merge "Split functions for compiling boot jars to allow future code reuse." 2021-03-24 10:48:51 +00:00
Lukacs T. Berki c99c947c88 Make null builds always be null builds.
Previously, soong.environment.used was written after build.ninja and if
the amount of time that passed between the two was long enough, Ninja
would decide that build.ninja is older than soong.environment.used and
rebuild it.

Test: test_null_build in bootstrap_test.sh in a loop.
Change-Id: I5467da487e8e8f2646644b8a7fb9549b9ff18276
2021-03-24 10:51:05 +01:00
Paul Duffin 9fc9f53423 Group all the preparations needed for testing dexpreopt
Make it easier to test dexpreopt functionality by grouping all the
fixture preparations together.

Bug: 177892522
Test: m nothing
Change-Id: I94f66e3ec82efc4fd791f4fdab678d298565e452
2021-03-24 08:30:27 +00:00
Paul Duffin 3c84eaaa98 Separate methods used for fixture based and legacy tests
The fixture mechanism makes it easy to refactor by splitting up an
existing preparer into separate ones and then combining them back
together. Unfortunately, that becomes slightly more tricky when
preparers and legacy tests use the same functions to register build
components and define default modules.

This change splits the RegisterRequiredBuildComponentsForTest and
GatherRequiredDepsForTest methods into two methods each, with the
existing method used for legacy tests and calling the new method that
is used for the preparer.

At the moment all the functionality is in the new methods but over
time, as functionality is extracted into separate preparers, the
functionality can also be moved from the method that is common to both
legacy and fixture based tests into the legacy only method.

Bug: 177892522
Test: m nothing
Change-Id: I233a4fe1fb072a00292acc2bb20821ec82a9bd67
2021-03-24 08:27:04 +00:00
Paul Duffin f8e3d8341a Use more inclusive language in dexpreopt/testing.go
Bug: 177892522
Test: m nothing
Change-Id: Idbb37485a573ddd25c4da48ab88f9c559fca5434
2021-03-24 08:26:48 +00:00
Paul Duffin b6535d329f Merge "Remove javaFixtureFactory" 2021-03-24 08:25:20 +00:00
Paul Duffin 9d33cf237a Merge "Remove unused test methods and buildDir" 2021-03-24 08:23:31 +00:00
Paul Duffin 38e73fcfc0 Merge "Remove uses of buildDir from java/rro_test.go" 2021-03-24 08:22:25 +00:00
Paul Duffin 5916fe6856 Merge "Remove uses of buildDir from java/kotlin_test.go" 2021-03-24 08:00:15 +00:00
Paul Duffin 369c3aae53 Merge "Remove uses of buildDir from java/java_test.go and java/sdk_test.go" 2021-03-24 07:58:43 +00:00
Paul Duffin 700185b1f8 Merge "Remove uses of buildDir from java/app_test.go" 2021-03-24 07:58:28 +00:00
Paul Duffin 86da0448c6 Merge "Remove uses of buildDir from java/app_set_test.go" 2021-03-24 07:58:09 +00:00
Paul Duffin 6567d07f59 Merge "Remove uses of buildDir from java/app_import_test.go" 2021-03-24 07:55:37 +00:00
Paul Duffin 6f59e6a568 Merge "Remove uses of buildDir in java/androidmk_test.go" 2021-03-24 07:54:15 +00:00
Paul Duffin eed60863d0 Merge "Remove uses of buildDir in java/hiddenapi_singleton_test.go" 2021-03-24 07:53:51 +00:00
Paul Duffin 1b095e5177 Merge "Remove uses of buildDir from java/dexpreopt_bootjars_test.go" 2021-03-24 07:52:12 +00:00
Paul Duffin 5863c2ae65 Merge "Register java_plugin in PrepareForTestWithJavaBuildComponents" 2021-03-24 07:51:51 +00:00
Lukács T. Berki 543d4a5156 Merge "Make GENERATE_BAZEL_FILES=true correct." 2021-03-24 07:01:16 +00:00
Jingwen Chen 12b4c2706d bp2build: add allowlist for package-level conversions.
This CL adds the support for specifying lists of directories in
build/soong/android/bazel.go, which are then written into
out/soong/bp2build/MANIFEST. Using this configuration,
modules/directories can either default to bp2build_available: true or
false, while still retaining the ability to opt-in or out at the module level.

It also ensures that ConvertWithBp2Build returns true iff the module
type has a registered bp2build converter.

Test: go tests
Test: demo.sh full
Test: TreeHugger presubmits for bp2build and mixed builds.

Change-Id: I0e0f6f4b1b2ec045f2f1c338f7084defc5d23a55
2021-03-24 02:27:19 -04:00
Inseob Kim eb120bd741 Merge "Add WithDexpreopt soong variable" 2021-03-24 06:20:03 +00:00
Ryo Hashimoto 5818b9344f Enable safe ICF for all devices
--icf=safe has been enabled for arm and arm64.
Do the same thing for all devices.

On bertha_x86_64, this CL makes system.raw.img 4.4MB smaller.

Bug: 182446785
Test: build

Change-Id: Ifd597cd8496c49b55df269f22e01b1c50dc8f6e8
2021-03-24 13:00:32 +09:00
Treehugger Robot 7b1debfcbc Merge "Fix genrule depending on disabled module with ALLOW_MISSING_DEPENDENCIES=true" 2021-03-24 03:59:44 +00:00
Kousik Kumar 9008ca3005 Merge "Print the output from RBE bootstrap shutdown" 2021-03-24 02:24:37 +00:00