aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Automated [] rollback of commit 857cda2c45a5cc68c3fa398311c48c571a64915d and ↵Gravatar Damien Martin-Guillerez2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | commit 790d2f6009d47fe92cf0cd92a1473bbf0141f32e. *** Reason for rollback *** Broke non-Bazel projects on ci.bazel.io Fixes #1168 *** Original change description *** Move the runfiles for external repositories to under the x.runfiles/ directory This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles.... *** -- MOS_MIGRATED_REVID=120535721
* Remove all internal calls to FileProvider.getLabel.Gravatar Ulf Adams2016-04-22
| | | | | | | | The method will be removed in a subsequent change to facilitate reverting the change in case it goes bad. -- MOS_MIGRATED_REVID=120526894
* Add android deploy info.Gravatar Googler2016-04-22
| | | | | | | | | | | | Each android binary build operation will output a deploy info proto providing information about how to deploy and launch the APK. The information will vary between build mode (normal, mobile-install, split-apk) and is configuration-dependent. NO_SQ: Presubmit broken -- MOS_MIGRATED_REVID=120494036
* Add JavaSemantics.checkRule to Android rules.Gravatar Greg Estren2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120480051
* Actions for rules that do not have 'use_header_modules' enabled should not haveGravatar Manuel Klimek2016-04-22
| | | | | | | header modules as inputs. -- MOS_MIGRATED_REVID=120473286
* Don't resolve --java_launcher for targets that opt outGravatar Liam Miller-Cushon2016-04-22
| | | | | | | | | If a target uses its launcher attribute to override --java_launcher, that should also override the value of :java_launcher. The default value of --java_launcher may not be compatible with the target architecture. -- MOS_MIGRATED_REVID=120473209
* Make constraints and select() work well with each other.Gravatar Greg Estren2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements most of a design proposal that splits constraint checking into two pieces: *static* checks, which apply the standard constraint checking done today, and *refined* checks, which selectively prune environments based on select paths and check that not every environment gets pruned out. As a result of this change, dependencies like: java_library( name = "lib", restricted_to = [":A", ":B"], deps = select({ ":config_a": [":depA"], ":config_b": [":depB"], })) java_library( name = "depA", restricted_to = [":A"]) java_library( name = "depB", restricted_to = [":B"]) are allowed. Specifically, even though neither "depA" nor "depB" supports [":A", ":B"], the combination of the two does. So the select as a whole supports all environments declared in lib, even though only one of those environments actually gets chosen for a given build. Refinement makes lib "match" the chosen path. So for "config_a" builds, lib's environment set is "refined" down to [":A"], meaning [":B"]-restricted rules cannot depend on it. Likewise, for "config_b" builds, lib's environment set is "refined" down to [":B"], meaning [":A"]-restricted rules cannot depend on it. This guarantees that the restrictions imposed by the chosen select path propagate faithfully up the dependency chain. See new documentation in ConstraintSemantics.java for more details. -- MOS_MIGRATED_REVID=120464241
* DotExpressions can evaluate fields of java.lang.Class instances in addition ↵Gravatar Cal Peyser2016-04-22
| | | | | | | | | | | to actual instances. This allows global namespaces registered in the RuleClassProvider to have structField SkylarkCallables. TESTED: Using the new functionality for AppleSkylarkCommon.getKeys() -- MOS_MIGRATED_REVID=120455804
* Do not display unhelpful total tasks for GitProgressMonitor.Gravatar David Chen2016-04-22
| | | | | | | | | The [task / total] display when cloning a Git repository using the git_repository rules isn't very helpful, especially since jgit doesn't update totalTasks in a useful way. -- MOS_MIGRATED_REVID=120450834
* Don't write empty Main-Class manifest entriesGravatar Liam Miller-Cushon2016-04-22
| | | | | | | | When java_binary.create_executable=0, omit the Main-Class entry in the deploy jar's manifest instead of writing an empty main class name. -- MOS_MIGRATED_REVID=120443936
* Remove FilesToRunProvider.label.Gravatar Ulf Adams2016-04-22
| | | | | | | The TransitiveInfoProvider already contains a label, use that instead. -- MOS_MIGRATED_REVID=120443298
* Make source manifest caching catch external runfile changesGravatar Kristina Chodorow2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120442698
* Make the integration tests pass with gRPC client/server comms.Gravatar Lukacs Berki2016-04-21
| | | | | | | | | | | In particular: - Make a SIGINT to the server interrupt every command - Parse negative numbers on the command line correctly (std::stoi throws an exception, and I'd rather not start using C++ exceptions) - Use "bytes" for command line arguments instead of "string" in the client/server proto . This is more principled, although we pretend all arguments are strings all over the place and it works for "blaze run" mostly by accident. -- MOS_MIGRATED_REVID=120434432
* Clean up the runfiles / files-to-run related code a bit.Gravatar Ulf Adams2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120433463
* Fix LIPO with C++ header modules.Gravatar Manuel Klimek2016-04-21
| | | | | | | When collecting LIPO context, do not create module actions. -- MOS_MIGRATED_REVID=120432142
* Assorted changes wrt. gRPC client/server comms:Gravatar Lukacs Berki2016-04-21
| | | | | | | | | - Actually make it work again (commit 00cfb7df61b1f3d9fac8ee29d92b315cbfe6d28f broke it, maybe I shouldn't send out changes in a hurry next time) - Rename --grpc_port to --command_port (it's a bit better name) - Do not send a kill signal to the server that can't be connected if we only connect to it to verify its presence -- MOS_MIGRATED_REVID=120418784
* Refactor the Event class; always construct through static methods.Gravatar Ulf Adams2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120418505
* Add javadoc to AbstractAction.computeKey()Gravatar Alex Humesky2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120416303
* Short-circuit Path.equals() with hashcode.Gravatar Googler2016-04-21
| | | | | | | Optimize .equals() by using the hashcode calculated in the constructor to determine if we can short-circuit equals and avoid traversing the parents if the two paths can't be equal. -- MOS_MIGRATED_REVID=120363376
* --Gravatar Michael Staib2016-04-21
| | | | MOS_MIGRATED_REVID=120353718
* Add a workspace name to Skylark repositoriesGravatar Kristina Chodorow2016-04-21
| | | | | | | | | This prevents an ugly error when the main repository name is set. Fixes #1166. -- MOS_MIGRATED_REVID=120352395
* Disable the generating .gcno files for .pcm compile actions. These can conflictGravatar Googler2016-04-21
| | | | | | | with the .gcno files for the actual .cc files. -- MOS_MIGRATED_REVID=120338906
* Make client-provided options an rc sourceGravatar Klaus Aehlig2016-04-21
| | | | | | | | | | | | | | | The client provides information about whether the terminal is a tty, and which width the output should be formatted for. Passing this information as explicit command-line arguments has the disadvantage that it overrides any setting in configuration files. While usually there is no one-size-fits-all value for terminal width, it doesn't make sense either to have an option where the user cannot set a default. Fix this by providing the client options as least imported rc-source. This is a roll-forward of commit 044adedc70de040475443e52eb1a3c692159790e -- MOS_MIGRATED_REVID=120338148
* Adds manifest_values attribute to android_binary as a preliminary for ↵Gravatar Andrew Pellegrini2016-04-21
| | | | | | | removing application_id, version_code and version_name attributes and switching to the Gradle manifest merger. -- MOS_MIGRATED_REVID=120335565
* Add nullable variants to Fingerprint.Gravatar Ulf Adams2016-04-20
| | | | | -- MOS_MIGRATED_REVID=120325869
* Remove RuleConfiguredTarget#getMandatoryStampFiles().Gravatar Lukacs Berki2016-04-20
| | | | | | | This is apparently unused. -- MOS_MIGRATED_REVID=120317405
* Delete the defaultMultipleValue field from options and refactor the logic ↵Gravatar Luis Fernando Pino Duque2016-04-20
| | | | | | | | | | | | | | | | for retrieving the default values of options. The field defaultMultipleValue was introduced in commit 51a491b89a9cd5f15c9a093a5693bc37e696e6e1 to allow defining a default value for options that set allowMultiple. However due to the limitations of the optionsParser end up being not useful since we cannot guarantee that an option that allows multiple has a converter that returns a list of values. Thus this CL deletes code that may confuse even more and clarifies the mechanism that the options currently use to obtain their default values. -- MOS_MIGRATED_REVID=120317261
* Update the BlazeServer classes to conform to the Google style guide.Gravatar Lukacs Berki2016-04-20
| | | | | -- MOS_MIGRATED_REVID=120315714
* Fix 'unused symbol warnings.Gravatar Dmitry Lomov2016-04-20
| | | | | | | Fixes #1156. -- MOS_MIGRATED_REVID=120312138
* Introduce SplitTransitionProvider, to determine the split transition on an ↵Gravatar Chris Parsons2016-04-20
| | | | | | | attribute based on the Rule itself (the transition may thus be determined based on the values of other attributes of the rule) -- MOS_MIGRATED_REVID=120275649
* Refactor CompilationSupport and IntermediateArtifacts to optionally take a ↵Gravatar Chris Parsons2016-04-20
| | | | | | | BuildConfiguration that is not the current rule context's configuration. -- MOS_MIGRATED_REVID=120271518
* Overwrite the WORKSPACE file for new_local_repositoryGravatar Kristina Chodorow2016-04-20
| | | | | | | | | | | | | This prevents an ugly warning when you do something like: new_local_repository( name = "bazel_tools", path = ".", build_file = "BUILD", ) -- MOS_MIGRATED_REVID=120271366
* Allow executing input files in addition to output onesGravatar Brian Silverman2016-04-20
| | | | | | | | | | | | With remote repositories, it is useful to do this to execute an input file which isn't actually part of the source tree. Closes #984 -- Change-Id: Ic986ea9bbe88e0edb933939ce1d7a8b6ea9d6e88 Reviewed-on: https://bazel-review.googlesource.com/#/c/3030/ MOS_MIGRATED_REVID=120248102
* Rename CppCompilationContext.getCompilationPrerequisites toGravatar Manuel Klimek2016-04-20
| | | | | | | | | | | | | | getTransitiveCompilationPrerequisites. The missing 'transitive' in the name is misleading. This change is a preparation for further refactorings that will in the end introduce a getCompilationPrerequisites method that actually returns the compilation prerequisites for a rule - as that will be require some more things to be shuffled around in CppCompilationContext, this change gets the purely syntactical change in first. -- MOS_MIGRATED_REVID=120247461
* Make java_toolchain.{javac,javabuilder,singlejar,genclass,ijar} mandatoryGravatar Liam Miller-Cushon2016-04-20
| | | | | -- MOS_MIGRATED_REVID=120241405
* Block when another command is running on the server and not on the client ↵Gravatar Lukacs Berki2016-04-20
| | | | | | | when in gRPC mode. -- MOS_MIGRATED_REVID=120233121
* Document maven_jar name restrictionsGravatar Kristina Chodorow2016-04-20
| | | | | | | Fixes #1066. -- MOS_MIGRATED_REVID=120232176
* Fixed bugs blocking bazel shell test on WindowsGravatar Yun Peng2016-04-20
| | | | | | | -- Change-Id: I6a2f9026fda578905ccb72b317223eaca16b882b Reviewed-on: https://bazel-review.googlesource.com/#/c/3440 MOS_MIGRATED_REVID=120228541
* Move the runfiles for external repositories to under the x.runfiles/ directoryGravatar Kristina Chodorow2016-04-20
| | | | | | | | | | | | | | | This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles. --- Furthermore, if a Bazel project does not provide a workspace name in the WORKSPACE file, Bazel will now default to using __main__ as the workspace name (instead of "", as previously). The repository's runfiles will appear under x.runfiles/__main__/. -- MOS_MIGRATED_REVID=120224534
* Allow external repositories to have includes attributes that point to ↵Gravatar Janak Ramakrishnan2016-04-19
| | | | | | | | | packages not in third_party. We don't need to police users' external repositories. Fixes #1151 -- MOS_MIGRATED_REVID=120222222
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120221067
* Add mechanism to crosstool language to specify action-specific execution ↵Gravatar Cal Peyser2016-04-19
| | | | | | | requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool. -- MOS_MIGRATED_REVID=120218079
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | | | Second pass. Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120216592
* Rename LateBoundLabel#getDefault(Rule, AttributeMap, T) to #resolve().Gravatar Lukacs Berki2016-04-19
| | | | | | | Its old name was confusing because resolve() and getDefault() do radically different things: getDefault() returns a good enough lie for when BuildConfiguration is not available, and resolve() resolves the dependency when we do have a BuildConfiguration. -- MOS_MIGRATED_REVID=120212630
* Bind the gRPC command server port only to localhost.Gravatar Lukacs Berki2016-04-19
| | | | | | | Work towards #930. -- MOS_MIGRATED_REVID=120205147
* Signal that the version command does not buildGravatar Klaus Aehlig2016-04-19
| | | | | | | | | | | | The version command is not expected to every run any actions. Hence any messages about progress of the build process or running actions would be confusing. Therefore, signal this fact to allow the experimental UI to present information accordingly. -- Change-Id: I8a75704a39e161f52c4d008677f62e4b36097647 Reviewed-on: https://bazel-review.googlesource.com/#/c/3387 MOS_MIGRATED_REVID=120203058
* Make it possible to interrupt commands when communicating over gRPC.Gravatar Lukacs Berki2016-04-19
| | | | | | | | | | | Drive-by fix: eliminate the GRPC messages from the console by passing a null logging function. This also prepares us for the time when multiple commands will be running, because then we'll need to tell which command exactly we want to interrupt. Work towards #930. -- MOS_MIGRATED_REVID=120203008
* Do not start the AF_UNIX server when in gRPC mode.Gravatar Lukacs Berki2016-04-19
| | | | | | | Work towards #930. With this, it's conceivable that server mode works on Windows to some degree (I haven't tried, though, because there are many issues that need to be fixed) -- MOS_MIGRATED_REVID=120202037
* Deprecate top-level Java toolchain flags in favour of java_toolchainGravatar Liam Miller-Cushon2016-04-19
| | | | | | | | | | | | | This change disables --java_langtools, --javabuilder_top, --singlejar_top, --genclass_top, and --ijar_top, and finishes replacing them with java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}. RELNOTES: Replace --java_langtools, --javabuilder_top, --singlejar_top, --genclass_top, and --ijar_top with java_toolchain.{javac,javabuilder,singlejar,genclass,ijar} -- MOS_MIGRATED_REVID=120154954
* Check for the presence of an AndroidSdkProvider in JackAspect.Gravatar Michael Staib2016-04-19
| | | | | | | | | If no AndroidSdkProvider is present, JackAspect exits with an error instead of throwing and thus crashing Bazel. This is acceptable; the Android rules which JackAspect is attached to will do the same. -- MOS_MIGRATED_REVID=120150996