aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Skylark debugging proto: add a 'pause thread' request/response.Gravatar Googler2018-05-07
| | | | | | | To handle a common debugging workflow where you want to pause execution of one/all threads. PiperOrigin-RevId: 195657472
* Migrate almost all Skylark global modules to skylarkbuildapiGravatar cparsons2018-05-07
| | | | | | | There are still a few global @SkylarkSignature-annotated top-level objects that need to be migrated in SkylarkRuleClassFunctions, but this migrates everything else. RELNOTES: None. PiperOrigin-RevId: 195652038
* More legacy fileset deletions. This had become dead code with Legacy fileset ↵Gravatar kush2018-05-07
| | | | | | | removal, but for the test. RELNOTES: None PiperOrigin-RevId: 195651521
* Relax requirements of skylark-exposed configuration fragmentsGravatar cparsons2018-05-07
| | | | | | | Since configuration fragments will extend from build API classes, @SkylarkConfigurationField no longer needs to annotate a method defined on a @SkylarkModule class. Ideally, we would ensure that a configuration fragment with a @SkylarkConfigurationField method implements an interface with @SkylarkModule, but this seems impossible to perform at the level of an annotation processor. RELNOTES: None. PiperOrigin-RevId: 195651344
* remote/caching: improve error messages for remote cachingGravatar Jakob Buchgraber2018-05-07
| | | | | | | | Only the last commit needs to be reviewed, as it's rebased on https://github.com/bazelbuild/bazel/pull/5101 Closes #5117. PiperOrigin-RevId: 195649921
* Sort entries by segment when building a parent node to prevent unordered ↵Gravatar James Judd2018-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directory structures. When building a parent node from action inputs, the paths to the files are sorted. These paths are then broken down into segments and a tree structure is created from the segments. Problem is, the segments at each level of the tree structure are not sorted before they are added to the parent node. This can result in an unordered directory tree. For example, the sort order of this list of files ``` /foo/bar-client/bar-client_ijar.jar /foo/bar/bar_ijar.jar ``` is maintained when it becomes a tree structure ``` foo -> bar-client -> bar-client_ijar.jar bar bar_ijar.jar ``` which is out of order. Resolves: #5109 Closes #5110. PiperOrigin-RevId: 195649710
* More detach context that was attachedGravatar Googler2018-05-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 195586974
* Emit jdeps.proto when checking the dependencies of aar_import targets.Gravatar cnsun2018-05-04
| | | | | RELNOTES: none. PiperOrigin-RevId: 195497740
* Automatic code cleanup.Gravatar Googler2018-05-04
| | | | PiperOrigin-RevId: 195486836
* Always detach context that was attachedGravatar Googler2018-05-04
| | | | | RELNOTES: None. PiperOrigin-RevId: 195486038
* Migrate j2objc to only support java_proto_library.Gravatar tomlu2018-05-04
| | | | | | | | | Mostly this is removing a needless restriction on proto_library to have java_api_version and j2objc_api_version set. The rest was already working. Tons of tests had to be updated. RELNOTES: None PiperOrigin-RevId: 195450685
* Delete the FilesetActionContext and its ImplementationGravatar kush2018-05-04
| | | | | RELNOTES: None PiperOrigin-RevId: 195428899
* Add a module collecting the results of repository rulesGravatar Klaus Aehlig2018-05-04
| | | | | | | | | | | We allow repository rules to return a reproducible version of themselves, or a list of fully reproducible rules they expand to. Add a module collecting all those answers, logging them at each invocation, if requested; this collection can also be used by the upcoming 'sync' command to generate a WORKSPACE.resolved file. Change-Id: Iac1358de1b74633810d300ba2bf45bba8b3992dc PiperOrigin-RevId: 195427096
* Move CcToolchainFeatures.FeatureSelection to a separate ↵Gravatar rosica2018-05-04
| | | | | | | CcToolchainFeatureSelection class RELNOTES: None. PiperOrigin-RevId: 195425336
* Kill Legacy Fileset implementation.Gravatar kush2018-05-04
| | | | | RELNOTES: None PiperOrigin-RevId: 195422399
* Skylark debugging proto changes.Gravatar Googler2018-05-04
| | | | | | | | | | | - add 'start debugging' request/response messages. The debug server will block until this request is received, allowing the client to perform initial setup (e.g. setting breakpoints) - support conditional breakpoints - add a column index to the Location message - rename 'line number' to 'line index', and specify that it's 0-based PiperOrigin-RevId: 195420363
* Some fixup for R.class filesGravatar asteinb2018-05-04
| | | | | | | | | | | | Expose R.class file in AndroidResourcesInfo, to allow Java compilation. Include documentation that the R.class should not be used in other targets. Actually generate the R.class file in the case of an android_library with no manifest, resources, or assets, rather than compiling it from the R.java RELNOTES: none PiperOrigin-RevId: 195419781
* Automated rollback of commit ecb30676bdd7f1783afb3886e57caa9d6b1b9aee.Gravatar hlopko2018-05-04
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks a few thousands targets *** Original change description *** Remove fully static linking part of ctx.fragments.cpp.fully_static_link_options Since we always pass true as argument (meaning it's for dynamic library), we don't need the part for executable. And we don't want more users of this method, therefore removing. RELNOTES: None. PiperOrigin-RevId: 195411765
* docs: rewrite Windows install and bootstrap guideGravatar Laszlo Csomor2018-05-04
| | | | | | | | | | | | | | Simplify the installation and bootstrapping instruction for Windows. Fixes https://github.com/bazelbuild/bazel/issues/4784 Change-Id: I564cd6136ac5b2f0661665765b9bb488e23fe6b0 Closes #5152. Change-Id: I564cd6136ac5b2f0661665765b9bb488e23fe6b0 PiperOrigin-RevId: 195382164
* Do not spawn local actions when available memory is too lowGravatar Josh Pieper2018-05-04
| | | | | | | | | | | | This effectively subsumes all existing memory estimation, as it no longer matters too much how much memory is assigned to each action. WIP: This is a hack, and if it goes in, should almost certainly be hidden behind a configuration option. Closes #4938. PiperOrigin-RevId: 195378568
* Internal changeGravatar Googler2018-05-03
| | | | PiperOrigin-RevId: 195321054
* Use com.google.common.cache instead of MapMaker.Gravatar Googler2018-05-03
| | | | PiperOrigin-RevId: 195316047
* Extract Qualifiers class for reuse.Gravatar corysmith2018-05-03
| | | | | | | Also, introduce caching for duplicated qualifiers. RELNOTES:None PiperOrigin-RevId: 195313195
* Ensure Docgen iterates through module categories detemrinistically.Gravatar cparsons2018-05-03
| | | | | | | This prevents subsequent generations of documentation reordering categories RELNOTES: None. PiperOrigin-RevId: 195310737
* Methods for generating empty Android data providersGravatar asteinb2018-05-03
| | | | | RELNOTES: none PiperOrigin-RevId: 195296176
* Replace Rule field in TestsInSuiteKey with a Label. In TestsInSuiteFunction,Gravatar cpeyser2018-05-03
| | | | | | | | | request the Package for that Label, and in that way materialize the Rule. Rule instances (which have a reference back to their Package) should not be in SkyKeys, since they are large and slow down serialization. PiperOrigin-RevId: 195294804
* Serialization of NestedSet<NestedSet> with NestedSetCodecWithStore waits onGravatar cpeyser2018-05-03
| | | | | | backend writes for inner NestedSet serialization. PiperOrigin-RevId: 195294676
* Remove unsafe use of state in MavenDownloaderGravatar Robert Gay2018-05-03
| | | | | | | | | | Looks like migration from standalone MavenDownloader to one based on HttpDownloader kept state-setting, but made MavenDownloader a singleton, creating a race. I'm about 99% sure this fixes #5103. The bug is in the right place, and running the test case described in that issue 25 times in a loop produced no errors. Closes #5121. PiperOrigin-RevId: 195289232
* Move Aar generation code to dedicated Aar classGravatar asteinb2018-05-03
| | | | | | | | | This gets it out of the AndroidLibrary code. Everything ends up cleaner, plus it'll be easier to call into this code from a method exposed to Skylark (next review). RELNOTES: none PiperOrigin-RevId: 195289199
* Update recursive glob docs.Gravatar Googler2018-05-03
| | | | PiperOrigin-RevId: 195288040
* PiperOrigin-RevId: 195286334Gravatar eaftan2018-05-03
|
* Use ConcurrentHashMap directly instead of MapMaker.Gravatar Googler2018-05-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 195280015
* Consolidate fields and methods of recursive package providers into an ↵Gravatar juliexxia2018-05-03
| | | | | | abstract class. This is also helpful for the new recursive package provider I'll be adding to support recursive patterns in cquery. PiperOrigin-RevId: 195279920
* CppDebugPackageProvider is useful for more than just C++, so rename it.Gravatar Googler2018-05-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 195279335
* Remove fully static linking part of ctx.fragments.cpp.fully_static_link_optionsGravatar hlopko2018-05-03
| | | | | | | | | Since we always pass true as argument (meaning it's for dynamic library), we don't need the part for executable. And we don't want more users of this method, therefore removing. RELNOTES: None. PiperOrigin-RevId: 195276402
* Expose intial parts of resource merging to SkylarkGravatar asteinb2018-05-03
| | | | | RELNOTES: none PiperOrigin-RevId: 195274968
* Expose merge_assets method to skylarkGravatar asteinb2018-05-03
| | | | | RELNOTES: none PiperOrigin-RevId: 195266230
* Do not pass compilation context to compile build variablesGravatar hlopko2018-05-03
| | | | | | | | Since we want to expose creation of compile build variables to Skylark, it's better if we don't pass provider into the construction, but plain data. RELNOTES: None. PiperOrigin-RevId: 195265117
* Remove dead code from SpawnActionGravatar kush2018-05-03
| | | | | RELNOTES: None PiperOrigin-RevId: 195264146
* Allow banning symlink action outputs from being uploaded to a remote cache.Gravatar Benjamin Peterson2018-05-03
| | | | | | | | | | | | | | | | | | | This is mostly a roll-forward of 4465dae23de989f1452e93d0a88ac2a289103dd9, which was reverted by fa36d2f48965b127e8fd397348d16e991135bfb6. The main difference is that the new behavior is now gated behind the --noremote_allow_symlink_upload flag. https://docs.google.com/document/d/1gnOYszitgrLVet3sQk-TKGqIcpkkDsc6aw-izoo-d64 is a design proposal to support symlinks in the remote cache, which would render this change moot. I'd like to be able to prevent incorrect cache behavior until that change is implemented, though. This fixes https://github.com/bazelbuild/bazel/issues/4840 (again). Closes #5122. Change-Id: I2136cfe82c2e1a8a9f5856e12a37d42cabd0e299 PiperOrigin-RevId: 195261827
* Consolidating start/end lib archive expansion Take 3Gravatar Googler2018-05-03
| | | | | | | | Different places in the link logic were in charge of expanding start/end lib archives, causing discrepancies. This CL gets rid of the special iteration in Link.java and makes LibrariesToLinkCollecter solely responsible for mapping static libraries to their object files on the link command l... RELNOTES: Fixing start/end lib expansion for linking. There were many cases where archive files were still being used with toolchains that support start/end lib. This change consolidates the places that make that decision so they can be more consistent. PiperOrigin-RevId: 195258075
* Explicitly assign --buildroot in the rpmbuild invocationGravatar mmikitka2018-05-03
| | | | | | | | | | | | | | | Occasionally, I see the following error messages when running a pkg_rpm target: ` INFO: Analysed target //foo/deploy:pkgs (1 packages loaded). INFO: Found 1 target... INFO: From Executing genrule //foo/deploy:pkgs: error: cannot open Packages database in /home/mmikitka/.rpmdb ` This PR explicitly sets the --buildroot to address this error message. Closes #5102. PiperOrigin-RevId: 195254300
* Fix up newly discovered bugs in decoupled Android data processingGravatar asteinb2018-05-03
| | | | | | | | | | | | | | | | | | | | | | | | - Always generate a symbols file - the new resource processing pipeline likes knowing that this is non-null, and it shouldn't cost much extra to create. - A misleading method signature (which I made) led to me forgetting about Proguard artifacts. Properly propogate them into the ResourceApk object. - Don't get Aapt version directly from AndroidConfiguration - there's some additional logic in AndroidAaptVersion not exposed elsewhere - Split library tests that expect resources and assets to be processed together to have a new version where they're processed seperately. - Tests use ValidatedAndroidData interface rather than ResourceContainer object - Properly move some LocalTest magic around resource JAR out of the old pipeline only, as it should apply to both old and new pipelines. - Processing action defaults to empty resource and asset deps rather than null RELNOTES: none PiperOrigin-RevId: 195253161
* Thread legacy compile flags through CcToolchainProvider for compile build ↵Gravatar hlopko2018-05-03
| | | | | | | | | | variables This cl shuffles code around so that compile build variables don't require rule context and CppConfiguration. RELNOTES: None. PiperOrigin-RevId: 195249548
* Expose asset merging result in AndroidAssetsInfo to SkylarkGravatar asteinb2018-05-03
| | | | | | | | By default, in decoupled asset processing, merging will not be run. Expose an artifact so we can force validation as needed. RELNOTES: none PiperOrigin-RevId: 195248517
* Allow --worker_max_instances to take MnemonicName=value to specify max for ↵Gravatar Googler2018-05-03
| | | | | | | each named worker. RELNOTES: Allow --worker_max_instances to take MnemonicName=value to specify max for each worker. PiperOrigin-RevId: 195244295
* remote/docs: fix position in ToC and grammar mistakes.Gravatar buchgr2018-05-03
| | | | | RELNOTES: None PiperOrigin-RevId: 195240157
* Report what RemoteSpawnCache is doing.Gravatar Benjamin Peterson2018-05-03
| | | | | | | | | | | | | | | | Post ProgressStatus.CHECKING_CACHE if RemoteSpawnCache is checking the cache. The UI sees CHECKING_CACHE exactly the same as EXECUTING because no UIs currently have any special behavior for actions in cache-lookup state. This is still a UX improvement with --experimental_spawn_cache because EXECUTING is generally more correct than the old action state, which varies from harmless but unhelpful (no known state) to just wrong (C++ compile actions claimed they were doing include scanning during cache lookups). Closes #5130. Change-Id: I77421c3667c180875216f937fe0713f0e9415a7a PiperOrigin-RevId: 195233123
* In PackageLookupValue also track the repositoryGravatar Klaus Aehlig2018-05-03
| | | | | | | | ...to distinguish files with the same name that go through a repository symlink that has changed. Change-Id: I611c15ea5a48f4b797a725785165bf5a3aba387f PiperOrigin-RevId: 195226865
* Print more debugging info when xcode-locator fails.Gravatar philwo2018-05-03
| | | | | | It wasn't very helpful to print only stderr, considering that xcode-locator only ever prints to stdout... PiperOrigin-RevId: 195213838