aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* More runtime dependency artifact cleanupGravatar Liam Miller-Cushon2016-01-15
| | | | | -- MOS_MIGRATED_REVID=112273574
* Enable Aspects to specify their configuration fragment dependencies.Gravatar Michael Staib2016-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: This specification currently does not have any effect, but soon... In the default mode, when an aspect does not call any of the configuration fragment methods on its AspectDefinition.Builder, the old behavior will persist; aspects can only access fragments their associated rule has access to, and have no guarantee as to what those fragments are. This mode will become deprecated with a future CL. If an aspect does call a configuration fragment method, it will have a configuration fragment policy. In a future CL, this will mean it will be restricted to accessing only those fragments, but will be understood as requiring access to them for the purposes of dynamic configuration, even if the rule it is attached to or created by does not otherwise require them. Eventually, all aspects will be required to declare their configuration fragments this way. Skylark aspects may also declare configuration fragments as of this CL. Two new parameters are added to the aspect() function, fragments and host_fragments, mirroring the similar parameters for rules. If both of these parameters are empty or unspecified, the default mode is used, as with normal aspects. Also in this CL: * Minor javadoc fixes for AspectDefinition. * Additional tests for AspectDefinition. -- MOS_MIGRATED_REVID=112271713
* Fix documentation for some ios_test attributes that got lost in refactoring.Gravatar Peter Schmitt2016-01-15
| | | | | -- MOS_MIGRATED_REVID=112267385
* Adds support for invocation policy to the canonicalize-flags command.Gravatar Alex Humesky2016-01-15
| | | | | -- MOS_MIGRATED_REVID=112267123
* Fix documentation on cc_library includes attributeGravatar Kristina Chodorow2016-01-15
| | | | | | | Fixes #637 -- MOS_MIGRATED_REVID=112261246
* Libc top for the host should take its value only from --host_grte_top or the ↵Gravatar Googler2016-01-15
| | | | | | | | | host crosstool. RELNOTES[NEW]: --grte_top no longer also sets --host_grte_top in the absence of the latter -- MOS_MIGRATED_REVID=112258796
* Add native.rule(NAME), which returns the attributes of a previously defined ↵Gravatar Han-Wen Nienhuys2016-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | rule. Add native.rules(), which returns all previously defined rules. These primitives can be used to write Skylark extensions that aggregate over the contents of a BUILD file, eg. def instantiate_if_needed(name): n = name + "_wrapped" if not native.rule(n): py_test(name = n , ... ) def archive_cc_src_files(tag): all_src = [] for r in native.rules().values(): if tag in r["tags"] and r["kind"] == "cc_library": all_src.append(r["srcs"]) native.genrule(cmd = "zip $@ $^", srcs = all_src, outs = ["out.zip"]) RELNOTES: Support aggregation over existing rules in Skylark extensions through native.rules and native.rule. -- MOS_MIGRATED_REVID=112249050
* Refactor action output dumping to go through a single method.Gravatar Ulf Adams2016-01-15
| | | | | | | | | | | | | This is in preparation for moving the output dumping to the Reporter for two reasons: - we're currently relying on there being a Reporter which locks on itself; i.e., this code is tightly coupled with the Reporter code - the current Blaze output is confusing; we first print an info event, then the actual output, and then an error event - putting the Reporter in control allows us to fix that -- MOS_MIGRATED_REVID=112240684
* Add a method for getting the root of a rule workspace to the Label methodGravatar Damien Martin-Guillerez2016-01-15
| | | | | | | | This method is exposed to Skylark and will enable correct handling of protobuf skylark files. See #784 -- MOS_MIGRATED_REVID=112235357
* Don't refer to the bazel_tools repository for the iOS provisioning profileGravatar Damien Martin-Guillerez2016-01-15
| | | | | | | | | The iOS provisioning profile should be local to the developer / company. Fixes #780. -- MOS_MIGRATED_REVID=112229161
* Basic implementation for the build flag apple_bitcode, to propagate bitcode ↵Gravatar Chris Parsons2016-01-15
| | | | | | | | | | | build flags to clang based on a specified mode. This handles the very basic case of objc_* rule compilation which does not depend on non-objc targets. Until we support passing bitcode flags for cc compilation, such builds will be broken if bitcode is enabled (one may be able to get around this by propagating the appropriate bitcode flag to --copt, but we'll want to do this as part of the apple_bitcode flag). Additionally, we will want to use apple_bitcode to pass bitcode-enabling properties to generated xcode projects. -- MOS_MIGRATED_REVID=112192290
* ConfigurationFragmentPolicy: assume Skylark names, allow merging.Gravatar Michael Staib2016-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for allowing aspects to have their own configuration fragments specified, allow ConfigurationFragmentPolicy.Builder to merge with built policies more easily, setting up SetMultimaps in place of maps of sets. This changes how named (Skylark) fragments are declared in the RuleContext builder, hopefully to be a bit easier to write. In order to do this, make SkylarkModuleNameResolver the only name resolver in use (because it is the only name resolver which exists) so as to not worry about collisions of different name resolvers. This also changes isLegalConfigurationFragment's one-argument form to mean "legal in ANY configuration" rather than "legal in the target (NONE) configuration", as that is how it's used by TransitiveTargetFunction. Uses of it to mean the latter have been revised to be more explicit. Also in this CL: * refactor ConfigurationFragmentPolicy to enforce its contracts about which ConfigurationTransitions are legal * use containsEntry or containsValue rather than looking in get(key) or values() for the configuration fragment multimaps * add tests for ConfigurationFragmentPolicy * make SkylarkModuleNameResolver a static method -- MOS_MIGRATED_REVID=112191439
* Display parsing errors for WORKSPACE filesGravatar Kristina Chodorow2016-01-15
| | | | | | | | | | | | | Previously, for some types of errors, you'd just see "WORKSPACE file could not be parsed" if there was a syntax error (instead of what the syntax error was). Change-Id: Ia278cf23b79f8daba02917cdfb4cc515a87080b1 -- Change-Id: Ia278cf23b79f8daba02917cdfb4cc515a87080b1 Reviewed-on: https://github.com/bazelbuild/bazel/pull/774 MOS_MIGRATED_REVID=112190322
* Skyfunctions can now catch up to five exceptions.Gravatar John Field2016-01-15
| | | | | | | This is a prerequisite to making some changes to PackageFunction that require handling another exception. -- MOS_MIGRATED_REVID=112172100
* Stop filtering out targets not in the graph in SkyQueryEnvironment. Instead, ↵Gravatar Janak Ramakrishnan2016-01-15
| | | | | | | | | | | | | | just warn if a target turns out to not be present. This means that queries may return unexpected results. For instance, if "query" means "bazel query --order_output=no ", then here are the results of two queries: query --universe_scope=//foo/... //foo:output_file //foo:output_file query --universe_scope=//foo/... deps(//foo:output_file) WARNING: Targets not in graph [//foo:output_file generated_file] //foo:output_file -- MOS_MIGRATED_REVID=112163475
* Optimize PackageIdentifier hash code implementation, which has shown up in ↵Gravatar Eric Fellheimer2016-01-15
| | | | | | | some recent profiling. -- MOS_MIGRATED_REVID=112161558
* Better error message for attempted builds of statically linked binaries ↵Gravatar Cal Peyser2016-01-15
| | | | | | | targeting Apple platforms. -- MOS_MIGRATED_REVID=112152418
* Propogate BAZEL_VERBOSE_FAILURES and BAZEL_SUBCOMMANDS to the execution ↵Gravatar Cal Peyser2016-01-15
| | | | | | | environments of runtime tools. -- MOS_MIGRATED_REVID=112149571
* Add a few other Label.resolveRepositoryRelative() calls to make select() ↵Gravatar Lukacs Berki2016-01-15
| | | | | | | | | | | statements work in remote repositories. This work is somewhat sisyphean; the principled thing to do would be to just do this resolution when labels are parsed. Fixes #783. -- MOS_MIGRATED_REVID=112137996
* Remove some dead code.Gravatar Ulf Adams2016-01-14
| | | | | | | | | | | | The ConfiguredTargetFunction can only throw a NoSuch{Target,Package}Exception if it's run for a non-existent target. However, it will never request a CT for a non-existent target: all labels are run through DependencyResolver in order to determine the configuration transition, which requires loading the target. If it doesn't exist, the label is never returned from the DependencyResolver, and errors are swallowed (we rely on the loading phase to report the error). -- MOS_MIGRATED_REVID=112127012
* Require all PackageSpecification objects to implement an asString method to ↵Gravatar Janak Ramakrishnan2016-01-14
| | | | | | | avoid silly stack overflow when getting the object's hash code or string representation. -- MOS_MIGRATED_REVID=112085348
* Include the new 'catastrophe' field in EvaluationResult.mergeFrom().Gravatar Googler2016-01-14
| | | | | | | This is necessary for propagating the catastrophic exception so that it is available at the top level. -- MOS_MIGRATED_REVID=112083848
* Use AutoProfiler in SkyQueryEnvironment#init. Also augment the ↵Gravatar Nathan Harmata2016-01-14
| | | | | | | WalkableGraphFactory interface with a hook to inform the factory when the WalkableGraph is done being used. -- MOS_MIGRATED_REVID=112074284
* For native rule classes, (de)serialize only explicit attrsGravatar Mark Schaller2016-01-14
| | | | | | | | | | | Native rule classes can provide default values for rules after they're deserialized, so there isn't a need to serialize those default values. This doesn't apply yet to rules with Skylark-defined rule classes, due to the non-serializablity of Skylark rule classes. -- MOS_MIGRATED_REVID=112066930
* Store excluded subdirectories as PathFragment instead of String inside ↵Gravatar Janak Ramakrishnan2016-01-14
| | | | | | | | | TargetPatternKey, since that is what is needed by callers. Also, since the PathFragments come from packages, they are guaranteed to be well-formed, so the checks we were doing were unnecessary. -- MOS_MIGRATED_REVID=112059930
* Make package names in the package_group.packages attribute refer to the ↵Gravatar Lukacs Berki2016-01-13
| | | | | | | | | | | | | repository where the package group is. There is currently no way to refer to packages in other repositories and that doesn't seem to be useful, because visibility currently checks the repository name in the label and that can be changed in the main WORKSPACE file. If needed, it'd be pretty easy to implement, though. As a drive-by fix, made the parsing of the package name call into the same logic implemented in the cmdline package because code duplication is bad, mmmkay? Fixes #767. -- MOS_MIGRATED_REVID=112032508
* Use our java test runner in BazelGravatar Damien Martin-Guillerez2016-01-13
| | | | | | | | | RELNOTES[NEW]: A new java test runner that support XML output and test filtering is supported. It can be used by specifying --nolegacy_bazel_java_test or by speicifying the test_class attribute on a java_test. -- MOS_MIGRATED_REVID=112028955
* Make repository-local labels in visibility declarations actually be ↵Gravatar Lukacs Berki2016-01-13
| | | | | | | | | repository-local. Fixes #765. -- MOS_MIGRATED_REVID=112027627
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* cc_inc_library: Add CcSkylarkApiProvider infoGravatar Googler2016-01-13
| | | | | | | This will allow Skylark rules to interact nicely with cc_inc_library rules. -- MOS_MIGRATED_REVID=111969252
* Remove support for runtime deps artifactsGravatar Liam Miller-Cushon2016-01-13
| | | | | -- MOS_MIGRATED_REVID=111959966
* Fixing broken named anchors for common-attributes*.Gravatar Googler2016-01-13
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=111951279
* Fix links to docs for other rules, Bazel User Manual, Build Reference, and MakeGravatar David Chen2016-01-13
| | | | | | | Variables docs for remaining Bazel rule classes. -- MOS_MIGRATED_REVID=111947479
* Doc typo: avaliable -> availableGravatar Laurent Le Brun2016-01-13
| | | | | -- MOS_MIGRATED_REVID=111946969
* Simplifies passing the debug key to ApkBuilder.Gravatar Alex Humesky2016-01-12
| | | | | -- MOS_MIGRATED_REVID=111892954
* Adds ApkBuilder from the Android SDK to bazel's third_party with someGravatar Alex Humesky2016-01-11
| | | | | | | | | modifications to remove deprecation warnings, to create deterministic apks (removes timestamps), and to make calling ApkBuilder more convenient. RELNOTES: Timestamps within Android apks are removed to make apks deterministic. -- MOS_MIGRATED_REVID=111890659
* Fix broken links in all Java rule documentation.Gravatar David Chen2016-01-11
| | | | | -- MOS_MIGRATED_REVID=111869417
* Provide rule class name to aspects.Gravatar Dmitry Lomov2016-01-11
| | | | | -- MOS_MIGRATED_REVID=111866202
* Inside findTargetsBeneathDirectory(), invoke the callback with all targets ↵Gravatar Eric Fellheimer2016-01-11
| | | | | | | from the current package batch. -- MOS_MIGRATED_REVID=111858978
* Allow to filter attributes based on the rule of the attribute.Gravatar Miguel Alcon Pinto2016-01-11
| | | | | -- MOS_MIGRATED_REVID=111854804
* Allow overridding any rule in the WORKSPACE fileGravatar Kristina Chodorow2016-01-11
| | | | | | | ...instead of throwing an uncaught exception and printing a stack trace. Fixes #409. -- MOS_MIGRATED_REVID=111850179
* BuildView - untangle more of the methods that are only for ide info.Gravatar Ulf Adams2016-01-11
| | | | | | | | | | In particular, don't immediately call into the ForTesting functions; I need to refactor some code that is called from here, and the semantics when called from ide info should not change. Changes to semantics when called from tests are much less problematic - we can simply run all the tests. -- MOS_MIGRATED_REVID=111846384
* Add auth support for proxy downloadsGravatar Kristina Chodorow2016-01-11
| | | | | | | | | | | Should fix #587. RELNOTES: Support for downloading remote resources through proxies by setting HTTP_PROXY (or HTTPS_PROXY). -- Change-Id: I4ae18c4f1a9e911e538efd446323e279e9776eec Reviewed-on: https://github.com/bazelbuild/bazel/pull/759 MOS_MIGRATED_REVID=111708438
* Enable objc targets that produce bundles to specify multiple plist files ↵Gravatar Cal Peyser2016-01-11
| | | | | | | | | with the "infoplists" attribute. The plists are merged to produce the bundle's Info.plist. This attribute will live alongside the current "infoplist" attribute until the next Blaze release. -- MOS_MIGRATED_REVID=111705709
* When transforming labels into targets in SkyQueryEnvironment, stream the ↵Gravatar Janak Ramakrishnan2016-01-11
| | | | | | | | | result to a callback instead of returning it directly. This means that the targets a precomputed pattern resolves to can be processed incrementally. This is the sixth and hopefully final step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should improve performance for SkyQueryEnvironment for certain classes of large queries. -- MOS_MIGRATED_REVID=111697983
* Stream result of TargetPattern#eval to a callback instead of returning it ↵Gravatar Janak Ramakrishnan2016-01-11
| | | | | | | | | directly, and pass a Query callback in when resolving target patterns. This means that the targets a pattern resolves to can be processed incrementally. This is the fifth step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This should improve performance for SkyQueryEnvironment for certain classes of large queries. -- MOS_MIGRATED_REVID=111696713
* Adds the Android design support library as an Android dependency.Gravatar Jake Voytko2016-01-08
| | | | | | | | | | This library is a default dependency of some template projects used by Android Studio. -- Change-Id: I732939b81ccc9bc5756ae6ffa594f87efd459dbb Reviewed-on: https://bazel-review.googlesource.com/#/c/2611 MOS_MIGRATED_REVID=111677018
* Add the ability to customize the bazel client's exit code used when the ↵Gravatar Nathan Harmata2016-01-08
| | | | | | | bazel server exits abruptly. -- MOS_MIGRATED_REVID=111641619
* Rollback of commit e4133aab4db7cd640501d1113c259e8477006b6f.Gravatar Damien Martin-Guillerez2016-01-07
| | | | | | | | | | | | | | | | *** Reason for rollback *** Broke build of Bazel tests on ci.bazel.io See http://ci.bazel.io/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=ubuntu_15.10-x86_64/280/console Found using git bisect and /tmp/bazel-bin build --nobuild //src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace:workspace *** Original change description *** Factor implementation of bazel-specific cpp logic out of devtools/build/lib/BUILD into subpackage, to allow the objc implementation to extend that logic without a circular dependency. In particular, create a subpackage at lib/bazel/rules, and move relevant targets that were in lib/bazel down to the subpackage. -- MOS_MIGRATED_REVID=111632586
* Resolve target patterns on the fly in SkyQueryEnvironment. Cache only the ↵Gravatar Janak Ramakrishnan2016-01-07
| | | | | | | | | label sets that are precomputed in the graph. This is the fourth step in a series to allow processing large sets of targets in query target patterns via streaming batches rather than all at once. This may make SkyQueryEnvironment slower when evaluating queries with repeated target patterns, or many target patterns that would benefit from graph lookups that were batched across all patterns. But that is not currently a bottleneck we're concerned about. -- MOS_MIGRATED_REVID=111626483