aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions
Commit message (Collapse)AuthorAge
* Make The Build Faster: Drop the describeStrategy() and strategyLocality() ↵Gravatar Philipp Wollermann2016-02-03
| | | | | | | | | methods, as we can simply pass an ActionStatusMessage to the EventBus instead. All SpawnActionContexts now send an appropriate message when they execute a Spawn. This also gets rid of the idiom that an Action knows which strategy will be used to execute it - this decision and knowledge belongs to the executor, not the action. -- MOS_MIGRATED_REVID=113731846
* Rollback of commit f941d56acfad5f8c819c81b494f806ea74ea7fd8.Gravatar Carmi Grushko2016-02-02
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks many targets, see [] *** Original change description *** Reinstate mutable SkylarkDict Add <String, Object> annotation to optionMap invocation in SkylarkAttr, to make JDK 1.7 happy. Give the visible name "aspect" to class SkylarkAspect. -- MOS_MIGRATED_REVID=113543873
* Reinstate mutable SkylarkDictGravatar Francois-Rene Rideau2016-02-01
| | | | | | | | | | Add <String, Object> annotation to optionMap invocation in SkylarkAttr, to make JDK 1.7 happy. Give the visible name "aspect" to class SkylarkAspect. -- MOS_MIGRATED_REVID=113394826
* Rollback of commit c0a8c58b9230a1f5d76269eb7dc6b11e18f19686.Gravatar Damien Martin-Guillerez2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Break Java 1.7 builds of Bazel. See http://ci.bazel.io/job/Bazel/JAVA_VERSION=1.7,PLATFORM_NAME=linux-x86_64/327/console Test: git clone ... && git revert c0a8c58 && export JAVA_VERSION=1.7 && export BAZEL_COMPILE_TARGET=compile && bash -c "source scripts/ci/build.sh; bazel_build" *** Original change description *** Make Skylark dicts mutable Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>. Back it with a TreeMap to provide a deterministic iteration order. Also make SkylarkList generic in its element type <E>. Have Artifact implement Comparable<Object> so it can be used as TreeMap key. -- MOS_MIGRATED_REVID=113359718
* Make Skylark dicts mutableGravatar Francois-Rene Rideau2016-01-29
| | | | | | | | | | Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>. Back it with a TreeMap to provide a deterministic iteration order. Also make SkylarkList generic in its element type <E>. Have Artifact implement Comparable<Object> so it can be used as TreeMap key. -- MOS_MIGRATED_REVID=113277489
* Make runfiles tree creation on Windows depend on the artifacts of the actual ↵Gravatar Lukacs Berki2016-01-26
| | | | | | | | | | | | | | | runfiles. This is necessary because the plan for Windows calls for knowing if the target of the symlink is a directory or a file, thus, we cannot create runfiles trees before the artifacts in them are built. This probably comes with a performance hit due to the extra scheduling constraints. This makes almost every test pass save: - test_tmpdir in bazel_test_test, which I hereby dismiss as a fluke - test_http_archive_tgz in external_integration_test (Maybe a permissions issue due to copying things?) - A bunch of test in external_correctness_test, probably related to the fact that since we are copying things, we don't notice changes to the original files. -- MOS_MIGRATED_REVID=113050025
* Separate runfiles middlemen into two layers: one that is a middleman for the ↵Gravatar Lukacs Berki2016-01-26
| | | | | | | | | | | files itself, and one that contains this middleman and the runfiles output manifest. This is in preparation for Windows symlink support in runfiles manifests: on Windows, we'll need the target files created before we can create the runfiles symlinks for them, but we can't do that by adding the current runfiles middleman to the inputs of SymlinkTreeAction because it would create a cycle (output manifest -> SymlinkTreeAction -> runfiles manifest -> MiddlemanAction -> output manifest) The alternative is to just add the artifacts to the inputs of SymlinkTreeAction, but that would create a bunch of extra edges and, more importantly, reverse edges in the action graph which we don't want. -- MOS_MIGRATED_REVID=113041344
* Move RepositoryName to its own top-level classGravatar Kristina Chodorow2016-01-26
| | | | | | | | | | As it's about to get more important in its own right. The only change that isn't just moving code around is making RepositoryName.validate package-private. -- MOS_MIGRATED_REVID=112956571
* Allow an exit code to be specified in the ActionExecutionException when an ↵Gravatar Googler2016-01-25
| | | | | | | | | action fails, and propagate the exit code to BuildFailedException. And update all call sites that copy or wrap ActionExecutionExceptions. -- MOS_MIGRATED_REVID=112811857
* Improve space efficiency of Blaze action cache: For actions that don't ↵Gravatar Eric Fellheimer2016-01-22
| | | | | | | perform input discovery, there is no need to store the full set of edges in the action cache. This data is only used to formulate the set of input files for an action prior to checking the validity of a cache entry. For non-input-discovering actions, the set of input files is known statically and the action cache data is not used. -- MOS_MIGRATED_REVID=112704382
* Skylark IDE info aspect: sources and dependencies.Gravatar Dmitry Lomov2016-01-19
| | | | | | | | | | | | | | 1. Refactored IntelliJSkylarkAspectTest. Eventually that test will be merged with AndroidStudioInfoAspect test to validate implementation equivalence. 2. Exposed ``root`` and ``is_source`` on Artifacts to Skylark. 3. Skylark aspect implementation outputs sources and dependencies information. -- MOS_MIGRATED_REVID=112473407
* Fix #757: Bazel does not copy xml test output from sandbox.Gravatar Philipp Wollermann2016-01-18
| | | | | -- MOS_MIGRATED_REVID=112404257
* Move annotation classes used for referencing framework Java classes from ↵Gravatar John Field2015-12-16
| | | | | | | | | | | | | | Skylark into their own package. This allows, e.g., classes in the syntax package to access classes in the cmdline package without creating circular dependencies. While we're here: - Removed a couple of unused BUILD deps flagged in []. - Updated SkylarkRuleImplementationFunctionsTest to remove non-ASCII characters and clarify the intent of the test. -- MOS_MIGRATED_REVID=110360763
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* ASwB aspect: parse java packages during executionGravatar Googler2015-12-03
| | | | | -- MOS_MIGRATED_REVID=109305952
* When getting package roots for exec paths, don't start with the file, which ↵Gravatar Janak Ramakrishnan2015-11-13
| | | | | | | is guaranteed not to be a package. Instead, start with its parent. This will be faster and take less memory. -- MOS_MIGRATED_REVID=107725767
* BUILD tweaksGravatar Han-Wen Nienhuys2015-11-10
| | | | | -- MOS_MIGRATED_REVID=107464729
* --Gravatar Carmi Grushko2015-11-05
| | | | MOS_MIGRATED_REVID=107071491
* workers: Restart worker processes when their binary has changed since they ↵Gravatar Philipp Wollermann2015-11-05
| | | | | | | were launched. -- MOS_MIGRATED_REVID=107050157
* Interface methods are public anyway, remove superfluous modifiers.Gravatar Philipp Wollermann2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106826084
* Split off more BUILD files.Gravatar Han-Wen Nienhuys2015-10-28
| | | | | -- MOS_MIGRATED_REVID=106493557
* Move the check whether a repository name contains a slash to ↵Gravatar Philipp Wollermann2015-10-23
| | | | | | | PackageIdentifier, where it actually belongs. -- MOS_MIGRATED_REVID=106086272
* ArtifactFactory.findSourceRoot now handles the case where an execPath refers ↵Gravatar Philipp Wollermann2015-10-22
| | | | | | | to a remote repository. -- MOS_MIGRATED_REVID=106051348
* Introduce Path#isSpecialFile, FileSystem#isSpecialFile, and ↵Gravatar Nathan Harmata2015-10-21
| | | | | | | FileStatus#isSpecialFile to help disambiguate between a regular file and a special file, since the file size of a special file cannot be trusted. -- MOS_MIGRATED_REVID=105903622
* Fix reporting of error messages for EnvironmentalExecExceptionGravatar Googler2015-10-16
| | | | | | | | | | | | | Most (all?) messages for this exception are complete description of the failure (e.g. "failed to do X", "could not do X"). With the previous wording the user got something like: ERROR: [...] Writing file for rule '[...]' failedfailed to create file '[...]' Now: ERROR: [...] Writing file for rule '[...]' failed (failed to create file '[...]') -- MOS_MIGRATED_REVID=105591532
* Separate BUILD file for options and docgen.Gravatar Han-Wen Nienhuys2015-10-16
| | | | | -- MOS_MIGRATED_REVID=105511114
* Split off 2 BUILD files.Gravatar Han-Wen Nienhuys2015-10-13
| | | | | -- MOS_MIGRATED_REVID=105301167
* For standalone spawn strategy (local execution), bootstrap ios SDKROOT ↵Gravatar Chris Parsons2015-10-09
| | | | | | | (determined from xcrun) for applicable actions -- MOS_MIGRATED_REVID=105000617
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Cleanup Skylark types some moreGravatar Francois-Rene Rideau2015-09-17
| | | | | | | | | | | Clarify the criterion for being a valid Skylark value; stop claiming immutability is "the" criterion when Skylark now has mutable values; stop relying on a reflection with a magic list (this also fixes the SkylarkShell build). Clarify the criterion for determining immutable types when making a SkylarkNestedSet. Clarify and use the criterion for being a valid Skylark dict key. -- MOS_MIGRATED_REVID=103313934
* Use AutoProfiler in the Bazel codebase.Gravatar Nathan Harmata2015-09-08
| | | | | -- MOS_MIGRATED_REVID=102584924
* Display TIMEOUT for test that times outGravatar Damien Martin-Guillerez2015-09-08
| | | | | | | | | Previously the timing out information wasn't propagated to the user, leading to a wrong FAILED message whereas the test was timing out. -- MOS_MIGRATED_REVID=102535481
* Fix some warnings.Gravatar Ulf Adams2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102332437
* Move PackageIdentifier to cmdlineGravatar Kristina Chodorow2015-08-31
| | | | | | | | This is necessary to have TargetResolver depend on it without making it depend on the packages target. First step of #389. -- MOS_MIGRATED_REVID=101790345
* Split Skylark Library into multiple pages, one per module. Add collapsibleGravatar David Chen2015-08-18
| | | | | | | | submenus to sidebar, and expand and highlight the link for the current page. Collapse sidebar on mobile and expose button for toggling sidebar. -- MOS_MIGRATED_REVID=100836792
* Remove incorrect preconditions checks when resolving artifacts.Gravatar Janak Ramakrishnan2015-08-13
| | | | | -- MOS_MIGRATED_REVID=100501490
* Add debugging info when resolving source artifacts.Gravatar Janak Ramakrishnan2015-08-12
| | | | | -- MOS_MIGRATED_REVID=100427061
* Tolerate BuildFileNotFoundExceptions during the execution phase.Gravatar Janak Ramakrishnan2015-08-11
| | | | | -- MOS_MIGRATED_REVID=100317285
* Experimental support LLVM ThinLTO.Gravatar Han-Wen Nienhuys2015-08-11
| | | | | | | | | | | | | | | | | | | | | | ThinLTO is a Link Time Opimization strategy, where the inlining step operates on LLVM intermediate code, and is sharded across multiple compiler invocations, so they can be parallelized. For more information, see http://llvm.org/devmtg/2015-04/slides/ThinLTO_EuroLLVM2015.pdf Using this features requires an experimental LLVM toolchain, with the following stanza in CROSSTOOL feature { name: "thin_lto" flag_set { action: "c-compile" action: "c++-compile" flag_group { flag: "-Xclang-only=-Wno-inconsistent-missing-override" flag: "-flto" flag: "-O2" } } } -- MOS_MIGRATED_REVID=100269776
* Don't assume that relative inclusion is under same package root as the ↵Gravatar Janak Ramakrishnan2015-08-10
| | | | | | | | | original artifact. This adds artifact resolution costs to relative inclusions, but hopefully not too much. -- MOS_MIGRATED_REVID=100164755
* Stop checking package roots for incompatible changes after loading phase.Gravatar Marian Lobur2015-08-07
| | | | | | | Instead we can just recreate artifact in ArtifactFactory if source root has changed. Additional optimization is to save with Artifact's some unique id of build when they have been created. If the build is the same we should not check source root changes. -- MOS_MIGRATED_REVID=100104312
* Fix middleman conflicts in external repositories by appending the package pathGravatar Damien Martin-Guillerez2015-07-30
| | | | | | | Fixes #341. -- MOS_MIGRATED_REVID=99390495
* Skylark documentation fixesGravatar Laurent Le Brun2015-07-29
| | | | | -- MOS_MIGRATED_REVID=99283744
* Support for .s, .S, and .asm files for objc rulesGravatar Chris Parsons2015-07-23
| | | | | -- MOS_MIGRATED_REVID=98772452
* Add some debugging in case of crash.Gravatar Janak Ramakrishnan2015-07-02
| | | | | -- MOS_MIGRATED_REVID=97334994
* Eliminate BuildConfiguration.getShortName().Gravatar Lukacs Berki2015-06-29
| | | | | | | This was only used in error reporting, and the interface of BuildConfiguration could use some more simplicity. The comment on BuildConfiguration.getShortName() was confusing: that field is *not* actually used to compute the output directory name, which took me a few minutes to realize. -- MOS_MIGRATED_REVID=97128287
* Remove BuildConfiguration.cacheKey() and replace .shortCacheKey() with a ↵Gravatar Lukacs Berki2015-06-29
| | | | | | | | | | | .checksum() method that is computed from the checksum of the build options. Also remove Fragment.cacheKey() and Fragment.getName(). The reasoning is that within a single build, if two BuildConfigurations share the same BuildOptions, they must be the same because BuildConfiguration can only be a function of BuildOptions, specific targets (which stay the same during a build) and BlazeDirectories (which stay the same during the lifetime of a server). Between different builds if the configurations are recreated, they will always be considered different because Java reference equality (==) is used for comparing BuildConfigurations. Also remove "Serializable" tags from configuration-related things. -- MOS_MIGRATED_REVID=97107881
* Only run the worker if the build is incremental. Gravatar Han-Wen Nienhuys2015-06-26
| | | | | | | This feature is tunable through --worker_max_changed_files flag. If unspecified, all builds are considered incremental. -- MOS_MIGRATED_REVID=96968367