13 months agohttps for 201 master idea/201.3803.32 idea/201.3803.71 idea/201.4515.24 idea/201.4865.12 idea/201.5259.13 idea/201.5616.10 idea/201.5985.32 idea/201.6073.9 idea/201.6251.22 idea/201.6251.9 idea/201.6487.11 idea/201.6668.113 idea/201.6668.121 idea/201.6668.13 idea/201.6668.60 idea/201.7223.18
Leonid Shalupov [Tue, 19 Nov 2019 16:16:24 +0000 (18:16 +0200)]
https for

GitOrigin-RevId: 03d7b8619bfe960f3b19539381ee0891056a477a

14 months agofixing serialization for android gradle model
Dmitry Avdeev [Thu, 14 Nov 2019 09:39:43 +0000 (12:39 +0300)]
fixing serialization for android gradle model

default constructors are required by new gradle model serialization engine

GitOrigin-RevId: 8e4257028de1aa5d76a306fb4f92bb75447d824d

14 months agolayoutlib resources replaced by framework_res.jar
Dmitry Avdeev [Wed, 16 Oct 2019 14:19:52 +0000 (17:19 +0300)]
layoutlib resources replaced by framework_res.jar

GitOrigin-RevId: d977bbf9c531ecacd5a8732c602863d315f25dc2

14 months agoMerging AOSP/Android Studio 3.5 Tools Base sources into intellij
android-build-team Robot [Mon, 5 Aug 2019 21:05:37 +0000 (21:05 +0000)]
Merging AOSP/Android Studio 3.5 Tools Base sources into intellij

GitOrigin-RevId: 904cb6d36a940c86983ad62a1c7df5ec06acc3d6

17 months agofix AndroidGradleTaskManagerTest, update mockito to 3 (no API changes, just java... appcode/193.3793.16 appcode/193.4099.18 appcode/193.4386.7 appcode/193.4778.23 appcode/193.4932.6 clion/193.3519.24 clion/193.3793.19 clion/193.4099.17 clion/193.4386.19 clion/193.4697.8 clion/193.4778.13 datagrip/193.4099.20 datagrip/193.4386.21 goland/193.2956.43 goland/193.3793.20 goland/193.4099.15 goland/193.4697.5 goland/193.4778.20 idea-edu/193.4697.23 idea/193.3519.25 idea/193.3793.14 idea/193.4099.13 idea/193.4386.10 idea/193.4697.15 idea/193.4778.7 phpstorm/193.2956.42 phpstorm/193.3519.29 phpstorm/193.3519.40 phpstorm/193.3793.21 phpstorm/193.4099.12 phpstorm/193.4386.20 phpstorm/193.4697.24 phpstorm/193.4778.21 pycharm/193.2956.40 pycharm/193.3519.27 pycharm/193.3793.15 pycharm/193.4099.14 pycharm/193.4386.14 pycharm/193.4778.18 rubymine/193.2956.44 rubymine/193.3519.13 rubymine/193.3793.18 rubymine/193.4099.3 rubymine/193.4386.6 rubymine/193.4697.22 rubymine/193.4778.10 webstorm/193.3519.19 webstorm/193.3793.13 webstorm/193.4099.10 webstorm/193.4386.12 webstorm/193.4778.12
Vladimir Krivosheev [Thu, 8 Aug 2019 15:25:21 +0000 (17:25 +0200)]
fix AndroidGradleTaskManagerTest, update mockito to 3 (no API changes, just java 8 is required)

GitOrigin-RevId: 3c0c5228b530e9e5bb7d6421bd8ecbf73474b6de

17 months agoIDEA-219113 Intellij 2019.2 with AndroidStudio plugin - Layout preview not working
Dmitry Avdeev [Wed, 7 Aug 2019 20:37:05 +0000 (23:37 +0300)]
IDEA-219113 Intellij 2019.2 with AndroidStudio plugin - Layout preview not working

GitOrigin-RevId: 0ee71498375fd722f92fe544e2b8770ee65cef01

17 months agobuilding patched layoutlib-api
Dmitry Avdeev [Wed, 7 Aug 2019 14:06:47 +0000 (17:06 +0300)]
building patched layoutlib-api

GitOrigin-RevId: 55ca5d9a985bf64df0ef03093fb70ae5e8ce9a49

17 months agoSnap for 5781323 from 3ebf0d36b94867b45916f347e5bba7c1721430ef to studio-3.5-release
android-build-team Robot [Mon, 5 Aug 2019 21:05:37 +0000 (21:05 +0000)]
Snap for 5781323 from 3ebf0d36b94867b45916f347e5bba7c1721430ef to studio-3.5-release

Change-Id: Ifd66fcca9b91b5aabdf4865722379a4268375b8f

17 months agoremoved dummyTaskRecord.
Jerome Dochez [Thu, 1 Aug 2019 20:31:46 +0000 (13:31 -0700)]
removed dummyTaskRecord.

it prevented classloaders to be gc'ed when users switched
classpath (by adding/removing a plugin for instance).

Test: Adapted existing.
Fixes: 138649175
Change-Id: I364d2accd8773879560a99f626900f67b656c87f
(cherry picked from commit 9fe43fca763d0a05f4baa59147c1f9ff2d707633)

17 months agoFix performance issue in StringAuthLeakDetector
Matthew Gharrity [Tue, 9 Jul 2019 19:34:01 +0000 (12:34 -0700)]
Fix performance issue in StringAuthLeakDetector

Java regex matching can actually be quite slow.
In the case of StringAuthLeakDetector, it could take
10s to match a string of length 50k. We fix this by
only looking at strings of length 512 or less, which
take less than 10ms to match.

Test: existing (StringAuthLeakDetectorTest), and manual timing tests
Fixes: 133377376
Change-Id: I4ea4abf41a7a7015bdc8407c61aa6409fa5f6337
(cherry picked from commit 173358c301b2e0a7819b96edf924f86243de4960)

17 months agoSnap for 5751500 from 5e870417f7d5e0e39a33824881c0da04fd101bcf to studio-3.5-release
android-build-team Robot [Thu, 25 Jul 2019 13:19:01 +0000 (13:19 +0000)]
Snap for 5751500 from 5e870417f7d5e0e39a33824881c0da04fd101bcf to studio-3.5-release

Change-Id: I8522eb2addb4a5fcfe13cccf5124dd9dbff64fe8

17 months agoRemove unused imports and import duplicates from java files
Konstantin Bulenkov [Wed, 24 Jul 2019 17:10:21 +0000 (19:10 +0200)]
Remove unused imports and import duplicates from java files

GitOrigin-RevId: e5d5f6df09f21ae2e894451bf0c5255f82836755

17 months agoMerge branch 'aliublinskii/OC-18684-receive-build-messages-directly-from-Xcode'
Alexander Luyblinsky [Mon, 22 Jul 2019 09:07:52 +0000 (11:07 +0200)]
Merge branch 'aliublinskii/OC-18684-receive-build-messages-directly-from-Xcode'

GitOrigin-RevId: 23fc7e127a2dc2681a702251990eb0e8c070fe4f

17 months agoMerge branch 'amakeev/gradle-resolve'
Anton Makeev [Sun, 14 Jul 2019 17:02:52 +0000 (19:02 +0200)]
Merge branch 'amakeev/gradle-resolve'

GitOrigin-RevId: d23fec1c3c5add7e56330807ab891c0b25f97193

17 months agoMerge branch 'master' into aliublinskii/OC-18684-receive-build-messages-directly...
Alexander Luyblinsky [Fri, 28 Jun 2019 10:10:45 +0000 (12:10 +0200)]
Merge branch 'master' into aliublinskii/OC-18684-receive-build-messages-directly-from-Xcode

GitOrigin-RevId: 79aef992b1b3688e1ba08ab94f5c96093f06d5a6

17 months agoMerge branch 'oracle-debugger'
Leonid Bushuev [Sun, 14 Jul 2019 16:22:50 +0000 (18:22 +0200)]
Merge branch 'oracle-debugger'

GitOrigin-RevId: 9720882fea107fe1b87e3e9e4765418f16a9ff95

17 months agoMerge branch 'master' of ssh://
Vasily Romanikhin [Fri, 5 Jul 2019 18:17:55 +0000 (21:17 +0300)]
Merge branch 'master' of ssh://

GitOrigin-RevId: d42a64dfaa5a076d18ed4456c708240e51b827b6

17 months agoMerge branch 'oracle-debugger'
Leonid Bushuev [Tue, 25 Jun 2019 22:29:02 +0000 (01:29 +0300)]
Merge branch 'oracle-debugger'

GitOrigin-RevId: eaf882946dd281965c20276d40901a21fe7d1500

17 months agoCPP-7050: manual resolving merge-conflict
Vasily Romanikhin [Fri, 5 Jul 2019 17:49:36 +0000 (20:49 +0300)]
CPP-7050: manual resolving merge-conflict

GitOrigin-RevId: c8ac4610a891a13733832f147d243ab159f3d94d

17 months agoMerge remote-tracking branch 'origin/master'
Philipp Smorygo [Wed, 19 Jun 2019 14:08:20 +0000 (17:08 +0300)]
Merge remote-tracking branch 'origin/master'

GitOrigin-RevId: 13d2b6d1bcf648f67c1eff9ddaf0a639f44278f2

17 months agoMerge branch 'oracle-debugger'
Leonid Bushuev [Mon, 17 Jun 2019 17:26:08 +0000 (19:26 +0200)]
Merge branch 'oracle-debugger'

GitOrigin-RevId: c5fa33169830ac8cedf1014b83dd067c93800029

17 months agoMerge branch 'master' into vromanik/CPP-7050_RemoteGDBServer
Vasily Romanikhin [Tue, 25 Jun 2019 14:15:08 +0000 (17:15 +0300)]
Merge branch 'master' into vromanik/CPP-7050_RemoteGDBServer

GitOrigin-RevId: 37dabc82f8976677b3567fa672c2fad426ddc97f

17 months agoMerge remote-tracking branch 'origin/master'
Philipp Smorygo [Wed, 19 Jun 2019 14:07:33 +0000 (17:07 +0300)]
Merge remote-tracking branch 'origin/master'

GitOrigin-RevId: 44a64da94f611c46ae320031b1a878c1b0513b68

17 months agoMerge remote-tracking branch 'origin/master'
Artem Gainanov [Mon, 17 Jun 2019 12:48:31 +0000 (15:48 +0300)]
Merge remote-tracking branch 'origin/master'

GitOrigin-RevId: bd3f40d8953442bd0c9b8fc96a76320e438f9d68

17 months agoMerge branch 'oracle-debugger'
Leonid Bushuev [Thu, 13 Jun 2019 21:11:31 +0000 (23:11 +0200)]
Merge branch 'oracle-debugger'

GitOrigin-RevId: 66fa6ce0c7e410cbc22012d0a9cf199847de15b0

17 months agoMerge branch 'master' into vromanik/CPP-7050_RemoteGDBServer
Vasily Romanikhin [Tue, 25 Jun 2019 13:39:40 +0000 (16:39 +0300)]
Merge branch 'master' into vromanik/CPP-7050_RemoteGDBServer

GitOrigin-RevId: ad81aebf662ea14cd3204ef41333463e8a4a6665

17 months agoMerge branch 'fsmorygo/parallelize-module-maps-dependencies'
Philipp Smorygo [Wed, 19 Jun 2019 13:09:59 +0000 (16:09 +0300)]
Merge branch 'fsmorygo/parallelize-module-maps-dependencies'

# Conflicts:
# CIDR/cidr-lang/src/com/jetbrains/cidr/lang/modulemap/resolve/ModuleMapResolveService.kt

GitOrigin-RevId: 60e65328939f706b44b6b1202a588e037da96ce5

17 months agoMerge remote-tracking branch 'origin/master'
Artem Gainanov [Mon, 17 Jun 2019 12:46:07 +0000 (15:46 +0300)]
Merge remote-tracking branch 'origin/master'

# Conflicts:
# plugins/JavaScriptLanguage/testSrc/com/intellij/lang/javascript/typescript/

GitOrigin-RevId: a78288b74d096c36419334dc47cbc7165caf2e9c

17 months agoMerge remote-tracking branch 'origin/eldar/cidr-debugger'
Eldar Abusalimov [Sat, 15 Jun 2019 23:42:45 +0000 (02:42 +0300)]
Merge remote-tracking branch 'origin/eldar/cidr-debugger'

GitOrigin-RevId: 62d4cc57300e18689a4a48b6d9c56913cc728d0b

17 months agoMerge remote-tracking branch 'origin/master'
Vyacheslav Karpukhin [Wed, 12 Jun 2019 19:54:49 +0000 (21:54 +0200)]
Merge remote-tracking branch 'origin/master'

GitOrigin-RevId: a750f816e997dd4766ed1428d58e7bf269b173c7

17 months agoMerge branch 'oracle-debugger'
Leonid Bushuev [Mon, 10 Jun 2019 13:23:25 +0000 (15:23 +0200)]
Merge branch 'oracle-debugger'

GitOrigin-RevId: c662179ecd842a986f4e60dc8a0435aadd83af3c

17 months agoMerge branch 'master' into vromanik/CPP-7050_RemoteGDBServer
Vasily Romanikhin [Wed, 19 Jun 2019 10:35:29 +0000 (13:35 +0300)]
Merge branch 'master' into vromanik/CPP-7050_RemoteGDBServer

GitOrigin-RevId: c4351434ae8bcefc4a077949ed8c97b08231e720

17 months agoMerge branch 'master' into fsmorygo/parallelize-module-maps-dependencies
Philipp Smorygo [Mon, 10 Jun 2019 13:37:37 +0000 (16:37 +0300)]
Merge branch 'master' into fsmorygo/parallelize-module-maps-dependencies

# Conflicts:
# CIDR/cidr-lang/src/com/jetbrains/cidr/lang/modulemap/resolve/ModuleMapResolveService.kt

GitOrigin-RevId: 4eb8e2e5ebd34cea2caf0330574a02b24c955a4b

17 months agoMerge remote-tracking branch 'origin/master' into eldar/cidr-debugger
Eldar Abusalimov [Mon, 10 Jun 2019 09:41:12 +0000 (12:41 +0300)]
Merge remote-tracking branch 'origin/master' into eldar/cidr-debugger

# Conflicts:
# CIDR/cidr-debugger/resources/META-INF/CidrDebuggerPlugin.xml

GitOrigin-RevId: de8e0298bef122544fd1af40c209050903b3d263

17 months agoMerge branch 'slava/coverage_with_jbdevice_refactoring'
Vyacheslav Karpukhin [Wed, 12 Jun 2019 19:20:04 +0000 (21:20 +0200)]
Merge branch 'slava/coverage_with_jbdevice_refactoring'

# Conflicts:
# CIDR-appcode/appcode-build/groovy/org/jetbrains/intellij/build/appCode/AppCodeProperties.groovy

GitOrigin-RevId: b69de039e2d0ff52b80049459ee80583789590a7

17 months agoIDEA-210698 Include Terraform plugin
Vladislav Rassokhin [Mon, 10 Jun 2019 20:18:35 +0000 (23:18 +0300)]
IDEA-210698 Include Terraform plugin

GitOrigin-RevId: 3a65fde9e44f7ec9be565f5b3c9f334447d6dfca

17 months agoMerge remote-tracking branch 'origin/leomash/debugger-console-completion'
Eldar Abusalimov [Mon, 10 Jun 2019 00:32:40 +0000 (03:32 +0300)]
Merge remote-tracking branch 'origin/leomash/debugger-console-completion'

GitOrigin-RevId: e3a3222014ea4c2608f804340a54c2cd0e594089

17 months agoMerge branch 'slava/out_of_process_sim_and_dev' into slava/coverage_with_jbdevice_ref...
Vyacheslav Karpukhin [Wed, 12 Jun 2019 17:50:21 +0000 (19:50 +0200)]
Merge branch 'slava/out_of_process_sim_and_dev' into slava/coverage_with_jbdevice_refactoring

# Conflicts:
# CIDR-appcode/appcode/bin/libjbdevice.dylib.commit
# CIDR-appcode/appcode/native/JBDeviceKit/JBDeviceKit/JBDevice.m

GitOrigin-RevId: 6bb166b710228df4a87ea5d479176ee843604b31

17 months agoMerge commit 'a85b798667f6a81500b21eda3c8d508a28cb969c' into egorzhdan/coverage
Vyacheslav Karpukhin [Wed, 12 Jun 2019 15:37:11 +0000 (17:37 +0200)]
Merge commit 'a85b798667f6a81500b21eda3c8d508a28cb969c' into egorzhdan/coverage

GitOrigin-RevId: 55b653eb620e8dc5642c467b0308e447a5ac32a7

17 months agoMerge commit 'a85b798667f6a81500b21eda3c8d508a28cb969c' into slava/out_of_process_sim...
Vyacheslav Karpukhin [Wed, 12 Jun 2019 17:23:33 +0000 (19:23 +0200)]
Merge commit 'a85b798667f6a81500b21eda3c8d508a28cb969c' into slava/out_of_process_sim_and_dev

GitOrigin-RevId: ccfc7bb2ab1846fbf2c169f6262ffa412f3efb80

17 months agoPrevent stackoverflow when rendering xml
Fedor Kudasov [Mon, 15 Apr 2019 12:26:36 +0000 (13:26 +0100)]
Prevent stackoverflow when rendering xml

An attempt to fail earlier than stack overflow happens and to
provide a useful error message with a render of xml

Bug: 130315019
Test: all tests should pass

Change-Id: I8e846f1f1f95405f9787c7908114fef8a90fe59e
(cherry picked from commit 278cf00f05597d883c283d131c9dab1844b956df)

17 months agoUse resolved component to get the resolved dep information
Udam Saini [Wed, 17 Jul 2019 22:44:13 +0000 (15:44 -0700)]
Use resolved component to get the resolved dep information

As we iterate through the dependencies, to get the dependency order
information, we should use the resolved component information, to get
the correct dependencies that are pulled into the final package.

Test: added integration test.
Change-Id: Ifd0fb4c592108087fb5ae4d13e9d8bc35fe64d7f
(cherry picked from commit fc49493ddad828b90e8e17e1b461a92ab8e56c5a)

17 months agoIRR: Fix PM crash caused by early pipe closure
Fabien Sanglard [Thu, 18 Jul 2019 01:41:36 +0000 (18:41 -0700)]
IRR: Fix PM crash caused by early pipe closure

Problem: Upon issuing a cmd command, the forked process STDERR
and STDIN pipe were returned to the caller. If they were not
needed (a.k.a the caller was not interested in the child
outputs) these fds were closed. These closed pipe resulted in
a SIGPIPE in the child process if it tried to write().

Solution: If we know that the child process stdout and stderr
will not be inspected by the parent, we can redirect the
child stdout and stderr fds to "/dev/null" which will act as
a sink for any write(2) from the child process.

Bug: 137795791
Test: None
Change-Id: I5d7469cedacc9124191f549e054c70e47b5cb00c

18 months agoSnap for 5736792 from dabc6791fa77bc3a9bbbf2e58c4139614426f455 to studio-3.5-release
android-build-team Robot [Thu, 18 Jul 2019 05:33:04 +0000 (05:33 +0000)]
Snap for 5736792 from dabc6791fa77bc3a9bbbf2e58c4139614426f455 to studio-3.5-release

Change-Id: Iff6173b13b17a74cad5e53d891732a08ac16f457

18 months agoRevert "Only filter resources directories for remote libraries"
Amr Afifiy [Wed, 17 Jul 2019 17:28:37 +0000 (17:28 +0000)]
Revert "Only filter resources directories for remote libraries"

This reverts commit b13d353e01b38edd89b30915c14b14a57c83dde5.

Reason for revert: b/137729143

Change-Id: Ie799838d719edd4ad9041d88ff7ae8d70bd813e5

18 months agoFix mappings documented in DAC
diegoperez [Thu, 11 Jul 2019 16:54:48 +0000 (17:54 +0100)]
Fix mappings documented in DAC

Fixes some old mappings that did not match the documented ones in DAC at

Fixes: 137277710
Test: Adds regression test
Change-Id: I386a2f1844081835c2f07fe5b0736029372ebbb2
(cherry picked from commit 041057fa510283000746740dca4a5a29044d358a)

18 months agoAdd exoplayer migration rule
diegoperez [Tue, 9 Jul 2019 11:36:09 +0000 (12:36 +0100)]
Add exoplayer migration rule

Fixes: 137073253
Test: N/A
Change-Id: Ia3c358556e1253b8abd79f0a16340e8d14ade280

18 months agoAdd the workmanager androidx migration rules
diegoperez [Mon, 24 Jun 2019 14:39:14 +0000 (15:39 +0100)]
Add the workmanager androidx migration rules

The rules were disabled because the artifact did not exist in androidx.

Test: Manually tested
Fixes: 133770823
Change-Id: I733d84b5cdf7e270634c53365845a7c11901acf0
(cherry picked from commit f1198d95cb168f78c8aff1045216df2abb08dd8e)

18 months agoRun Jacoco instrumentation out-of-process for Bazel tests
Ivan Gavrilovic [Thu, 16 May 2019 10:20:49 +0000 (11:20 +0100)]
Run Jacoco instrumentation out-of-process for Bazel tests

When running Jacoco instrumentation with classloader isolation
we were hitting quite a lot of MissingResourceException when
running tests from Bazel. This is most likely a Gradle issue
(, and they are
working on a fix. In the meantime, they advised that running
Jacoco out-of-process should fix the issue.

This CL does not change how we run Jacoco in production, as
we received no reports that resemble b/130596259.

BUG: 130596259
Test: existing jacoco tests
Change-Id: I4476aa482d4aa465952a3ed366b1c301e36269a4
(cherry picked from commit 24643da34e728e2222ad4fcda612024fefd55a6e)

18 months agoSplit up SWAP_FAILED
Alan Leung [Wed, 10 Jul 2019 22:03:16 +0000 (15:03 -0700)]

They are mostly technical debt for lazily throwing that
error when something goes wrong. Some of them probably
never happen as far as I can tell.

Bug: 137015111
Test: None

Change-Id: Ia1a186fa4cf3a26f0f223d6fb24ecedd2a96dbdf
(cherry picked from commit 8b51ef245af3ba9d5a232b07bc438a44d260362f)

18 months agoSnap for 5717432 from 4e398484706d11893ae9faf87c872baa5bf8b109 to studio-3.5-release
android-build-team Robot [Wed, 10 Jul 2019 14:45:26 +0000 (14:45 +0000)]
Snap for 5717432 from 4e398484706d11893ae9faf87c872baa5bf8b109 to studio-3.5-release

Change-Id: I5105edde364937f6bdbe410b6e8f0d2447ad84d0

18 months agoCatch all of the PM install errors.
Alan Leung [Mon, 8 Jul 2019 23:29:03 +0000 (16:29 -0700)]
Catch all of the PM install errors.

Bug: 136685146
Test: None
Change-Id: I53151104224c69ab586cb3b76e43f6c37b1c6b5a

18 months agoOnly compare columns in SourcePosition if both column values are set
Amr Afifiy [Mon, 8 Jul 2019 12:05:23 +0000 (13:05 +0100)]
Only compare columns in SourcePosition if both column values are set

Previously while comparing two SourcePosition objects if one of them
doesn't have a column value, the compare method will return incorrect
values which leads to MergingLog unable to find original position for
some source positions. This change changes the compare function to only
compare columns if both objects have the column value set.

Bug: 136987001
Test: Updated MergingLogTest with a test case that is fixed with the

Change-Id: I594c3e0a13a4c907cfa5354a93937446580f1693
(cherry picked from commit 7aa4b57a7602a05a914aa2e1b3b72385733b3f39)

18 months agoOnly look in the manifest merge blame if the file is a merged manifest
Amr Afifiy [Thu, 20 Jun 2019 12:01:50 +0000 (13:01 +0100)]
Only look in the manifest merge blame if the file is a merged manifest

In aapt exception rewritting, there is an error where some xml files are
replaced incorrectly with android manifest. This change checks first if
the file is in merged manifests directory before looking up the merge

Fixes: 135665414
Test: updated ManifestHelperTest
Change-Id: I9adf0ac3d70e87a93d03a9faa9eb6b5d8f86d865
(cherry picked from commit 20d509d418ef406d1972357abd319f842fb8df9c)

18 months agoMerge cherrypicks of [8450222, 8451592, 8444786, 8450099, 8450223, 8451847] into...
android-build-team Robot [Wed, 3 Jul 2019 22:50:53 +0000 (22:50 +0000)]
Merge cherrypicks of [845022284515928444786845009984502238451847] into studio-3.5-release

Change-Id: I19abce33396a02096682935e93eb64fe3b1e51c4

18 months agoUpdate Kotlin dependencies to 1.3.41
Juan Chen [Tue, 2 Jul 2019 19:48:28 +0000 (12:48 -0700)]
Update Kotlin dependencies to 1.3.41

Bug: b/136686004
Test: existing
Change-Id: I09102af439c2a6a42a6889bbe87f6142e0a60d10
(cherry picked from commit b0d9a98cdb3685727819a8138ced0b401b590107)

18 months agoUpdate Kotlin dependencies to 1.3.41
Juan Chen [Tue, 2 Jul 2019 19:48:28 +0000 (12:48 -0700)]
Update Kotlin dependencies to 1.3.41

Bug: b/136686004
Test: existing
Change-Id: I09102af439c2a6a42a6889bbe87f6142e0a60d10

18 months agoSnap for 5694533 from b00f795853038afba236497e141001e06241ef64 to studio-3.5-release
android-build-team Robot [Tue, 2 Jul 2019 17:17:43 +0000 (17:17 +0000)]
Snap for 5694533 from b00f795853038afba236497e141001e06241ef64 to studio-3.5-release

Change-Id: I446cd1c7671798e9537ac7ccc266a02cbd83a6a5

18 months agoSupport multi-apk for packageForUnitTest task
Jerome Dochez [Thu, 20 Jun 2019 18:24:22 +0000 (11:24 -0700)]
Support multi-apk for packageForUnitTest task

The task implementation was assuming there is only one build output
which is clearly not the case in the multi apk case.

Test: Added unit and integration tests.
Fixes: 130740393
Change-Id: I9fcb5fb963709dc0a5b8564d16949b30a504cd81

18 months agoPrevent calling initWith with the receiver.
Xavier Ducrohet [Thu, 27 Jun 2019 02:06:15 +0000 (19:06 -0700)]
Prevent calling initWith with the receiver.

this.initWith(this) can end up with calling
this.set(this) on Property<*> objects which leads
to stack overflow. This CL bails early in initWith if the arg
is this as a safety measure.

The real fix is making the property get the current value
of the other rather than dynamic link itself with the other
property. initWith is meant as a copy of values, not a
synchronization between build types.

Change-Id: Id6804f177b830b1b7bd1b53e855984d0f39f7d16
Fixes: 130102823
Test: added a new integ test: InitWithThisTest

18 months agoUse CLASS_MATCHER not CLASS_PATTERN in MergeClassesTransform
Scott Pollom [Thu, 27 Jun 2019 16:26:59 +0000 (09:26 -0700)]
Use CLASS_MATCHER not CLASS_PATTERN in MergeClassesTransform

Bug: 136150634
Test: MergeClassesTransformTest
Change-Id: Ie4bcbf7a59ece3fd975f90d4b6dcd7f299771344

18 months agoFix ConcurrentModificationException on taskSpans.
Bruno Buss [Wed, 26 Jun 2019 08:25:30 +0000 (09:25 +0100)]
Fix ConcurrentModificationException on taskSpans.

addSpan() can be called at the same time as writeTaskSpan(), which
causes the backing List (taskSpans) to be modified while it is being
copied by the writer.

Just making a copy of taskSpans before passing it would not be enough,
because we would still be exposed to change the list while we are making
the copy.

Fix: 136028926
Test: SetSdkDirHyperlinkTest not being flaky anymore + existing
Change-Id: I562721238dc0147935376f2acfaf002c1318954d

18 months agoJava Res filters excludes both java and kt files.
Xavier Ducrohet [Fri, 21 Jun 2019 23:58:48 +0000 (16:58 -0700)]
Java Res filters excludes both java and kt files.

For project using the old Eclipse-compatible source set configuration
that use src for both code and java res, it's important we properly
exclude all types of source files from the java resources.

Change-Id: I83180d19dcc9e9ce471209100c4ef38aa7610ebf
Fixes: 128835109
Test: new KotlinWithEclipseSourceSetTest

18 months agoUpdate Kotlin dependencies to 1.3.40.
Juan Chen [Wed, 12 Jun 2019 16:57:05 +0000 (09:57 -0700)]
Update Kotlin dependencies to 1.3.40.

Bug: n/a
Test: existing
Change-Id: Ic5ad4ac97a73ded231e410a7edb9414ac4d8fb0d

18 months agoData binding: Optimize resource merging for library modules.
Hung Nguyen [Wed, 5 Jun 2019 16:13:00 +0000 (17:13 +0100)]
Data binding: Optimize resource merging for library modules.

Data binding consumes the layout info output of resource merging.

A. For a variant in a library module, there are actually 2 types of
resource merging tasks:
  1. "Package resources" task: merges the resources from the current
  2. "Merge resources" task: merges the resources from both the current
     module and its dependencies.

The "merge resources" task should not be needed, but it is currently
kept because external libraries (e.g., the Kotlin Android extensions
plugin) might consume it.

See bug 110412851 for more details.

B. For a variant in a non-library module (or for an Android test
variant), there is currently only 1 "merge resources" task.

Data binding used to depend on the "merge resources" task in all cases.
but it actually only needs the "package resources" task.

This CL lets data binding depend on the "package resources" task for
library modules to improve performance. In the other cases, it still
depends on the "merge resources" task as the "package resources" task is
not created, and creating "package resources" instead of "merge
resources" might break other tasks that need the "merge resources" task.

Bug: 133092984
Bug: 110412851
Test: Existing tests should pass
Change-Id: I81996274a5d0ea6b41d3a764f664b9c5d89e8a52

18 months agoSnap for 5673292 from 01f2988c75d953b54170ed8874b224c2f8a2aef2 to studio-3.5-release
android-build-team Robot [Wed, 19 Jun 2019 18:54:27 +0000 (18:54 +0000)]
Snap for 5673292 from 01f2988c75d953b54170ed8874b224c2f8a2aef2 to studio-3.5-release

Change-Id: Ic205105cca1d7993adacf74b91a2ff8d81b949af

18 months agoPrevents Splitting of a Remote APK.
Alan Leung [Fri, 14 Jun 2019 17:59:42 +0000 (10:59 -0700)]
Prevents Splitting of a Remote APK.

This serves as a temp fix for the odd control flow where we tries
to split an remove APK. We do a File.exists() check before splitting.

Ideally, we should never call splitter this way in the algorithm.

Bug: 135202430
Test: testApkNotRecognized added.
Change-Id: Iddf1340a2783c74b3dc4d2ae42efae371af56b0d
(cherry picked from commit 1fa966a7e7e21c4197883a55a9611e6aea0e9a8d)

19 months agoMerge cherrypicks of [8038918, 8038919, 8038938, 8037075] into studio-3.5-release
android-build-team Robot [Mon, 17 Jun 2019 21:00:21 +0000 (21:00 +0000)]
Merge cherrypicks of [8038918803891980389388037075] into studio-3.5-release

Change-Id: Ice7603676af556f3009d5a7301a8a08b99ac5682

19 months agoIgnore warning about compressed resources.arsc
Izabela Orlowska [Mon, 17 Jun 2019 14:55:57 +0000 (15:55 +0100)]
Ignore warning about compressed resources.arsc

Bug: 130617130
Test: N/A
Change-Id: Iac03a638d24b4370bd6b03ddb85916b299c8a854
(cherry picked from commit 5755a6f19b97478237a56bb4dd20bbf00ad30277)

19 months agoDisable runtime->compile classpath constraints for test/feature modules.
Xavier Ducrohet [Fri, 14 Jun 2019 00:04:14 +0000 (17:04 -0700)]
Disable runtime->compile classpath constraints for test/feature modules.

Modules that consume another APK module (so separate test modules and
dynamic feature modules) have a restricted view of the runtime classpath.
It contains the APK they consume but not the transitive dependencies
as we don't want to package the dependencies of the consumed APK
in the test app or in the dynamic features.

Because of this the runtime classpath of these modules is very limited
and therefore using it to set constraints on the compile classpath
does not work. We need to find a better way to synchronize these

For now, disable the constraint mechanism for these modules in
order to reduce issues in 3.5.

Bug: 132939682
Test: just existing test, proper fix in master will have actual scenario tests.
Change-Id: I4493041c89a53b8a5bde41db5f145ff5830698a3

19 months agoIgnore warning about compressed resources.arsc
Izabela Orlowska [Mon, 17 Jun 2019 14:55:57 +0000 (15:55 +0100)]
Ignore warning about compressed resources.arsc

Bug: 130617130
Test: N/A
Change-Id: Iac03a638d24b4370bd6b03ddb85916b299c8a854

19 months agoSnap for 5665964 from e10902cb9ea60b211fc7259b1957beaaa5bc2587 to studio-3.5-release
android-build-team Robot [Mon, 17 Jun 2019 19:45:17 +0000 (19:45 +0000)]
Snap for 5665964 from e10902cb9ea60b211fc7259b1957beaaa5bc2587 to studio-3.5-release

Change-Id: I4b7dcdb0172c642e3e1039b364bdefadbc6ed951

19 months agoIRR: Fix Windows build (use .stripped.exe)
Fabien Sanglard [Fri, 7 Jun 2019 22:49:09 +0000 (15:49 -0700)]
IRR: Fix Windows build (use .stripped.exe)

Problem: ".stripped" target does not generate a ".stripped"
executable ouput on on Windows.

Solution: Use ".stripped.exe" which is what is generated by bazel.

Bug: None
Test: Bazel build on Windows
Change-Id: I6ba9e8316e7812aa3f3625ce869cc6cf6a3e7c1c
(cherry picked from commit 8dc15383874d466fed0286805ab95258917d119e)

19 months agoIRR: Make raw and android part of binary name.
Fabien Sanglard [Thu, 6 Jun 2019 18:28:49 +0000 (11:28 -0700)]
IRR: Make raw and android part of binary name.

Problem: Raw ouput and matryoshka output have the same filename
which makes it confusing and error prone when looking at bazel

Solution: Raw outputs are explicitly tagged with "_raw" in the
filename. Android outputs are explicitly tagger with "android-".

Test: Bazel build
Bug: None
Change-Id: Ia930cde7392aa38b4cf4b56b7e0e39040f9a9557
(cherry picked from commit 1534563795d2f0e323d4222d20e40fcf07aa4053)

19 months agoAllow nav graphs in library but ignore them
Fedor Kudasov [Wed, 22 May 2019 19:02:20 +0000 (20:02 +0100)]
Allow nav graphs in library but ignore them

Bug: 133280833
Test: all tests should pass
Change-Id: I2e414186e4e72e236778e04611a64ff2b1f9a7b0
(cherry picked from commit 05f6c57991a903dce6f51827ba8e07c70905baff)

19 months agoFix deployer metric formatting issue
Noah Zimmt [Wed, 5 Jun 2019 23:45:01 +0000 (16:45 -0700)]
Fix deployer metric formatting issue

Bug: None
Test: None
Change-Id: I1e70b060304fa2c359fa22289b6a5a5ab9838ea8
(cherry picked from commit 8563becce8111d738929fef789ac5c055b8e3c1a)

19 months agoSupport new format of public.xml introduced in Android Q
Sergey Prigogin [Tue, 4 Jun 2019 19:41:21 +0000 (12:41 -0700)]
Support new format of public.xml introduced in Android Q

prebuilts/studio/layoutlib/data/res/values/public.xml has not been updated yet to the latest Q version, but FrameworkResourceRepositoryTest passes with both, the current and the latest Q version of public.xml.

Test: FrameworkResourceRepositoryTest
Bug: 133526948
Change-Id: I816c70860ee5d7039cbbfac85c904e27ccacdb8d
(cherry picked from commit 67bcaa17364949dc3e0ccc5b427073ac204dffc3)

19 months agoSnap for 5658768 from fd1030c7c660f51efca9dfad34ef5e64623383a7 to studio-3.5-release
android-build-team Robot [Fri, 14 Jun 2019 16:38:29 +0000 (16:38 +0000)]
Snap for 5658768 from fd1030c7c660f51efca9dfad34ef5e64623383a7 to studio-3.5-release

Change-Id: Ib543f01d6c682b2d33dda041b8918fbac1dcbf96

19 months agoUse AAPT2 Version as Task input instead of AAPT Binary
Stephen Atwood [Fri, 24 May 2019 03:14:05 +0000 (20:14 -0700)]
Use AAPT2 Version as Task input instead of AAPT Binary

AAPT2 binaries differ across platforms, so when the binary is used as a
task input machines running on different platforms cannot share a cache.
Using the AAPT2 version as an input, instead, allows for remote cache
hits even if the cache was populated by a machine with a different OS.

Bug: b/126775254
Test: Existing tests
Change-Id: I30cb9d47ef5d1a6b750d25813e89cb439333d14a

19 months agoLint no longer considering media to be a containing project of media2/...MediaPlayer...
Jeff Gaston [Thu, 2 May 2019 20:17:31 +0000 (16:17 -0400)]
Lint no longer considering media to be a containing project of media2/

Bug: 131844902
Change-Id: I1f001b7ed23b77361a322590d23e8dfcd18e20ed
(cherry picked from commit 2922c2d5b7f106979c471f14d4a446d557add95e)

19 months ago111487505: Unnecessary warning for Attribute 'importantForAutofill'
Tor Norbye [Mon, 10 Jun 2019 14:13:01 +0000 (07:13 -0700)]
111487505: Unnecessary warning for Attribute 'importantForAutofill'

Fixes: 111487505
Test: Unit test included
Change-Id: If193684bb0778c7acf3caa57a4c21c35ac54b1a6
(cherry picked from commit 943edb37e3a1a77b889ecd8e492983f91582839d)

19 months agoStrip the transport binary
Shukang Zhou [Tue, 4 Jun 2019 21:31:22 +0000 (14:31 -0700)]
Strip the transport binary

Use the same BUILD file pattern as in
transport's BUILD rules.

Bug: 134421845
Test: manual

Change-Id: Ib5173f910be7cfacafa9efb9141d0ef8666657dc

19 months agoImprove error message when ADB cannot be executed
Hannah Chu [Wed, 5 Jun 2019 00:03:15 +0000 (17:03 -0700)]
Improve error message when ADB cannot be executed

Bug: 134515798
Test: Manually tested on a Windows 7 installation without the Universal C runtime update
Change-Id: I7ba6d851995d6890eef621f9394e5b0274b74e92
(cherry picked from commit a0bd3fea1422901f7f45cc07de5be5b3ab61ad0b)

19 months agoChange Android API 29 version string to the finalized one.
Andrii Dehtiarov [Wed, 5 Jun 2019 21:32:23 +0000 (22:32 +0100)]
Change Android API 29 version string to the finalized one.

This changes the version string to 10.0 and adds
the corresponding test to verify the strings.

Test: Added.
Bug: 134580062
Change-Id: I1486cf91687730f1c064b76d2edc5eb78d607917
(cherry picked from commit 812eb72f1abbb9a421c55f08461cdf49504698bb)

19 months agoWhitelists guava's listenablefuture not use constraints for test.
Xavier Ducrohet [Wed, 22 May 2019 00:31:38 +0000 (17:31 -0700)]
Whitelists guava's listenablefuture not use constraints for test. was extract from Guava but it's still
in the guava artifact as well. To avoid the same class on the classpath
guava depends on version
which is empty, so that version promotion removes the duplicated class
from the classpath.

However since AGP 3.3 we have strict version matching between app and
The following scenario breaks:
- app depends on some AndroidX libraries that depend on listenablefuture
 (which was extracted for them)
- test depends on guava somehow.

Now the constraints cannot be resolved.

The fix is to whitelist the artifact to not setup constraints for
it for the test/prod sync.

Fixes: 131431257
Test: new GuavaWhitelistTest
(cherry picked from commit d87b4f3070c59b4b9a98d9264fbd7eb6b2467615)

Change-Id: Id4a8d4b16ee4ec55a51d0f7ba24d0e6d21bc9ec4

19 months agoAlways clean GenerateResValues directory before use
Izabela Orlowska [Wed, 5 Jun 2019 11:13:32 +0000 (12:13 +0100)]
Always clean GenerateResValues directory before use

The resValues file got renamed between 3.4 and 3.5 and the task didn't
clean its output directory before use and therefore you'd end up with
duplicate resources. We should always clean before use.

Test: GenerateResValuesTest + verified manually
Fixes: 133273847
Change-Id: Icd1da7c69fcba7870c0508d29b95d252c0ab5739
(cherry picked from commit b9728b94ac08d5eec902465f8189aaf325f03c3a)

19 months agoAdded jar artifacts for all variants as input to LintPerVariantTask
Amr Afifiy [Wed, 29 May 2019 13:16:28 +0000 (14:16 +0100)]
Added jar artifacts for all variants as input to LintPerVariantTask

LintPerVariantTask will eventually call ModelBuilder which will query
Gradle for jar artifacts for other variants, this change adds the jar
artifacts for all variants as input to the task so Gradle would make
sure that they are resolved before starting the task.

Bug: 132783036
Test: Verified manually. Ran FlavorsTest 500 times successfully while
usually it takes 50 times to produce a timeout.

Change-Id: I8ace375442df0efd8fdd0fc5ccdfd3983acccdfd
(cherry picked from commit 1f9787310d64a66370627a2aaefa1e616565c17d)

19 months agofix yellow code - rationalize static call datagrip/192.5587.22 datagrip/192.5728.110 datagrip/192.5728.116 datagrip/192.5728.127 datagrip/192.5728.128 datagrip/192.5728.16 pycharm/192.5728.105
Vladimir Krivosheev [Mon, 3 Jun 2019 19:12:14 +0000 (21:12 +0200)]
fix yellow code - rationalize static call

GitOrigin-RevId: 2dc783a75d852bd9c8a537ef6ed6bfac07640177

19 months agoParse "disable src download" propery from IDE.
Ying Chen [Mon, 3 Jun 2019 19:35:29 +0000 (12:35 -0700)]
Parse "disable src download" propery from IDE.

The project properties set by IDE are serialized and
deserialized by Gradle api, thus not keeping the original
value type.
This change converts the expected boolean type to String
first, then parse boolean value from string.

Bug: 129008025
Test: NA
Change-Id: I6d284ea32fd157739147e6c9243f4f819d27ae97
(cherry picked from commit d378a4709f2a8e2b9dfec5d16ac0ef66a753831b)

19 months agoReport all D8 desugaring warnings as info
Ivan Gavrilovic [Thu, 23 May 2019 15:14:38 +0000 (16:14 +0100)]
Report all D8 desugaring warnings as info

Output was cluttered with desugaring warnings. While those can be
very useful when running standalone D8, within the build system, it
is mostly noise. The reason is that the build system sets up the
classpath, so all available types are already in the desugaring
classpath for the classes compiled in the project. For classes coming
from Maven, there is not much we can do, so it makes sense not to
report these warnings.

Users are still able to show the warnings with "--info".

BUG: 118842646
Test: manually verified
Change-Id: Ie6a10235b5f4b82b66d13ed0f286a008868e584d
(cherry picked from commit a4a1616c6f208172d9ed2933f35506ef3fdbc496)

19 months agorunning tests on module classpath
Dmitry Avdeev [Mon, 3 Jun 2019 10:06:46 +0000 (13:06 +0300)]
running tests on module classpath

GitOrigin-RevId: b73610a3e291859d428d4f992e06772e4c89b6c8

19 months agoreleasing buffer for jre9
Dmitry Avdeev [Mon, 3 Jun 2019 09:36:33 +0000 (12:36 +0300)]
releasing buffer for jre9

GitOrigin-RevId: b37fd00bb3697492b143117446321f17a0fb0550

19 months agoFilter multi-release classes from dirs when using R8
Ivan Gavrilovic [Fri, 31 May 2019 08:49:50 +0000 (09:49 +0100)]
Filter multi-release classes from dirs when using R8

Multi-release classes may come from directories so when
using R8 we have to filter them out.

BUG: 134093979
Test: R8ToolTest
Change-Id: Ib74e35db8b1b4f856f4134970b1441df6c7e7bf0
(cherry picked from commit 730b0a82778330ce2a10ac68e1cb0beaf674425b)

19 months agoAdded jar artifacts as inputs to Lint
Amr Afifiy [Wed, 22 May 2019 18:03:26 +0000 (19:03 +0100)]
Added jar artifacts as inputs to Lint

There is a deadlock that happens from time to time running lint on a
multi module project, :lib:lint tries to resolve jar artifacts and
:app:lint waits for :lib:lint to finish to enter a synchronized block
which doesn't happen.
This change adds those artifacts as inputs to make sure that they are
resolved before starting the task to avoid this issue.

Fixes: 132783036
Test: Verified manually. Ran LibMinifiyJarDepTest 2000 time successfully
while it usually takes only 100 times to produce a timeout.

Change-Id: I7c83d77fbaf7e3cefdf8615bc204598a97a84c90
(cherry picked from commit 9da4dbdef1418c3c370db00f853264c9248adf84)

19 months agoDocs: Updating useProGuard javadocs
Adarsh Fernando [Wed, 29 May 2019 20:43:11 +0000 (13:43 -0700)]
Docs: Updating useProGuard javadocs

Test: ./gradlew base:docs:dslHtml (docs only)
Bug: 133248269
Change-Id: I6d7c38afd474ba698f0827c30cdf646ad4b095c5
(cherry picked from commit e4175b0ac34a82690074e8168d2148e022b90471)

19 months agoFix merging library projects' dex from directories
Ivan Gavrilovic [Thu, 30 May 2019 09:46:11 +0000 (10:46 +0100)]
Fix merging library projects' dex from directories

Library project dex files can come from directories. E.g.
this is what happens when users apply Firebase Performance
plugin. This CL adds a check to make sure total number of
generated DEX files is below the threshold.

Also, theshold for merging library projects has been reduced to
500 instead of Integer.MAX_VALUE.

BUG: 132840182
Test: DexMergingTaskTest
Change-Id: I2561e4b4229862f9997873c88ddd21ecff41330e
(cherry picked from commit 4ba4224cecddfd0ba36a9359e60c06bc76f0a10f)

19 months agoSnap for 5617320 from 0c66ad192e7a068d8058b86bd287f21dfbe12705 to studio-3.5-release
android-build-team Robot [Thu, 30 May 2019 14:27:14 +0000 (14:27 +0000)]
Snap for 5617320 from 0c66ad192e7a068d8058b86bd287f21dfbe12705 to studio-3.5-release

Change-Id: I821ecb2f817ce420f0e8ccd341a8d1df9736cfb6

19 months agoHandle invalid % code in cxx logging string
Jomo Fisher [Tue, 30 Apr 2019 02:42:03 +0000 (19:42 -0700)]
Handle invalid % code in cxx logging string

Bug: 131271062
Test: Unittest
Change-Id: I42587f59282ce64fe3e6b25c2af640f6d6dc1498
(cherry picked from commit ad9dce86bd8c2267d39c3fe82aef5e22e2605f97)

19 months agomake filling ModelCache recursive-safe
Christophe Rhodes [Wed, 29 May 2019 13:16:17 +0000 (16:16 +0300)]
make filling ModelCache recursive-safe

In JDK 9+, updating a HashMap within computeIfAbsent (for example
by having the function fill in leaves of a tree, depth first) is
not allowed.

- Manually disentangle computing values and inserting them into
  the HashMap;
- Make ModelCache.computeIfAbsent() synchronized to defend against
  concurrent modification.

Test: ModelCacheTest.computeIfAbsentReentrant
Bug: 128919710
Change-Id: Ib7c49d6d00d8decfd7311415e61ea65ea733090b
Signed-off-by: Nikita Skvortsov <>
GitOrigin-RevId: 172c87b35bd18128445ec7a6a1c479e648775e18

19 months agoDo not pass classpath to D8 if min sdk version is N+
Ivan Gavrilovic [Thu, 23 May 2019 13:59:20 +0000 (14:59 +0100)]
Do not pass classpath to D8 if min sdk version is N+

D8 supports desugaring lambdas without classpath. This means
that we can avoid having bootclasspath/classpath as task inputs
when min sdk version is 24+, and we can also avoid passing these
to D8.

BUG: 133394180
Test: existing desugaring tests
Change-Id: If28cb74dac91a804d4294fb9c4e65cad49f1c69d
(cherry picked from commit a68bfc05c49eb6f07bbccc229ee189235e00d8ef)