3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

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

GitOrigin-RevId: 55ca5d9a985bf64df0ef03093fb70ae5e8ce9a49

3 years 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

3 years 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)

3 years 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)

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

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

GitOrigin-RevId: 9720882fea107fe1b87e3e9e4765418f16a9ff95

3 years 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

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

GitOrigin-RevId: eaf882946dd281965c20276d40901a21fe7d1500

3 years 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

3 years 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

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

GitOrigin-RevId: c5fa33169830ac8cedf1014b83dd067c93800029

3 years 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

3 years 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

3 years 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

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

GitOrigin-RevId: 66fa6ce0c7e410cbc22012d0a9cf199847de15b0

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

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

GitOrigin-RevId: c662179ecd842a986f4e60dc8a0435aadd83af3c

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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)

3 years 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)

3 years 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

3 years 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

3 years 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

3 years 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)

3 years 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

3 years 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)

3 years 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)

3 years 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)

3 years 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

3 years 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

3 years 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)

3 years 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)

3 years 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

3 years 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)

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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

3 years 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)

3 years 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

3 years 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)

3 years 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

3 years 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

3 years 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

3 years 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)

3 years 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)

3 years 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)

3 years 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)

3 years 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)

3 years 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

3 years 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

3 years 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)

3 years 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)

3 years 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

4 years 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)

4 years 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)

4 years 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

4 years 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)

4 years 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)

4 years 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

4 years 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)

4 years 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)

4 years 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

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

GitOrigin-RevId: b37fd00bb3697492b143117446321f17a0fb0550

4 years 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)

4 years 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)

4 years 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)

4 years 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)

4 years 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

4 years 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)

4 years 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

4 years 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)