aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
Commit message (Collapse)AuthorAge
...
* Skylark: implemented reversed()Gravatar Florian Weikert2015-12-15
| | | | | -- MOS_MIGRATED_REVID=110141376
* Global cleanup change.Gravatar Liam Miller-Cushon2015-12-14
| | | | | -- MOS_MIGRATED_REVID=110135504
* Simplify the contract of RepositoryFunction to "I am given a Rule and a ↵Gravatar Lukacs Berki2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | directory that I should populate". The directory itself is not created because local_repository actually puts a symlink in its place. As a side effect, make HTTP downloading, git cloning and archive decompressing not be SkyFunctions. This is necessary because it needs to be the RepositoryFunction and not a dependent SkyFunction that populates the output directory, because it that's the case what happens is: 1. RepositoryDelegatorFunction cleans up the directory and prepares it for RepositoryFunction 2. RepositoryFunction calls env.getValue(<function that populates the directory>) 3. That value hasn't been computed yet, thus RepositoryDelegatorFunction returns early 4. The function that populates the directory is called 5. RepositoryDelegatorFunction is restarted 6. RepositoryDelegatorFunction cleans up the directory 7. RepositoryFunction calls env.getValue(), and nothing is done because the value has already been computed 8. RepositoryDelegatorFunction proudly returns, even though the directory is actually empty Another way to solve this problem would be to make RepositoryFunction not clean the directory up on Skyframe restarts, but that means that we'd need to keep state somewhere, which doesn't strike me as a particularly great idea because let's keep state outside of Skyframe only when absolutely necessary (e.g. the marker files for cross-server instance persistence of downloaded repositories). That "somewhere" could either be a member variable of RepositoryDelegatorFunction or the file system. Note that this change causes external communication to be re-done in a few more cases than before (see that changes to the test cases), but I'd rather we be correct and simple than fast. We can optimize things later if needed and there is enough complexity going around, thank you very much. -- MOS_MIGRATED_REVID=110134397
* Do not make labels without a specified repository in hidden attributes ↵Gravatar Lukacs Berki2015-12-14
| | | | | | | | | | | always point to the main repository. They now all point to @bazel_tools anyway, so there is no need. Fixes #700 (what a delightfully round bug number!) -- MOS_MIGRATED_REVID=110132857
* Skylark: implemented min() and max().Gravatar Florian Weikert2015-12-13
| | | | | -- MOS_MIGRATED_REVID=110025690
* Move Selector#defaultConditionLabel to static final varGravatar Michajlo Matijkiw2015-12-13
| | | | | | | Prevents overhead of extra Labels in builds with lots of selectors -- MOS_MIGRATED_REVID=110011063
* Clarify the message of the exception thrown when a .getValue() calls returns ↵Gravatar Lukacs Berki2015-12-13
| | | | | | | null but the SkyFunction that called it returns non-null. -- MOS_MIGRATED_REVID=110009359
* Open-source code that creates proto-buffer compile actions.Gravatar Carmi Grushko2015-12-13
| | | | | -- MOS_MIGRATED_REVID=110008191
* Clean up the configuration-related code paths a bit.Gravatar Ulf Adams2015-12-11
| | | | | | | | | - If we have a class object available, we can use .cast(Object) - Only store the required options objects in CppConfigurationParameters rather than keeping the entire BuildOptions -- MOS_MIGRATED_REVID=109981236
* Skylark: implemented str.splitlines()Gravatar Florian Weikert2015-12-11
| | | | | -- MOS_MIGRATED_REVID=109942021
* Add option to read query from a file.Gravatar Janak Ramakrishnan2015-12-11
| | | | | | | RELNOTES[NEW]: Evaluate the query expression in a file by passing --query_file=<file> to query -- MOS_MIGRATED_REVID=109932769
* Prevent jgit from dumping stack traces all over the placeGravatar Kristina Chodorow2015-12-11
| | | | | | | Fixes #650, #551, and the stack trace parts of #625 and #330. -- MOS_MIGRATED_REVID=109925156
* Python 3 compatibility for python binary stubGravatar Joe Harrison2015-12-10
| | | | | | | | | | | Make the python binary stub compatible with both python2 and python3. Fixes #638 -- Change-Id: Ic66d942deb43e131c8c442850acebe40adda9739 Reviewed-on: https://bazel-review.googlesource.com/#/c/2370/ MOS_MIGRATED_REVID=109923063
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Allows cc_{library, binary} targets to depend on objc_library.Gravatar Googler2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109909215
* Allow output formatters to work in stream mode.Gravatar Miguel Alcon Pinto2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109908202
* Open-source a support data-structure for protocol buffers.Gravatar Carmi Grushko2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109900770
* Add Preconditions variant that avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109898521
* Open-source command-line options specific to protocol buffer.Gravatar Carmi Grushko2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109897602
* A minor tweak to the mechanism by which Bazel finds out it is in the ↵Gravatar Lukacs Berki2015-12-10
| | | | | | | execroot of another workspace. -- MOS_MIGRATED_REVID=109885272
* Shuffle around all the constants related to the name of the //external ↵Gravatar Lukacs Berki2015-12-10
| | | | | | | | | package and the prefix of external packages in the execroot. This is in preparation for renaming that path segment from "external" to "bazel-external" so that we can provide a symlink to it from the source tree so that the source tree looks like the execroot. -- MOS_MIGRATED_REVID=109882753
* Now that external files are not always treated as immutable, eliminate the ↵Gravatar Lukacs Berki2015-12-10
| | | | | | | "overlaid BUILD files" hack in RepositoryValue. -- MOS_MIGRATED_REVID=109877252
* Repurpose the not-meaningfully-used ErrorInfo#isTransient to mean "is ↵Gravatar Nathan Harmata2015-12-10
| | | | | | | | | transitively transient". Some followup changes will use this method. Previously, ErrorInfo#isTransient was only used internally in ParallelEvaluator; I think this method was originally added to ErrorInfo solely for the sake of convenience. -- MOS_MIGRATED_REVID=109840031
* Efficiency improvements to GroupedListGravatar Mark Schaller2015-12-10
| | | | | | | | | Presize GroupedListHelper sets when initialized from collections. Use CompactHashSets throughout. Avoid primitive autoboxing in Precondition statements. -- MOS_MIGRATED_REVID=109835986
* Distinguish between read and write locks for KeyedLocker.Gravatar Janak Ramakrishnan2015-12-10
| | | | | -- MOS_MIGRATED_REVID=109835697
* Remove shortcut addProvider() methods, to prepare for AutoValue-ed providers.Gravatar Carmi Grushko2015-12-09
| | | | | | | Such providers have a create() method which returns an object whose runtime class differs from its compile-time class, which makes the shortcut methods behave unexpectedly. -- MOS_MIGRATED_REVID=109815042
* Precompute non-configurable attributes at RuleClass levelGravatar Michajlo Matijkiw2015-12-09
| | | | | | | | | Previously we created this collection for each AggregatingAttributeMapper, which we create at least every attribute encountered. Calculate the collection up front to avoid wasting time and memory. -- MOS_MIGRATED_REVID=109805907
* Avoid list copy in BuildingState.getNextDirtyDirectDepsGravatar Mark Schaller2015-12-09
| | | | | | | | | Also, in GroupedList, short-circuit expensive group equality check with a reference check, saving time and garbage when groups are the same object. -- MOS_MIGRATED_REVID=109795332
* Add a --deep_execroot startup option that puts the execroot under ↵Gravatar Lukacs Berki2015-12-09
| | | | | | | | | $OUTPUT_BASE/execroot/<workspace name> instead of $OUTPUT_BASE/<workspace name>. This makes it possible to run Bazel in directories whose name clashes with one of the pre-existing files in the output base. Note that this option is turned off by default for now. -- MOS_MIGRATED_REVID=109791053
* Refactor external repository support significantly to solve a number of issues.Gravatar Lukacs Berki2015-12-09
| | | | | | | | | | | | | | | In particular: - Separate the implementation of maven_server into a RepositoryFunction and one that creates the MavenServerValue (ideally, maven_server wouldn't exist but we'll have to make to for the time being) - Refactor the logic of determining whether an external repository needs to be re-fetched to RepositoryDelegatorFunction - Make RepositoryFunctions not be SkyFunctions anymore (they are called from RepositoryDelegatorFunction, though, who *is* a SkyFunction) - Add a Skyframe dirtiness checker that makes --nofetch RepositoryValues not be cached - Add a bunch of test cases and javadoc There is only one wart that I know of that remains: changes to BUILD files of new_* repository rules that weren't refetched when their RepositoryValue was initiall created on server restart won't take effect. This is because we don't add those BUILD files to the created RepositoryValue. This will fix itself once the ExternalFilesHelper refactoring is submitted. -- MOS_MIGRATED_REVID=109768345
* Better error for invalid --ios_sdk_version.Gravatar Googler2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109722614
* Find frameworks in System/ instead of in Developer/ for ios sdks 9.0 and laterGravatar Chris Parsons2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109715685
* Fail build gracefully if an action discovers unexpected inputs.Gravatar Janak Ramakrishnan2015-12-08
| | | | | | | | | | | | | | | | | | | Blaze discovers inputs for some actions when running with some strategies. Those actions should not discover additional inputs when they run, regardless of the strategy they end up using. There are now no known legitimate cases of such additional input discovery, so we should reinstate this check and find new ones :) We also change the failure mode to be a normal error rather than a crash. This error does indicate a tooling issue, and a small chance of incorrect builds, but it doesn't create such an inconsistent state that a crash is warranted. -- Change-Id: I5d498d2fc1c5e23bfb5d77971f866c2027cbf03a Reviewed-on: https://bazel-review.googlesource.com/#/c/2500/3 MOS_MIGRATED_REVID=109703508
* Follow-up on f9fdc8dfced8b2b14561720623126a91e04b22cb -- reinstate ↵Gravatar Janak Ramakrishnan2015-12-08
| | | | | | | short-circuit check when all package paths have good diff information and no external files have been seen. -- MOS_MIGRATED_REVID=109703164
* Don't print "Building complete" (and save the action caches) if we're about ↵Gravatar Janak Ramakrishnan2015-12-08
| | | | | | | to crash or exit abruptly. It just confuses users and could potentially cause other problems. -- MOS_MIGRATED_REVID=109702171
* Fix skylark aspect issues.Gravatar Dmitry Lomov2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109690378
* Rollback of commit ca1b21ac6d8a58041db822725b42de151b163dee.Gravatar Ulf Adams2015-12-08
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke some alipo builds. I had to leave in the change to TransitiveTargetFunctionTest, which is relied upon by follow-up CLs. *** Original change description *** Pre-trim build options for all remaining calls to ConfigurationFragment.key. Move the trimming logic into key() itself to: a) eliminate code redundancy b) guarantee all future calls to key() also do this. -- MOS_MIGRATED_REVID=109683849
* Don't treat external files as immutableGravatar Kristina Chodorow2015-12-08
| | | | | | | | | Fixes #352. RELNOTES: Files in external repositories are now treated as mutable, which will make the correctness guarantees of using external repositories stronger (existent), but may cause performance penalties. -- MOS_MIGRATED_REVID=109676408
* Fix sandbox .params files being left aroundGravatar Brian Silverman2015-12-08
| | | | | | | | | They accumulate indefinitely and take up space. -- Change-Id: I74c7ffd795b21793f8654e0e30785e1b8ba99ca4 Reviewed-on: https://bazel-review.googlesource.com/#/c/2510/ MOS_MIGRATED_REVID=109656651
* Presize AttributeSerializer collectionsGravatar Michajlo Matijkiw2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109649366
* Change xcode_version flag to build category so it shows up in blaze ↵Gravatar Dmitry Shevchenko2015-12-07
| | | | | | | auto-complete flags -- MOS_MIGRATED_REVID=109595089
* Refactor android_tools_defaults_jarGravatar Liam Miller-Cushon2015-12-07
| | | | | -- MOS_MIGRATED_REVID=109587887
* Avoid autoboxing on potential hot paths in LineNumberTableGravatar Michajlo Matijkiw2015-12-07
| | | | | | | | We wind up hitting this code path each time we call a user defined function to calculate a pretty string for profiling purposes. -- MOS_MIGRATED_REVID=109580385
* Cleanup: use int instead of Integer in the RecursiveFilesystemTraversal classes.Gravatar Laszlo Csomor2015-12-07
| | | | | -- MOS_MIGRATED_REVID=109579490
* RecursiveFilesystemTraversalFunction now tracks changes in symlinked directory.Gravatar Laszlo Csomor2015-12-07
| | | | | | | | | | | | We achieve this by computing the directory symlink's metadata hash, which the Google-internal Fileset rule writes in the fileset_manifest file, from the hashes of all files under it. This adds complexity but is necessary, because the symlink's FileStateValue remains the same even if the directory's contents change, so the FileStateValue alone is inadequate to compute the metadata for the fileset_manifest. -- MOS_MIGRATED_REVID=109577723
* Fast-path sky-query environment in the case where we have no dependency ↵Gravatar Eric Fellheimer2015-12-07
| | | | | | | | | filter on edge types (eg, implicit deps). In this case we can avoid doing an iteration over a potential reverse dependency's dependencies, since all edges are assumed to be valid. -- MOS_MIGRATED_REVID=109575545
* Tweak BE page footer.Gravatar David Chen2015-12-07
| | | | | -- MOS_MIGRATED_REVID=109571074
* Remove the unchecked exceptions RuleConfigurationException, InvalidAssetPath ↵Gravatar Lukacs Berki2015-12-07
| | | | | | | | | | | and InvalidResourcePath. Mainly to make the error handling in the Android code more similar to the rest of the code. There are a few more if statements, but I think the fact that AndroidIdeInfoProvider#addResourceSource didn't catch this unchecked exception vindicates this decision. DIFFBASE=108487079 -- MOS_MIGRATED_REVID=109566747
* Refactor: ResolvedFile.getMetadata is now .getMetadataHash.Gravatar Laszlo Csomor2015-12-07
| | | | | | | | | | This is a subtle change that'll go a long way: there's a bug in the handling of directory symlinks (changes in the link target are not picked up) which I'll fix by combining the metadata hashes of all items in the directory, and use that as the directory symlink's metadata hash. -- MOS_MIGRATED_REVID=109564943
* RecursiveFilesystemTraversalFunction: introduce ResolvedFileFactoryForTesting.Gravatar Laszlo Csomor2015-12-07
| | | | | | | | Using this class it's easier to create ResolvedFile instances for tests that don't care about metadata eqality. -- MOS_MIGRATED_REVID=109562578