aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
Commit message (Collapse)AuthorAge
* Update ApkSubject to use the AndroidCompiledDataDeserializer for proto apks.Gravatar corysmith2018-04-19
| | | | | | | Minor fixes to the AndroidCompiledDataDeserializer RELNOTES: None PiperOrigin-RevId: 193535766
* Add the --pseudo-localize flag to resource compilation, gated by the ↵Gravatar corysmith2018-04-19
| | | | | | | | | --generatePseudoLocale flag. Cleaned up the CompileLIbraryResourcesAction to use the Aapt2ConfigOptions. RELNOTES: PiperOrigin-RevId: 193525850
* Automated rollback of commit 4465dae23de989f1452e93d0a88ac2a289103dd9.Gravatar buchgr2018-04-18
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** The no-cache tag is not respected (see b/77857812) and thus this breaks remote caching for all projects with symlink outputs. *** Original change description *** Only allow regular files and directories spawn outputs to be uploaded to a remote cache. The remote cache protocol only knows about regular files and directories. Currently, during action output upload, symlinks are resolved into regular files. This means cached "executions" of an action may have different output file types than the original execution, which can be a footgun. This CL bans symlinks from cachable spawn outputs and fixes http... *** PiperOrigin-RevId: 193338629
* Relax the assertion in Desugar for checking the calls to $closeResource(...).Gravatar cnsun2018-04-17
| | | | | | | | It is possible that $closeResource(...) is not used as the calls to it might be eliminated by some optimization tools, such as Proguard. RELNOTES: n/a. PiperOrigin-RevId: 193262552
* Ability to pass decoupled assets into monolithic resource processing actionGravatar asteinb2018-04-17
| | | | | | | | | - New flags to pass in asset deps - Pass assets into merging in the monolithic action - Field for asset deps in asset builder action RELNOTES: none PiperOrigin-RevId: 193211038
* Create asset merging actionGravatar asteinb2018-04-16
| | | | | | | | | | | | This action is a trimmed-down version of the resource merging action (no resources or manifests). Also, create a base class to collect boilerplate action code, and a new Exception to indicate that we should exit an action immediately (rather than throw and print the stack trace). RELNOTES: none PiperOrigin-RevId: 193054422
* Java,runfiles: add Runfiles.getEnvVars()Gravatar Laszlo Csomor2018-04-16
| | | | | | | | | | | | | | | | The new method lets Java programs export the RUNFILES_* environment variables for subprocesses, in case those subprocesses are other Bazel-built binaries that also need runfiles. See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: I05c0b84db357128bc15f21a167a0d92e8d17599c Closes #5016. Change-Id: I66ca5c44067a7353b8de180a64f20c8352e3c9ec PiperOrigin-RevId: 193013289
* Bash,runfiles: delete from //src/tools/runfilesGravatar Laszlo Csomor2018-04-13
| | | | | | | | | | | | I need to rewrite the Bash runfiles library and move it to //tools/bash/runfiles. See https://github.com/bazelbuild/bazel/issues/4460 Closes #5012. Change-Id: I422f04735dc05a0c4a7e80e1dd276d61583b5e88 PiperOrigin-RevId: 192754869
* Windows: java launcher no longer calls cmd.exeGravatar Laszlo Csomor2018-04-12
| | | | | | | | | See https://github.com/bazelbuild/bazel/issues/2190 Closes #5005. Change-Id: If665af264a23be0219c75ae087dd25db74d5e386 PiperOrigin-RevId: 192575414
* Warn when code uses FileType(), which is deprecated.Gravatar laurentlb2018-04-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 192472412
* python,runfiles: move to different packageGravatar Laszlo Csomor2018-04-10
| | | | | | | | | | | | | | | | | | | | Move the Python runfiles library from `@bazel_tools//tools/runfiles:py-runfiles` to `@bazel_tools//tools/python/runfiles:runfiles` Also rename the testdata runfiles.py to foo.py. This file was not a mock runfiles library, just a client file using the runfiles library that was also called runfiles.py Fixes https://github.com/bazelbuild/bazel/issues/4878 Change-Id: I874b230c93679d4454ac91e816932c8272ecc5c7 Closes #4981. Change-Id: I908e0ab7ec61225e82f70793b1a05432e7f0b07e PiperOrigin-RevId: 192256481
* Remove some deprecated resources flags.Gravatar ajmichael2018-04-04
| | | | | RELNOTES: None PiperOrigin-RevId: 191624839
* Automated rollback of commit e8bed799d59526541afa2a0e9ef5d4c49e3ba390.Gravatar corysmith2018-04-03
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling forward with improved handling and testing for Styleables, and correct package management. *** Original change description *** Automated rollback of commit a76f7db51a90cc2e35c1d66782056c310729eef0. *** Reason for rollback *** Breaks Kix. *** Original change description *** Modify the .flat decompilation to account for multiple configurations by converting the aapt2 proto ConfigValue to a FolderConfiguration. Adds new aapt2 compiled deserialization test. RELNOTES: None PiperOrigin-RevId: 191444658
* Create proguard.txt in android_library AAR output.Gravatar ajmichael2018-04-02
| | | | | | | | | The proguard.txt is the concatenation of the proguard_specs on the android_library rule itself. Note that it does not include transitively defined proguard_specs. Fixes https://github.com/bazelbuild/bazel/issues/4467 RELNOTES: android_library AAR output now contains proguard.txt PiperOrigin-RevId: 191302610
* build and test KeepScanner tool open-sourceGravatar kmb2018-03-30
| | | | PiperOrigin-RevId: 191159996
* Automated rollback of commit a76f7db51a90cc2e35c1d66782056c310729eef0.Gravatar corysmith2018-03-30
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks Kix. *** Original change description *** Modify the .flat decompilation to account for multiple configurations by converting the aapt2 proto ConfigValue to a FolderConfiguration. Adds new aapt2 compiled deserialization test. RELNOTES: None PiperOrigin-RevId: 191058952
* add singlejar variant to bazel that includes Android desugar dependency checkingGravatar kmb2018-03-29
| | | | PiperOrigin-RevId: 190999682
* Modify the .flat decompilation to account for multiple configurations by ↵Gravatar corysmith2018-03-29
| | | | | | | | | converting the aapt2 proto ConfigValue to a FolderConfiguration. Adds new aapt2 compiled deserialization test. RELNOTES: None PiperOrigin-RevId: 190976708
* Fix unused variable warnings from clang.Gravatar Austin Schuh2018-03-28
| | | | | | | | This was preventing ijar and singlejar from building when included in @bazel_tools in our repo. Change-Id: I1553e4f3615965cb997579e7d277fb2a08f9b91b PiperOrigin-RevId: 190840090
* In singlejar runs with --check_desugar_deps, error out when encountering ↵Gravatar kmb2018-03-27
| | | | | | | | j$.** files. RELNOTES: None. PiperOrigin-RevId: 190667956
* Only allow regular files and directories spawn outputs to be uploaded to a ↵Gravatar Benjamin Peterson2018-03-27
| | | | | | | | | | | | | | | | | | | | remote cache. The remote cache protocol only knows about regular files and directories. Currently, during action output upload, symlinks are resolved into regular files. This means cached "executions" of an action may have different output file types than the original execution, which can be a footgun. This CL bans symlinks from cachable spawn outputs and fixes https://github.com/bazelbuild/bazel/issues/4840. The interface of SpawnCache.CacheHandle.store is refactored: 1. The outputs parameter is removed, since that can be retrieved from the underlying Spawn. 2. It can now throw ExecException in order to fail actions. Closes #4902. Change-Id: I0d1d94d48779b970bb5d0840c66a14c189ab0091 PiperOrigin-RevId: 190608852
* stub simple core library bridge methods that only differ in return typeGravatar kmb2018-03-26
| | | | | | RELNOTES: None. PiperOrigin-RevId: 190559240
* Enable params files for DexMapper.Gravatar ahumesky2018-03-26
| | | | | RELNOTES: None PiperOrigin-RevId: 190516662
* Add dependency on googletest, so we can use gmock along with gtest.Gravatar ccalvarin2018-03-23
| | | | | | | third_party/gtest can go away after this. RELNOTES: None. PiperOrigin-RevId: 190221581
* Refactor and cleanup the sandboxing code.Gravatar Philipp Wollermann2018-03-23
| | | | | | | | | | | | | - Remove Optional<> where it's not needed. It's nice for return values, but IMHO it was overused in this code (e.g. Optional<List<X>> is an anti-pattern, as the list itself can already signal that it is empty). - Use Bazel's own Path class when dealing with paths, not String or java.io.File. - Move LinuxSandboxUtil into the "sandbox" package. - Remove dead code and unused fields. - Migrate deprecated VFS method calls to their replacements. - Fix a bug in ExecutionStatistics where a FileInputStream was not closed. Closes #4868. PiperOrigin-RevId: 190217476
* Detect main dex list entries that will be missingGravatar kmb2018-03-22
| | | | | | RELNOTES: None. PiperOrigin-RevId: 190154101
* Make ManifestMergerAction able to not take a primary manifestGravatar asteinb2018-03-22
| | | | | | | | | This is the only difference in action implementation required for the new Skylark Android Data API design. Even if rules have resources or assets, after this API is adopted, they will no longer have to specify a primary manifest. Instead, a dummy manifest will be generated (either to merge with dependency manifests, or for use by IDEs if there are no dependency manifests). Support this in the ManifestMergerAction by supporting not having a --manifest value passed. RELNOTES: None PiperOrigin-RevId: 190095623
* Skylint check for returning old-style providers.Gravatar laurentlb2018-03-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 190071755
* Make android tools stop accepting --annotationJar.Gravatar ajmichael2018-03-22
| | | | | | | Bazel stopped passing it in https://github.com/bazelbuild/bazel/commit/1a6ca6f47aef36d56b5cb2f9da114af75dde583d. RELNOTES: None PiperOrigin-RevId: 190064697
* A tiny binary to print all rules in a package, after BUILD macro expansion.Gravatar carmi2018-03-21
| | | | | RELNOTES: None PiperOrigin-RevId: 189973158
* Automated rollback of commit 8a5a0a3ed1e19768b6ee024189307bb4ac27460d.Gravatar laszlocsomor2018-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** breaks building //src:bazel *** Original change description *** runfiles,C++: move to //tools/cpp/runfiles Move the C++ runfiles library to the location of the rest of the C++ tools. Also change the C++ namespace to reflect the directory hierarchy. We have not yet announced nor released the C++ runfiles library so these refactorings are fine. See https://github.com/bazelbuild/bazel/issues/4460 Closes #4873. PiperOrigin-RevId: 189883066
* runfiles,C++: move to //tools/cpp/runfilesGravatar Laszlo Csomor2018-03-21
| | | | | | | | | | | | | | | | | | Move the C++ runfiles library to the location of the rest of the C++ tools. Also change the C++ namespace to reflect the directory hierarchy. We have not yet announced nor released the C++ runfiles library so these refactorings are fine. See https://github.com/bazelbuild/bazel/issues/4460 Closes #4873. Change-Id: I1732ef1eaff880cae05b7d218a3b1c0461a6b029 PiperOrigin-RevId: 189874201
* Have the Android R class generators add the target label to the class jar.Gravatar tomlu2018-03-20
| | | | | | | This re-enables support for add_deps. RELNOTES: None PiperOrigin-RevId: 189737607
* runfiles,C++: add a Runfiles* factory methodGravatar Laszlo Csomor2018-03-19
| | | | | | | | | | | | | | | | Implement Runfiles::Create method, which inspects the RUNFILES_* envvars as well as the availability of a runfiles manifest or -directory near argv[0], and creates a Runfiles* object based on that. Also add documentation and usage examples. Subsequent commit will add integration tests. See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: I2aa433d460826999e698597205ae7663b0e84dd3 PiperOrigin-RevId: 189555342
* Reflect core library moves in super calls, even in default method stubs. ↵Gravatar kmb2018-03-16
| | | | | | | | Always generate default method stubs for emulated methods. RELNOTES: None. PiperOrigin-RevId: 189423933
* Propagating remote results, including stdout/err, to Bazel on execution ↵Gravatar olaola2018-03-16
| | | | | | | | | timeouts. The refactoring to have an Exception that contains partial results will also be used in the next CL, in order to propagate and save remote server logs. RELNOTES: None PiperOrigin-RevId: 189344465
* Android tools: remove mtime-modificationsGravatar Laszlo Csomor2018-03-15
| | | | | | | | | | | | | | | | | | | | | | | | The Android tools no longer modify output file mtimes in hopes of achievening better action cache hits. Modifying the mtimes was confusing Bazel and causing correctness bugs. Modifying the mtimes is unnecessary because Bazel is smart about picking up filesystem changes and observes more signals than just the mtime, though as the corresponding bug shows it's sadly not bullet-proof. Fixes https://github.com/bazelbuild/bazel/issues/4734 Change-Id: I4aa8abf29486841ba8133f927e2816d7f85881fe Closes #4848. Change-Id: I0615fae1f20d786771d742705ab4a6ddf7f2306e PiperOrigin-RevId: 189183742
* Remove unused files.Gravatar kaipi2018-03-14
| | | | PiperOrigin-RevId: 189023695
* Make KeepScanner tool search classpath for nearest definition of each member ↵Gravatar kmb2018-03-12
| | | | | | | | | reference, instead of potentially referring to a subtype. Refactor desugar's class loading machinery and related code into a separate package for easier reuse in this tool. RELNOTES: None. PiperOrigin-RevId: 188825305
* Minor fixes to KeepScanner tool:Gravatar kmb2018-03-12
| | | | | | | | - use Guava to read zip entries - Fix keep rules emitted for constructors RELNOTES: None. PiperOrigin-RevId: 188781547
* Support custom implementations of emulated core interface methodsGravatar kmb2018-03-12
| | | | | | RELNOTES: None. PiperOrigin-RevId: 188760099
* Internal changeGravatar Laszlo Csomor2018-03-09
| | | | PiperOrigin-RevId: 188459395
* runfiles,py,java: rlocation accepts absolute pathGravatar Laszlo Csomor2018-03-09
| | | | | | | | | | | | | | | | | | | | | The rlocation functions in the Python and Java runfiles libraries (under @bazel_tools//tools/runfiles) now consistently return the argument itself if it is an absolute path. If the argument is a driveless absolute Windows path (e.g. "\\windows\\system32") then rlocation reports an error. See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: I80474f7cc4736a571bf113438a916f71c36a344d Closes #4806. Change-Id: I80474f7cc4736a571bf113438a916f71c36a344d PiperOrigin-RevId: 188453982
* Skylint: check for PACKAGE_NAME, REPOSITORY_NAME, and ctx.outputs.executableGravatar laurentlb2018-03-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 188225156
* Skylint: Warn for the '/' operator (instead of '//').Gravatar laurentlb2018-03-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 188217409
* Don't check contents of conflicting compiled resourcesGravatar asteinb2018-03-07
| | | | | | | | Until we properly support checking the contents of these files, don't try to do so. RELNOTES: none PiperOrigin-RevId: 188192286
* Filter out non-.flat files while linking.Gravatar corysmith2018-03-06
| | | | | RELNOTES: None PiperOrigin-RevId: 188121571
* remote: Add interceptor for logging gRPC calls during remote execution/cachingGravatar Googler2018-03-05
| | | | | | | | | | This provides a io.grpc.ClientInterceptor implementation that can be used to log gRPC call information. The interceptor can select a logging handler to use based on the gRPC method being called (Watch, Execute, Write, etc) to build a LogEntry, which can then be logged after the call has finished. Unit tests for the interceptor are included. In this change, the interceptor is never invoked, nor are there any handlers implemented for any gRPC methods. The interceptor also never tries to log any entries. To avoid circular dependency issues (Remote library will depend on logger which depends on remote library for utils), I've factored out the utility classes from the remote library into their own directory/package as part of this change. PiperOrigin-RevId: 187926516
* runfiles,C++: create envvar list for subprocessesGravatar Laszlo Csomor2018-03-05
| | | | | | | | | | | | | | | | Implement Runfiles::EnvVars so it's now possible to propagate runfiles to subprocesses via environment variables (RUNFILES_MANIFEST_FILE and RUNFILES_DIR). Subsequent commits will add more feataures: - automatic Runfiles creation based on argv[0] and the envvars of this process See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: If9a37b1be13b9cbacf21a496305d60444fd660b2 PiperOrigin-RevId: 187858830
* emulate dynamic dispatch of emulated default interface methodsGravatar kmb2018-03-02
| | | | | | RELNOTES: None. PiperOrigin-RevId: 187671513