aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* 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
* 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
* 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
* 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
* Declare QueryEnvironment#getBuildFiles to throw InterruptedExceptionGravatar shreyax2018-05-02
| | | | PiperOrigin-RevId: 195171169
* Reframe filegroup helper command to use Bazel.Gravatar ccalvarin2018-05-02
| | | | | RELNOTES: None. PiperOrigin-RevId: 195160545
* Expose stamp_manifest method to SkylarkGravatar asteinb2018-05-02
| | | | | RELNOTES: none PiperOrigin-RevId: 195151119
* Use the in-memory metadata in blaze as the source of truth for Fileset mappingsGravatar kush2018-05-02
| | | | | | | instead of the manifest files. RELNOTES: None PiperOrigin-RevId: 195149880
* Automatic code cleanup.Gravatar Googler2018-05-02
| | | | PiperOrigin-RevId: 195141891
* Harden Profiler slow tasks capping testGravatar michajlo2018-05-02
| | | | | | | | | | | Internally slow task aggregators are sharded by thread id, so we need to throw some threads at it to get an interesting test case, otherwise everything comes from one thread and lands in one shard and the shard combination logic isn't exercised. Of course it's possible that all the threads created in the test wind up landing in the same shard, let's just pretend that's not going to happen, since the odds are pretty low. PiperOrigin-RevId: 195141874
* Do not add flags from linking_mode_flags section when the toolchain definesGravatar hlopko2018-05-02
| | | | | | | | | | | | | | | | | | | corresponding features. Therefore when both linking_mode_flags { mode: DYNAMIC } and feature { name: "dynamic_linking_mode" } are provided, bazel will only take flags from the feature. The same applies to mode: STATIC and static_linkin_mode feature respectively. mode: MOSTLY_STATIC_LIBRARIES is covered under dynamic_linking_mode for action "c++-link-dynamic-library". mode: FULLY_STATIC is handled separately. This is needed to provide a way of incremental migration towards legacy-flags-free crosstool. This is encore of https://github.com/bazelbuild/bazel/commit/fd9a0958a989cac1f08f15ab5643728469f9824e. In that cl I failed to pass flags coming from naked 'linker_flag' fields into legacy_link_flags. RELNOTES: None. PiperOrigin-RevId: 195131604
* 'Direct jars' should be a subset of recursively collected jarsGravatar cushon2018-05-02
| | | | | | | | | | | java_common.create_provider currently does not add the provided direct jars to the set of transitively collected jars, which is inconsistent with how the two sets are used in the native rule implementations. The direct jars should be the subset of transitive jars that corresponds to direct deps, they are not supposed to be disjoint. RELNOTES: in the JavaInfo created by java_common.create_provider now includes both direct and transitive arguments in transitive_compile_time_jars and transitive_runtime_jars PiperOrigin-RevId: 195123581
* Add ArtifactFactory to the AutoRegistry blacklist.Gravatar mjhalupka2018-05-02
| | | | PiperOrigin-RevId: 195110169
* Expose processed manifest in AndroidLocalTestGravatar asteinb2018-05-02
| | | | | | | | | | | | | Currently, resource processing does some final work on the manifest (mostly around data binding). Actually expose this manifest rather than some intermediate manifest. The manifest is already being generated, so we don't expect newly requesting it to cause any problems. And since AndroidLocalTest doesn't do data binding, the two manifests are presumably identical. RELNOTES: none PiperOrigin-RevId: 195106492
* Add --incompatible_disallow_legacy_javainfo flag.Gravatar tomlu2018-05-02
| | | | | | | | When set to true, old-style JavaInfo provider construction methods become an error. RELNOTES[INC]: Add --incompatible_disallow_legacy_javainfo flag. PiperOrigin-RevId: 195104452
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-02
| | | | PiperOrigin-RevId: 195100670
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-02
| | | | PiperOrigin-RevId: 195100125
* RELNOTES: Save Blaze memory by not storing LinkerInput objects in ↵Gravatar Googler2018-05-02
| | | | | | LinkCommandLine PiperOrigin-RevId: 195099909
* Simplify config fragment creation.Gravatar gregce2018-05-02
| | | | | | | | | Remove all unnecessesary accesses to ConfigurationEnvironment and deprecate the accesses that actually need ConfigurationEnvironment. For review, check out ConfigurationFragmentFactory first. PiperOrigin-RevId: 195099768
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-02
| | | | PiperOrigin-RevId: 195094385
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-02
| | | | PiperOrigin-RevId: 195090893
* Fix CppConfiguration#isLLVMOptimizedFdo() method to work with --fdo_profileGravatar rosica2018-05-02
| | | | | | This method is used to determine whether a zipper executable should be loaded. Currently it only checks whether the file specified by --fdo_optimize is a zip file. As we cannot check whether --fdo_profile points to a zip file in this phase, we load it unconditionally in the case of --fdo_profile optimization. PiperOrigin-RevId: 195087124
* Change -lgcov with --coverageGravatar Irina Iancu2018-05-02
| | | | | | | | `-lgcov` is not supported on macOS. Closes #5138. PiperOrigin-RevId: 195081921
* Add JavaHostRuntimeAlias. Migrate JavaRuntimeAlias and JavaToolchainAlias to ↵Gravatar dbabkin2018-05-02
| | | | | | | | use base class CommonAliasRule. RELNOTES[NEW]: The java_host_runtime_alias rule is now implemented in Java. PiperOrigin-RevId: 195081632
* Update test code to support finding deferred param files.Gravatar tomlu2018-05-02
| | | | | RELNOTES: None PiperOrigin-RevId: 195072243
* remote: introduce --disk_cache_flagGravatar David Ostrovsky2018-05-02
| | | | | | | | | | | | | | | Consolidate the --experimental_local_disk_cache and --experimental_local_disk_cache_path flags into a single --disk_cache= flag. Also, create the cache directory if it doesn't exist. RELNOTES: We replaced the --experimental_local_disk_cache and --experimental_local_disk_cache_path flags into a single --disk_cache flag. Additionally, Bazel now tries to create the disk cache directory if it doesn't exist. Closes #5119. PiperOrigin-RevId: 195070550
* Fix tests to be compatible with deferred param files.Gravatar tomlu2018-05-02
| | | | | | | For the most part, this involves removing assertions that there are param files as inputs, and that the param file arguments appears in the arguments list. RELNOTES: None PiperOrigin-RevId: 195070407
* Migrate CcToolchainAlias to use base class CommonAliasRuleGravatar dbabkin2018-05-02
| | | | | RELNOTES:none PiperOrigin-RevId: 195070361
* Add CommonAliasRule.Gravatar dbabkin2018-05-02
| | | | | | | We need to have base class with logic related to alias rule. Based on this class other rule classes should be created, to avoid total code duplication. RELNOTES:none PiperOrigin-RevId: 195066568
* Remove unused methods.Gravatar tomlu2018-05-02
| | | | | RELNOTES: None PiperOrigin-RevId: 195055827
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-01
| | | | PiperOrigin-RevId: 195040539
* Migrate struct and Provider to the skylark build apiGravatar cparsons2018-05-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 195013604
* Migrate AbstractAction and SkylarkActionFactory to buildapiGravatar cparsons2018-05-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 195011200
* Break out the rc file tests from the more general option parsing tests.Gravatar ccalvarin2018-05-01
| | | | | | | | | This allows us to have clear file setup and tear down, so we can more carefully test cases where files are present but intentionally ignored due to flags. Also stop using re2 and rely on gmock's MatchesRegex instead, which is more concise. RELNOTES: None. PiperOrigin-RevId: 195007726