Commit Graph

5534 Commits

Author SHA1 Message Date
Colin Cross a88c883e3e Add a DirEntryInfo interface that is a subset of os.FileInfo
ioutil.ReadDir returns []os.FileInfo, which contains information on
each entry in the directory that is only available by calling
os.Lstat on the entry.  Finder only the name and type (regular,
directory or symlink) of the files, which on Linux kernels >= 2.6.4
is available in the return values of syscall.Getdents.

In preparation for using syscall.Getdents, switch filesystem.ReadDir
to return an interface that only contains the information that will
be available from syscall.Getdents.

Bug: 70897635
Test: m checkbuild
Change-Id: Id2749d709a0f7b5a61abedde68549d4bf208a568
2017-12-22 13:56:17 -08:00
Colin Cross 8d6395c09d Move android/soong/fs to android/soong/finder/fs
The fs package is specific to finder, move it inside finder.

Bug: 70897635
Test: m checkbuild
Change-Id: Ie705f064a832141702a8e87fd59ed75c01018504
2017-12-22 13:56:17 -08:00
Colin Cross 7b60cdd6e5 Strip module-info.class files when combining jars
Combining static jars from dependencies may bring in module-info.class
files, which don't make sense once multiple modules have been combined,
and sometimes confuse downstream tools like desugar.  Strip them out
like make does when combining jars.

Test: m checkbuild
Change-Id: I560c5acfcc6e1be9adf604c22cf200581f92f702
2017-12-21 14:29:56 -08:00
Colin Cross c5de1b6cb2 Remove --no-locals -> --release translation
--no-locals is never used any more, remove the translation.

Bug: 70886092
Test: m checkbuild
Change-Id: Ie89aaad618c12c288d7e7bca863834cf7ee824fb
2017-12-21 13:01:49 -08:00
Treehugger Robot cd406fa70b Merge "Ignore 'extern "C++"' section in a version script" 2017-12-21 15:13:34 +00:00
Tobias Thierer 38501a959f Merge "Make ANDROID_JAVA{8,9}_HOME available to config.mk." 2017-12-21 11:46:20 +00:00
Treehugger Robot 95fba1a8f8 Merge "Add [soc|device|product]_specific" 2017-12-21 09:02:20 +00:00
Colin Cross d7deceb8fa Fix jacoco filters
Add space after -x argument for jacoco excludes.
Add .class to end of file name for jacoco includes.

Bug: 64836607
Test: jacoco_test.go
Change-Id: I4c1024755882c976f7326f7382c4f2e99a20233d
2017-12-21 04:34:46 +00:00
Colin Cross 7a3139e05d Add jacoco filter tests
Add tests for converting jacoco filters to command line arguments
to soong_zip.

Bug: 64836607
Test: jacoco_test.go
Change-Id: I969fa877e4be19bb92dcab5a796a4e4ec3fc166a
2017-12-21 04:34:26 +00:00
Jiyong Park 2db7692a74 Add [soc|device|product]_specific
Added three properties (soc_specific, device_specific, and
product_specific) that shows what a module is specific to.

`soc_specific: true` means that the module is specific to an SoC
(System-On-a-Chip) and thus need to be installed to vendor partition.
This has the same meaning as the old `vendor: true` setting.

`device_specific: true` means that the module is specific to the entire
hardware configuration of a device includeing the SoC and off-chip
peripherals. These modules are installed to odm partition (or /vendor/odm
when odm partition does not exist).

`product_specific: true` means that the module is specific to the
software configuration of a product such as country, network operator,
etc. These modules are installed to oem partition (or /system/oem when
oem partition does not exist). These modules are assumed to be agnostic
to hardware, so this property can't be true when either soc_specific or
device_specific is set to true.

Bug: 68187740
Test: Build. path_tests amended.
Change-Id: I44ff055d87d53b0d2676758c506060de54cbffa0
2017-12-21 12:16:29 +09:00
Treehugger Robot 828001d59d Merge "Add -p, -e options in merge_zips for supporting par format." 2017-12-21 01:27:32 +00:00
Treehugger Robot 91aa9f9d54 Merge "Add 'openmp' compiler property" 2017-12-21 00:38:45 +00:00
Treehugger Robot 3b528a802d Merge "Update the NDK ARM ABI to armv7." 2017-12-21 00:37:29 +00:00
Tobias Thierer e59aeff5c4 Make ANDROID_JAVA{8,9}_HOME available to config.mk.
Previously, these variables were exported only by makevars.go,
but those values are not available to config.mk. This CL adds
the variable to ui/build/config.go, which also makes it
available to config.mk.

Test: Treehugger
Bug: 70862583
Bug: 70521453
Change-Id: Ib54660e4b08ab751265b30004630cf1bb8c0041b
2017-12-20 23:14:37 +00:00
Dan Albert d3c8ca4469 Update the NDK ARM ABI to armv7.
We don't support armv5 any more, and we can't build bionic as armv5.

Test: build/soong/scripts/build-ndk-prebuilts.sh
Bug: https://github.com/android-ndk/ndk/issues/272
Change-Id: I4026d48e7d5db78f6aa4e9796da1ec9cf10021ca
2017-12-20 14:48:39 -08:00
Nan Zhang 5925b0fda4 Add -p, -e options in merge_zips for supporting par format.
Move __init__.py files population to merge_zips, and add options: -p, and
-e. Since par needs entry_point.txt to search the program entry point, so
add -e option to support it.

Test: ./merge_zips -p -e entry_point.txt out in1.zip in2.zip
Bug: 70568913
Change-Id: Ida10faf125e1b94dffc98b30240db3b90fd75b25
2017-12-20 12:57:10 -08:00
Treehugger Robot 57603998a6 Merge "Remove sepolicy_split from soong." 2017-12-20 19:10:32 +00:00
Pirama Arumuga Nainar fadb7b511a Add 'openmp' compiler property
Bug: http://b/70692399

If a module has 'openmp: true', add '-fopenmp' to CFlags during any
compile step and pass the libomp runtime to the linker during any link
step.

Test: Build samples in http://aosp/572924
Change-Id: Ic2a6410ec69aae548edaf582ee41659b0058561e
2017-12-19 23:14:19 -08:00
Treehugger Robot 6f86613420 Merge "Add compile-time pathDeps as implicit dependencies" 2017-12-20 04:05:39 +00:00
Alan Leung 731c8dac6d Merge "Prep D8 default instead of CompatDX in build/soong" 2017-12-20 02:00:45 +00:00
Treehugger Robot 32bf18b10a Merge "Ensure -I . is the first protoc argument" 2017-12-20 00:37:30 +00:00
Treehugger Robot 750e6fab06 Merge "Add default -Werror to hardware/libhardware/modules" 2017-12-20 00:08:36 +00:00
Pirama Arumuga Nainar 70ba5a38d1 Add compile-time pathDeps as implicit dependencies
Bug: http://b/70820751
Bug: http://b/70857959

Clang does not output file dependencies from the -fprofile-use= flag
during -MD/-MM.  Add this and other path dependencies as implicit Ninja
dependencies.  Generated header dependencies are retained as OrderOnly
dependencies.

Test: Perturb profdata files for hwui/skia in internal branch and verify
that the sources get rebuilt.

Change-Id: I3247d995ee27a4882172eb15ff36acf56536b6f7
2017-12-19 15:44:38 -08:00
Steven Moreland 0afa55ae12 Remove sepolicy_split from soong.
No longer needed.

Bug: 62019611
Test: manual
Change-Id: Id485e6db4cc9b5a7cf553e5089fd85b667c7c660
2017-12-19 20:41:21 +00:00
Alan Leung c37c6343e2 Prep D8 default instead of CompatDX in build/soong
Bug: 69329508
Test: m checkbuild tests
Change-Id: Ibaa2d787c644cf25104af78305a6eed16028dcf0
2017-12-18 23:56:30 -08:00
Treehugger Robot b267295324 Merge "Expose the NDK STLs to make." 2017-12-19 00:29:52 +00:00
Treehugger Robot 26e5a168bf Merge "Call clang-tidy with -quiet unless WITH_TIDY is set." 2017-12-16 21:02:06 +00:00
Colin Cross 9bc4343bea Add missing dependencies on classpath jars for kotlinc
The kotlinc build rules were missing dependencies on the jars in
the classpath.

Test: TestKotlin in java_test.go
Change-Id: I56681785289f942b1070751b7dc5944e7a995b7f
2017-12-16 06:05:38 +00:00
Chih-Hung Hsieh dc0c0302e9 Call clang-tidy with -quiet unless WITH_TIDY is set.
* Default builds calls clang-tidy only if enabled locally.
  In this case, clang-tidy should be quiet.
* If WITH_TIDY is 1 or true, let clang-tidy emit default messages.
* Even with -quiet and all warnings are suppressed,
  clang-tidy emits one line message of the number of suppressed messages.
  This one-liner could be suppressed in future changes.

Bug: 69051430
Test: default build and build with WITH_TIDY=1
Change-Id: I45303149930b33544e271e6d5eeddf18c9e48d7a
2017-12-15 20:57:48 -08:00
Treehugger Robot 2555b259ad Merge "Allow NDK static libraries to use the NDK sysroot." 2017-12-16 03:14:43 +00:00
Chih-Hung Hsieh 41fe048372 Add default -Werror to hardware/libhardware/modules
Bug: 66996870
Test: normal build
Change-Id: I0e38533b0fa2970524ac98eca25b2c2fd472fc31
2017-12-15 18:08:36 -08:00
Treehugger Robot 04bd5080bf Merge "Support output params in java proto" 2017-12-16 01:32:32 +00:00
Colin Cross 30eaac67bd Merge "Export app implementation and header jars to Make" 2017-12-16 00:00:24 +00:00
Treehugger Robot 81f139bcff Merge "Add basic NDK STL link type check." 2017-12-15 23:50:13 +00:00
Chih-Hung Hsieh 77abc230f6 Add default -Werror to tools/adt/idea
Bug: 66996870
Test: normal build
Change-Id: Id5493eacf546d3246f501ca70bac26312837947e
2017-12-15 23:37:11 +00:00
Chih-Hung Hsieh 1ef5ed54ee Add default -Werror to external/skia.
Test: normal build
Change-Id: If66639a9000865e14c1ad5288b8642dfe5583f56
2017-12-15 23:34:33 +00:00
Chih-hung Hsieh cc64cfd81f Merge "Add default -Werror to frameworks/av/drm/mediacas" 2017-12-15 23:08:42 +00:00
Dan Albert d0e4cc1dc4 Merge "Don't install host or VNDK libs to the NDK." 2017-12-15 23:00:21 +00:00
Dan Albert 8ba131b3e2 Expose the NDK STLs to make.
Without this any module exposed to make that uses an NDK STL will
have unsatisfied dependencies.

Test: make native
Bug: None
Change-Id: Ia456cdc230d5ebf5e1256ab131ab78248b790bc8
2017-12-15 14:51:30 -08:00
Dan Albert 202fe493e3 Add basic NDK STL link type check.
Test: make native
Bug: None
Change-Id: If883fade38c837839857d82f294c459b0dae1ce0
2017-12-15 13:56:59 -08:00
Colin Cross a3b25001e8 Ensure -I . is the first protoc argument
The first include directory affects where protoc places the
output files.  Ensure -I . is always the first protoc argument.

Bug: 70704330
Test: m checkbuild
Change-Id: I4992e4074f612409865e6e18dc8993c6f68385fd
2017-12-15 13:42:09 -08:00
Colin Cross 0f2ee15576 Support output params in java proto
Allow java modules using proto to specify output params to be
passed to the proto generator.

Test: m checkbuild
Change-Id: I8a06f07218073236f4f85996ea5f09fb3702ed1a
2017-12-15 13:42:09 -08:00
Colin Cross 5dfabfba3e Export app implementation and header jars to Make
App implementation and header jars are necessary for tests to
run against apps.

Test: m checkbuild
Change-Id: Ia54ebf41f17346d3c59f3ec9512e68f195cdb67f
2017-12-15 13:42:09 -08:00
Yi Kong 85ae70556e Merge "Propagate LTO type from binary/DSO to object files" 2017-12-15 21:36:02 +00:00
Treehugger Robot ec6cf6afde Merge "Add cflags sub-property to 'pgo'" 2017-12-15 21:10:58 +00:00
Treehugger Robot e565435a7b Merge "Remove Treble/PRODUCT_FULL_TREBLE from Soong." 2017-12-15 20:07:20 +00:00
Joe Onorato 2c95b3f124 Merge "When compiling with the lite protobuf option, pass the option to aprotoc to force the lite runtime." 2017-12-15 19:39:46 +00:00
Chih-Hung Hsieh c2996ff701 Add default -Werror to frameworks/av/drm/mediacas
Bug: 66996870
Test: normal build
Change-Id: I7af738fd1543c6c44279bbc13b02b0273e9d6533
2017-12-15 18:26:44 +00:00
Steven Moreland dd0bb0b26c Remove Treble/PRODUCT_FULL_TREBLE from Soong.
This variable is being broken up because it isn't well
defined, and breaking it into smaller components makes
device bringup easier.

Bug: 62019611
Test: nothing uses it
Change-Id: I748958b7276f607f8a711289f3bde163a1a56596
2017-12-15 10:25:48 -08:00
Treehugger Robot 4c016b996e Merge "Add split PRODUCT_FULL_TREBLE variables to Soong." 2017-12-15 17:41:27 +00:00