Commit graph

629 commits

Author SHA1 Message Date
Dan Willemsen
fdf89cd575 Disable java when JAVA_NOT_REQUIRED is set
Change-Id: Id3056cde93302be20000bf7af33aeed0fa8fdf52
2016-02-08 17:02:48 -08:00
Sebastien Hertz
4dad88980f Merge "Support code coverage with Jack" 2016-02-02 07:31:37 +00:00
Lee Campbell
3d8bf2994c brillo: Remove dependency on java for Brillo
Brillo does not require Java. Add a JAVA_NOT_REQUIRED
flag to the build system to make the jdk requirment optional

Also don't build signapk for Brillo

BUG: 25281898
Change-Id: I31e68cc7d076bf6c234699c77c0ea1ea428be4f5
2016-01-29 15:38:53 -08:00
Sebastien Hertz
dfce8ad4f4 Support code coverage with Jack
Building an app with Jack and with the environment variable
EMMA_INSTRUMENT_STATIC set to true will apply code coverage
onto the app targeting Jacoco.

Bug: 20115492
Change-Id: Ief3640fa3faa466f7f6aaa9739e06d3db24110a0
2016-01-27 19:14:14 +01:00
Neil Fuller
1f495b865e Revert "Revert "Make OpenJDK 8 the default""
Reapply the switch to JDK 8 on aosp/master.

This reverts commit 85bddfdedf.

Change-Id: If2e8733ba78b007d37914c0512cd6be1bd4c1e69
2016-01-25 17:12:41 +00:00
Neil Fuller
85bddfdedf Revert "Make OpenJDK 8 the default"
Temporary revert to help out Brillo folks.
It will be resubmitted tomorrow.

This reverts commit 4495f6afb8.

Change-Id: Id378c7d3a6e72e9be50f9404b19d5763568987a5
2016-01-25 17:04:14 +00:00
Neil Fuller
4495f6afb8 Make OpenJDK 8 the default
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true

And run envsetup.sh/lunch again.

Bug: 25786468
Change-Id: I8e00591a24d13e3b8b6baaafe0fdff6536c58770
2016-01-25 10:19:25 +00:00
Colin Cross
861ab99536 Ignore Android.mk files with USE_SOONG=true
When USE_SOONG=true, ignore any Android.mk file that has an Android.bp
file in the same directory.

Change-Id: Id79bd90c2aed5dafc2f8ad2c5b7eb0aa6e81dc18
2016-01-11 13:43:27 -08:00
Nick Kralevich
f9911ae087 Merge "set ro.adb.secure=1 for user builds" 2015-12-23 20:22:30 +00:00
Daniel Micay
18a141cc8c set ro.adb.secure=1 for user builds
In user builds, adb without authentication is always disabled. However,
it doesn't work with the defaults because authentication doesn't work
without having ro.adb.secure=1 set. It makes sense to offer builds with
no adb but not builds with adb present in an unusable state (especially
as the default).

Bug: 22220212
Bug: 21862859
Change-Id: Ic22300a70586fd57692ac59d6873ab16dde70919
2015-12-23 20:18:15 +00:00
Yohann Roussel
4a01711267 Merge "Always start jack server before first call to jack" 2015-12-22 13:59:49 +00:00
Colin Cross
3ebb2f7326 Combine soong builds into make builds
Bootstrap soong if necessary, and wrap the kati and soong ninja files
into a single ninja file.

Change-Id: I0000c7eaa1adda763189681c57ec27a97a12ee1f
2015-12-15 16:05:57 -08:00
Yohann Roussel
9214a26cfc Always start jack server before first call to jack
Also install and update the server if necessary.

The target start-jack-server produces no file so it's always built.
Since the dependency is "order only", it doesn't cause force rebuilt of
jack targets after start-jack-server execution.

Bug: 25443108

Change-Id: I1608d87d186694d47307e00337b1905f0b8079c4
2015-12-09 22:00:50 +01:00
Shinichiro Hamaji
6a378a3a7a Prevent findleaves.py from traversing copies of $(OUT_DIR)
by putting blank Android.mk and CleanSpec.mk in $(OUT_DIR).

Bug: 25732342
Change-Id: I3fcc4efddb9ee5ce309502e978f0589335af8371
2015-11-19 18:31:29 +09:00
Dan Albert
fd8c722714 Make not having Jack non-fatal.
Not every build needs Java.

Bug: http://b/17441393
Change-Id: Ia55742cfd43c3a4f9c7873b87816bcce99f8156f
2015-11-12 15:29:12 -08:00
randy.jeong
59bdffa76a Add suffix .so to use directly libart.so
It should be the complete name with suffix .so to use libart.
At present, unnecessarily falls back like below.
"Falling back from libart to libart.so after dlopen error:
dlopen failed: library "libart" not found"

Change-Id: Ie5da35a71d6661434d2097c842407e6a254f8f58
Signed-off-by: randy.jeong <randy.jeong@samsung.com>
2015-11-10 16:42:49 +09:00
Ying Wang
4a4a0bc38f Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
ANDROID_GOALS: any Android goals that need to be built.
KATI_GOALS: goals that we need to pass to Kati.
NINJA_GOALS: goals we need to pass to Ninja.

For modifier Android goals (dist, INTERNAL_MODIFIER_TARGETS),
we don't need to pass them to Ninja. See also commit
80e46c7c5c.
Restore the dist rule removed by the above commit.

Previously "droid" was never passed to Ninja. That's incorrect.
"make droid docs" should build both docs and droiod.
Fixed with this change.

Change-Id: I5c28061fe0ebe7848872ee349056d029b787ff71
2015-11-03 17:10:28 -08:00
Ying Wang
67132baa4d Fix "make product-graph" and "make dump-products".
- For unmodified "make product-graph" and "make dump-products",
  load only the current product configuration makefiles. This is much
  faster than loading all product makefiles.
- For "make product-graph ANDROID_PRODUCT_GRAPH=--all",
  "make dump-products ANDROID_DUMP_PRODUCTS=all", load all product
  makefiles.
- Move product-graph.mk out of build tasks, so we can skip loading all
  the Android.mks, which takes long and we don't really need them.
  More importantly, with all product makefiles loaded, modules in
  Android.mks are prone to clash (if they are conditionally included
  by variables set up in product makefiles) and lead to parse-time
  error.

Change-Id: Idc1d6b0c23eb2c8bb34fdd7a1fa4d56171768d21
2015-10-28 16:49:44 -07:00
Colin Cross
ec1b561981 Add dummy description for GET-INSTALL-PATH
kati takes the first @echo command in a rule and turns it in to a ninja
description that gets pretty-printed.  The GET-INSTALL-PATH is only
@echo commands and is parsed by development/testrunner/runtest.py, so
it fails to parse the pretty-printed first test.

Add a dummy @echo to GET-INSTALL-PATH for kati to use as the
description, so the rest of the @echo commands are left unmodified.

Change-Id: I192fde48b26726a2f6760448f819243bd2f21312
2015-10-23 21:38:12 -07:00
Yohann Roussel
8998d57404 Allow control of jack used for compilation
Version of Jack used to compile a module can now be control from
a dedicated mk located in prebuilts/sdk/tools

Bug: 24564814

(cherry picked from commit b68c9a498d)

Change-Id: I7809dc966026ff94b5cb2daa7e2c63762ca4768d
2015-10-21 17:22:05 +02:00
Neil Fuller
e8304ef768 Fix for Java 8 toolchain builds
We don't need to assume the OpenJDK (i.e. for Mac builds).

Change-Id: I1ac1856813045c7b1478dee6b08ad7b49300e4d7
2015-10-12 17:29:45 +01:00
Colin Cross
e06e961cc6 am 7edec14c: Merge "Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build"
* commit '7edec14c8dfe4e499cba0d77dc20bc985af1f586':
  Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
2015-09-28 23:04:57 +00:00
Colin Cross
fe5e6894d2 Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
Distinguish between parsing makefiles in make for a pre-ninja build,
parsing makefiles in kati for a ninja build, and parsing makefiles in
make for a non-ninja build by leaving USE_NINJA=true enabled for the
kati pass but also setting BUILDING_WITH_NINJA.

Change-Id: I63f1ce1efe08cd86fdf41f8051901f720b38cfaf
2015-09-28 15:36:05 -07:00
Colin Cross
ad4b1ef65e am 581a028f: Merge "Remove checkbuild and test from parse time goals"
* commit '581a028fb562b1d877de2b82d6a08df045d73ec8':
  Remove checkbuild and test from parse time goals
2015-09-26 03:37:54 +00:00
Colin Cross
c53d6b90b3 Remove checkbuild and test from parse time goals
The tests goal is not a parse time goal.

The checkbuild goal is only a parse time goal so that it doesn't result
in a circular dependency between droid and checkbuild when
ANDROID_BUILD_EVERYTHING_BY_DEFAULT is set.  Get rid of the circular
dependency by making droid depend on droid_targets, and droid_targets
depend on the targets that are normally built for droid.  checkbuild can
then always depend on droid_targets, and droid can condtionally depend
on checkbuild without introducing a circular dependency.

Bug: 24413153
Change-Id: I231d80e05ffe321384a5efbcdf5578f86ad84da0
2015-09-25 16:43:36 -07:00
Colin Cross
425d0248a1 am 9ff24387: Merge "Make USE_NINJA=true the default"
* commit '9ff24387c205da60e3d7deb042530b1d0b2d881c':
  Make USE_NINJA=true the default
2015-09-22 17:12:43 +00:00
Colin Cross
f77030bb30 Make USE_NINJA=true the default
Build with kati + ninja by default, unless specifically disabled with
USE_NINJA=false in the environment or on the make command line.

Bug: 23565895
Change-Id: I1fa9f5c6eb4d4ed3f5b81454f89d19fd2f1f6abb
2015-09-18 15:10:21 -07:00
Ying Wang
bc195b36d7 am 6fb36397: Merge "Use /ninja_build to mark ninja build."
* commit '6fb36397e56336e08a75e7101d6d47a98a27aea1':
  Use $(OUT_DIR)/ninja_build to mark ninja build.
2015-09-16 23:21:04 +00:00
Ying Wang
eb1e18e689 Use $(OUT_DIR)/ninja_build to mark ninja build.
Bug: 23565895
Change-Id: I000e88a45278fd52096312262eacc52511f02efb
2015-09-16 15:29:08 -07:00
Ying Wang
942672d82b am 45075cf6: Merge "Generate installed-files-vendor.txt"
* commit '45075cf623fc59930594ac27c675cd43e36975b1':
  Generate installed-files-vendor.txt
2015-09-15 23:10:16 +00:00
Ying Wang
8da19e3688 Generate installed-files-vendor.txt
Similar to installed-files.txt, installed-files-vendor.txt lists the
content of vendor.img.

Bug: 24009297
Change-Id: Ib8112b19cc9f54d0c0d6a829063e4fe72d8ce664
2015-09-15 14:24:00 -07:00
Dan Willemsen
c98d9a9d0f am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit 'f1c09d7fbd92a08cc51950a7d35fb5f7fc564a20':
  Add HOST_CROSS_OS
2015-09-09 18:19:13 +00:00
Dan Willemsen
057aaea54a Add HOST_CROSS_OS
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
2015-09-09 18:12:29 +00:00
Ying Wang
3351178fb8 Cleaned the outdated incrementaljavac.
Nobody is using this feature and now we switched to jack.

Change-Id: I749b486eb347cbf3ee7b107565fc800eeb238c44
(cherry-picked from commit 90598cb70c)
2015-08-29 11:08:02 -07:00
Ying Wang
c9343c0bc3 am cf129c53: am a7eaf450: Merge "Dist the otatools package."
* commit 'cf129c538266cdc5d185a945218e7f76aa22ca27':
  Dist the otatools package.
2015-08-25 17:27:26 +00:00
Ying Wang
267e957373 Dist the otatools package.
Bug: 23495952
Change-Id: I1f61946580dd8ea29c3d5e1f4e859cc6d1f8554a
2015-08-24 17:13:53 -07:00
Dan Willemsen
1b14846717 am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
  Remove legacy windows platform build support
2015-08-18 04:43:04 +00:00
Dan Willemsen
05d97fe723 Merge "Remove legacy windows platform build support" 2015-08-18 04:31:07 +00:00
Dan Willemsen
9cf990beec resolved conflicts for merge of 05fae7e0 to mnc-dev-plus-aosp
Change-Id: I9f0f1169839afabc7ec7e439b668798e2cd111a3
2015-08-17 20:50:48 -07:00
Dan Willemsen
145ae32069 Remove legacy windows platform build support
We still support HOST_OS=windows for the SDK host tools cross-builds, but
that's only when USE_MINGW is set when running under linux.

Change-Id: I37da87dc9fbbd69ba10ce4d7f2668ab3f6482d92
2015-08-17 12:35:04 -07:00
Dan Willemsen
ccc933e97b Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I7c17a32b794a5adf40b9cd69136fb0ff9f6084ec
2015-08-12 00:02:20 -07:00
Dan Willemsen
8478f7abbd resolved conflicts for merge of b184ec2a to mnc-dev-plus-aosp
Change-Id: I6178127dd19ee553c15343fc0120af9463b7ac4d
2015-08-11 18:31:59 -07:00
Dan Willemsen
33f46daa22 resolved conflicts for merge of c576c08f to mnc-dev-plus-aosp
Change-Id: I2d28518ac5a26de7c5df9a2e3a1902e880155101
2015-08-11 18:21:43 -07:00
Dan Willemsen
92026f2d36 Revert "Use repeatable timestamps"
OSX `date` doesn't understand -d

This reverts commit 13ba6e00f4.

Change-Id: I5970032ff02cc07bd3b087e1eeb5f19b1e4194b4
2015-08-12 01:00:19 +00:00
Dan Willemsen
13ba6e00f4 Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I880ef103a26bca86bd7bf42d58e62e740a6228c8
2015-08-11 17:08:03 -07:00
Ying Wang
72a8e48b56 am ac6e6b34: am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit 'ac6e6b347b49b4c15df1f1b2869f2c386f2755d6':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-30 00:15:31 +00:00
Ying Wang
bb1da5e614 Use unmodified MAKECMDGOALS in ninja.mk.
The build system removes targets like "PRODUCT-full-eng" from
MAKECMDGOALS in build/core/product_config.mk.
Without this change, such target isn't passed to kati.

Change-Id: I0b3949ed1f5557445d7f5d5bd59b7875c0b2ea7f
2015-07-29 12:21:54 -07:00
Ying Wang
c0debc427a am 3d2c90d1: am cb031414: Merge "Fix mmma uses like "mmma ./external/apache-harmony""
* commit '3d2c90d18608650614cf3940179cf13251e82178':
  Fix mmma uses like "mmma ./external/apache-harmony"
2015-07-24 21:03:05 +00:00
Colin Cross
c097d1f06e am 4f4c7c22: am f8f448b3: Merge "Build with kati+ninja when USE_NINJA=true"
* commit '4f4c7c22284729d5c1a256590edd387e9d9798dd':
  Build with kati+ninja when USE_NINJA=true
2015-07-24 21:02:56 +00:00
Ying Wang
cb03141459 Merge "Fix mmma uses like "mmma ./external/apache-harmony"" 2015-07-24 19:35:47 +00:00