aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Don't include absolute paths in blaze IDE artifactsGravatar Googler2016-02-15
| | | | | | | RELNOTES: Don't include absolute paths in blaze IDE artifacts -- MOS_MIGRATED_REVID=114550121
* Removed obsolete flags from j2objc always_on flag set.Gravatar Googler2016-02-15
| | | | | | | | These flags are either the default now or ignored by j2objc, so this is a clean-up CL. -- MOS_MIGRATED_REVID=114539226
* Remove deprecated fieldsGravatar Kristina Chodorow2016-02-15
| | | | | | | | | | | Starting some cleanup on generate_ws. RELNOTES[INC]: maven_jar no longer supports separate artifact_id, group_id, and verison fields. This information should be provided in the artifact field, instead. -- MOS_MIGRATED_REVID=114538437
* Rollback of commit 60434dae746ed61f025fdfd0464993fa6a0ff1d2.Gravatar Cal Peyser2016-02-15
| | | | | -- MOS_MIGRATED_REVID=114537166
* Windows: execute build-runfiles through shell.Gravatar Dmitry Lomov2016-02-12
| | | | | | | Needed for #276. -- MOS_MIGRATED_REVID=114529775
* Prevent load statements in remote repository's WORKSPACE file to breakGravatar Damien Martin-Guillerez2016-02-12
| | | | | | | | | | | | | | | If a load statements was present in a remote repository's WORKSPACE file, the parsing of the WORKSPACE file to get the workspace name will break the build because it tries to load the Skylark extension from the main repository. This change replace the parsing of the whole remote repository's WORKSPACE file by a parsing of only it first chunk (before the first load statement). This change also enforce that the workpace() function to be called only from the top of the WORKSPACE file. -- MOS_MIGRATED_REVID=114528640
* Add an experimental flag to enable the Skyframe-based loading phase runner.Gravatar Ulf Adams2016-02-12
| | | | | | | | | | | | | | Refactor the CommandEnvironment to no longer create a LoadingPhaseRunner eagerly. Unfortunately, that means we can't reuse the TargetPatternEvaluator either. Fortunately, the SkyframeTargetPatternEvaluator is a very lightweight class, which only contains the offset as state, so we just create a new instance whenever we need one. On the plus side, the LoadingPhaseRunner API is now stateless, and the QueryCommand no longer creates a unnecessary LoadingPhaseRunner instance. -- MOS_MIGRATED_REVID=114519731
* Clean up BaseJavaCompilationHelper a bit.Gravatar Ulf Adams2016-02-12
| | | | | | | | | | | - move constant to top of class - extract a method to get the ijar FilesToRunProvider - move some methods to JavaCompilationHelper that are only used from there - inline derivedArtifact, which only had a single call site - make the other derivedArtifact method private, since it's only used here -- MOS_MIGRATED_REVID=114519285
* Adds a build_file_content attribute to new_git_repository, new_http_archive, andGravatar Alex Humesky2016-02-12
| | | | | | | | | | | | | new_local_repository which allows the build file to be specified by a string directly in the rule rather than using a separate file. build_file and build_file_content are both optional, but one or the other must be specified. RELNOTES: build_file_content attribute added to new_git_repository, new_http_archive, and new_local_repository. -- MOS_MIGRATED_REVID=114490435
* Make IntVersion package-private, since it isn't used outside of Skyframe core.Gravatar Janak Ramakrishnan2016-02-12
| | | | | -- MOS_MIGRATED_REVID=114488935
* Support MOSTLY_STATIC with --build_test_dwp.Gravatar Googler2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114469301
* Style fix: rename some args which had unusual suffixesGravatar Chris Parsons2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114464409
* Rollback of commit a0eefb52f529b73c6cb92f0a762853646ea2eae6.Gravatar Googler2016-02-11
| | | | | | | | | | | | | *** Reason for rollback *** Rolling forward with the restored logic to avoid stat calls on injected Metadata. *** Original change description *** Automated [] rollback of commit df03e10f6552566982399b8779fe7bc7a17d75dc. -- MOS_MIGRATED_REVID=114447944
* Remove a bunch of dead code and unnecessary object creation.Gravatar Ulf Adams2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114442565
* Remove doc reference to deleted "obsolete" attribute.Gravatar Greg Estren2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114441410
* Expose some information about Java compilation to Skylark.Gravatar Dmitry Lomov2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114438050
* --Gravatar Cal Peyser2016-02-11
| | | | MOS_MIGRATED_REVID=114436999
* Publicize some ByteSink/ByteSource creators in FileSystemUtils.Gravatar Eric Fellheimer2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114434668
* Add support for java_imports to Skylark IDE info aspect.Gravatar Dmitry Lomov2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114434073
* Move -gsplit-dwarf before the target specific copts in the command line.Gravatar Manuel Klimek2016-02-11
| | | | | | | RELNOTES: Allow overriding -gsplit-dwarf from copts. -- MOS_MIGRATED_REVID=114432930
* Expose Java annotation processing information to Skylark.Gravatar Dmitry Lomov2016-02-11
| | | | | | | Also added some features to Skylark aspect. -- MOS_MIGRATED_REVID=114431594
* Make local_repository and new_local_repository work on Windows.Gravatar Lukacs Berki2016-02-11
| | | | | | | This makes it possible to compile //third_party/ijar with a bootstrapped Bazel on Windows in dslomov's tree. -- MOS_MIGRATED_REVID=114428109
* Allow propagation of execution requirements to the ctx.resolve_command ↵Gravatar Chris Parsons2016-02-11
| | | | | | | | | function. In the case of the requires-darwin tag, /bin/bash will be used instead of an alternative, which matches the current genrule implementation. -- MOS_MIGRATED_REVID=114360408
* Allow ParallelEvaluator to not store errors alongside values if nodes ↵Gravatar Janak Ramakrishnan2016-02-11
| | | | | | | recover from errors. In the case of a single keep_going build, with no subsequent nokeep_going builds, storing the errors is unnecessary. -- MOS_MIGRATED_REVID=114355846
* Make xcode project generation generate correct filenames for external reposGravatar Kristina Chodorow2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114350802
* Fix extra spacing and grammar in error message.Gravatar Julio Merino2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114344238
* Remove TransitivePackageLoader#getVisitedTargets, which was only used in ↵Gravatar Janak Ramakrishnan2016-02-11
| | | | | | | tests. Replace it in tests with direct Skyframe graph lookups. -- MOS_MIGRATED_REVID=114335937
* Rollback of commit df03e10f6552566982399b8779fe7bc7a17d75dc.Gravatar Michajlo Matijkiw2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114329043
* Forbid overloading of a repository outside of the first part of the ↵Gravatar Damien Martin-Guillerez2016-02-11
| | | | | | | | | workspace file Fixes #824. -- MOS_MIGRATED_REVID=114326952
* Fix bug in TargetPatternList.equals, which was ignoring the offset.Gravatar Ulf Adams2016-02-11
| | | | | -- MOS_MIGRATED_REVID=114326701
* Implement TODO from: ↵Gravatar Greg Estren2016-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/blo[]fbbd6a32b95ba746f09dae1eaeaccf675cd5b3/src/main/java/com/google/devtools/build/lib/packages/Attribute.java#L1045 This allows the default value computation for latebound attributes to consider the values of configurable attributes. This is most directly useful for user-definable Skylark defaults, which have full access to the values of all non-latebound attributes. Without this change, this kind of scenario crashes Bazel. For example: ------------------ select_rules.bzl: ------------------ def _impl(ctx): ctx.file_action( output=ctx.outputs.out_file, content=ctx.attr.string_value, ) return struct() # Bug does not manifest without using this as a default. def _derived_value(attrs, _): return Label("//some:dep") selector_rule = rule( implementation=_impl, attrs={ "string_value": attr.string(default=""), "out_file": attr.output(), "_derived": attr.label(default=_derived_value), }, output_to_genfiles=True, ) def selector_macro(name, out_file="", string_value=""): # This will fail with selectors. selector_rule( name="%s_skylark" % name, string_value=string_value, out_file=out_file + ".skylark", ) # This does not. native.genrule( name="%s_genrule" % name, cmd="echo '" + string_value + "' > $@", outs=[out_file + ".genrule"], ) native.filegroup( name=name, srcs=[":%s_genrule" % name, "%s_skylark" % name], ) ------------------ BUILD.bzl: ------------------ config_setting( name = "selector", values = {"compilation_mode": "opt"}, ) selector_macro( name = "this_rule", string_value = """soup? """ + select({ ":selector": "no, thank you.", "//conditions:default": "yes, please!!", }), out_file = "this_rule.txt", ) -- MOS_MIGRATED_REVID=114326474
* Implement distributed caching for BazelGravatar Alpha Lam2016-02-10
| | | | | | | | | | | | | | | | | | | | This patch implements distributed caching for Bazel using Hazelcast. Hazelcast is used as a key value store that stores content of files indexed by the digest of the file. The cache also stores the list of files for an action. The key in this case is the digest from the key of the action and the list of files. In this change I also added the interface for remote execution. The implementation will be added in a subsequent patch. This change is only the first in a series of changes related to distributed caching and remote execution. I plan to revise the APIs and implementation in subsequent changes. -- Change-Id: I569285d6149a4e9f8ba2362682c07a9f1e1943b7 Reviewed-on: https://bazel-review.googlesource.com/#/c/2760/ MOS_MIGRATED_REVID=114325038
* Allow load of external label in the WORKSPACE file.Gravatar Damien Martin-Guillerez2016-02-10
| | | | | | | | | | | | | | | | | Issue #824 Step 5. The only thing left to resolve issue #824 are correct handling of the following cases: - Forbidding overloading of a repository outside of the first part of the workspace file (or it will leads to incorrectness issue and the only use-case is the redefinition of the bazel_tools repository). - Better error reporting when trying to refer to a non-existent repository from the workspace file, for now it will print a SkyFrame cycle exception. -- MOS_MIGRATED_REVID=114316464
* Add imports attribute to Bazel native Python rules to allow adding ↵Gravatar David Chen2016-02-10
| | | | | | | | | | | directories to PYTHONPATH. Fixes #702 RELNOTES: Add imports attribute to native Python rules. -- MOS_MIGRATED_REVID=114314430
* Make ExternalFilesHelper depends on the repository rule and not on the ↵Gravatar Damien Martin-Guillerez2016-02-10
| | | | | | | | | parsed Workspace. Issue #824 Step 4. -- MOS_MIGRATED_REVID=114314036
* Make implicit attribute label lookup consistent.Gravatar Brian Silverman2016-02-10
| | | | | | | | | | | | | | | Previously, as of 0c8049f5fc866d785dd83769fa6c38ecf771ba96, these labels were treated as relative to the repository of the rule in some places but not others. From the other commit's message: They [implicit attribute defaults] now all point to @bazel_tools anyway, so there is no need [to special-case them]. -- Change-Id: If337eb2579ae613ba09cab0e0c927691922c0a39 Reviewed-on: https://bazel-review.googlesource.com/#/c/2783/ MOS_MIGRATED_REVID=114313341
* Fix SkyframeLoadingPhaseRunner posting of EventBus events.Gravatar Ulf Adams2016-02-10
| | | | | | | | The TargetParsingCompleteEvent was posting the post-expansion targets, and the LoadingPhaseCompleteEvent was missing the test-suite targets. -- MOS_MIGRATED_REVID=114312273
* SkyframeLoadingPhaseRunner: implement --compile_one_dependency.Gravatar Ulf Adams2016-02-10
| | | | | | | | Also fix a bug in the LoadingPhaseRunner - we weren't printing an error for failed targets, duh! -- MOS_MIGRATED_REVID=114310591
* Fix callback handling in the Skyframe-based target pattern eval.Gravatar Ulf Adams2016-02-10
| | | | | | | | Add a unit test - there is test coverage for this in RunCommandTest, but this runs much faster. -- MOS_MIGRATED_REVID=114302062
* Temporary fix for xcode project generationGravatar Kristina Chodorow2016-02-10
| | | | | | | | | | | The xcodegen script does not yet handle looking for files under @bazel_tools correctly. This change will let xcode find these targets under the workspace root, instead of the @bazel_tools repository. Note that this means that the package path must include third_party/java/j2objc if it does not exist in your workspace. -- MOS_MIGRATED_REVID=114268000
* Add instrumented file provider support to Skylark rules.Gravatar Googler2016-02-10
| | | | | | | RELNOTES: Add instrumented file provider support to Skylark rules. -- MOS_MIGRATED_REVID=114255963
* Don't require 'objcopy' to exist when building on MacOS.Gravatar Googler2016-02-10
| | | | | | | RELNOTES[NEW]: cpp configuration does not require objcopy -- MOS_MIGRATED_REVID=114253655
* Make unpredictable action inputs and outputs available to Actions.Gravatar Michael Thvedt2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114249806
* Split the execution of the WORKSPACE file after each load statementGravatar Damien Martin-Guillerez2016-02-10
| | | | | | | | | | | | This is the main step toward supporting load statement of remote repository in the WORKSPACE file (bug #824). Load statement that refers to a remote repository will depend on the previous fragment of the workspace file. Issue #824 Step 3. -- MOS_MIGRATED_REVID=114237027
* Skyframe-based loading phase runner: report errors if a package is in error.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | | | | | This is a bit odd - the legacy loading phase runner reports a loading error, but no target pattern error in keep_going mode, even though it's clearly an error in the referenced target itself, rather than in its transitive closure. This happens because the target pattern eval swallows such errors in keep_going mode, and doesn't even report the error. I tried changing that, but it's a fairly large refactoring, and that code path is dead if we switch to the new one. In the Skyframe-based implementation, both keep_going and nokeep_going paths now report a target pattern error. (Note that the new code can never report a loading error, because it doesn't perform transitive loading.) The corresponding test is moved from SkyframeLoadingAndAnalysisTest to LoadingPhaseRunnerTest - we don't need any integration test setup for that. -- MOS_MIGRATED_REVID=114236897
* Add JavaSkylarkApiProvider to all Java rules.Gravatar Dmitry Lomov2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114232294
* Fix NPE in TestsInSuiteFunction.Gravatar Ulf Adams2016-02-10
| | | | | | | | Note that this only affects the new Skyframe-based implementation of the LoadingPhaseRunner, which isn't live yet. -- MOS_MIGRATED_REVID=114230017
* Adds a build_tools_version attribute to the android_sdk rule so that the androidGravatar Alex Humesky2016-02-10
| | | | | | | build tools version can be used to determine which features to use. -- MOS_MIGRATED_REVID=114225514
* Properly report loading errors during configuration creation.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | This only applies to interleaved loading and analysis - the production code is fine. Add tests for the RedirectChaser, the fdoOptimize code path, the XcodeConfig, and the Jvm loader. Unfortunately, the configuration factory we internally create by default contains a mock Jvm loader implementation. Since that is one Yak too many right now, I'm adding a temporary method to the AnalysisMock. I added the tests to BuildViewTest for now; technically, they ought to go into the language-specific test cases, but that would require more refactoring as those don't currently run with interleaved loading and analysis. -- MOS_MIGRATED_REVID=114221476
* Remove unused class SingleJarBuilder.Gravatar Philipp Wollermann2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114217250