aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
Commit message (Collapse)AuthorAge
* Skylark: implemented set.union()Gravatar Florian Weikert2015-06-10
| | | | | -- MOS_MIGRATED_REVID=95536484
* The Order enum now supports the conversion of its values to and from strings.Gravatar Florian Weikert2015-06-10
| | | | | | | This functionality used to be part of SkylarkNestedSet. -- MOS_MIGRATED_REVID=95526136
* Make it possible to put the Crosstool proto in BUILD files.Gravatar Lukacs Berki2015-06-09
| | | | | | | This is needed so that Bazel can access Android NDK if it's outside of the workspace. The current limitation is that we Bazel can pretend that there is a BUILD file there, but cannot do the same with a CROSSTOOL file. We could fix that limitation, but given that Crosstool is the only conceivable use case, let's fix it by changing the Blaze-Crosstool interface. -- MOS_MIGRATED_REVID=95517408
* Log invalid rule class names on deserializationGravatar Mark Schaller2015-06-09
| | | | | | | Previously would always log null. -- MOS_MIGRATED_REVID=95446225
* Log exceptions deserializing PackagesGravatar Michajlo Matijkiw2015-06-09
| | | | | | | | | | | Due to our streaming deserialization approach we can leave data on the wire when encountering exceptions. Java serialization, the primary consumer of this code, isn't happy with that and throws an IllegalStateException("unread block data"), drowning out the original exception and leaving us without much useful debug information. -- MOS_MIGRATED_REVID=95442892
* Description redacted.Gravatar Rumou Duan2015-06-05
| | | | | -- MOS_MIGRATED_REVID=95135804
* Serialize Packages as a series of protocol buffersGravatar Michajlo Matijkiw2015-06-03
| | | | | | | | | | | Packages have the potential to have an exceptional number of associated targets. When serialized in one message these targets can push the protocol buffer representation of a Package over the default deserialization size limit. In this commit we serialize targets separately as a series of individual messages to avoid this limit. -- MOS_MIGRATED_REVID=95049743
* Remove compatible_with / restricted_to attributes from ruleGravatar Greg Estren2015-06-03
| | | | | | | classes that are exempt from constraint checking. -- MOS_MIGRATED_REVID=95033646
* Push down Package serialization io logicGravatar Michajlo Matijkiw2015-06-01
| | | | | | | | | | | Rearrange Package serialization logic to hide ProtocolBuffer implementation details and make it easier to transition to a more "streamed" approach. Also moved the public members of PackageSerializer to the top of the class for visibility. -- MOS_MIGRATED_REVID=94905360
* Fully qualify links to PackageFunction in PackageGravatar Michajlo Matijkiw2015-06-01
| | | | | | | | | Helps javadoc resolve the referece. We can't import PackageFunction here since it's not visible. Instead use the fully qualified name so the link still works. -- MOS_MIGRATED_REVID=94757000
* Skylark: Implemented str.rsplit() and made split()'s separator a mandatory ↵Gravatar Florian Weikert2015-06-01
| | | | | | | parameter. -- MOS_MIGRATED_REVID=94751927
* Use an aspect to calculate the Android neverlink libraries.Gravatar Lukacs Berki2015-05-29
| | | | | | | This cuts the .java -> .android dependency between Java packages, which is nice at the cost of some cavalier over-estimation of the direct dependencies in AndroidNeverlinkAspect. -- MOS_MIGRATED_REVID=94745544
* Skylark: Added str.partition() and str.rpartition(), as known from Python.Gravatar Googler2015-05-28
| | | | | -- MOS_MIGRATED_REVID=94655923
* Allow @repo//foo:bar targets in BUILD filesGravatar Kristina Chodorow2015-05-22
| | | | | | | | This allows you to use @repo//... syntax outside of the WORKSPACE file, which makes it easier to use external dependencies. -- MOS_MIGRATED_REVID=94275085
* Documentation fixes.Gravatar Laurent Le Brun2015-05-22
| | | | | -- MOS_MIGRATED_REVID=94274751
* Add a hidden flag which allows us to set the size of the legacy globbing ↵Gravatar Eric Fellheimer2015-05-22
| | | | | | | thread pool. -- MOS_MIGRATED_REVID=94236393
* Forbid string methods used as global functions.Gravatar Laurent Le Brun2015-05-21
| | | | | -- MOS_MIGRATED_REVID=94071970
* Deleted little-used PackageLoadedEvent.Gravatar Eric Fellheimer2015-05-18
| | | | | -- MOS_MIGRATED_REVID=93881974
* Refine duplicate label checking for embedded selects. Before, we wereGravatar Greg Estren2015-05-15
| | | | | | | | | | | | | | | | | | | coarsely checking for duplicates *anywhere*, e.g.: select({':a': ['a.cc'], ':b': ['a.cc']}) + select({':a': ['b.cc'], ':b': ['b.cc']}) would fail. But this case is okay because these duplicates are in mutually exclusive select paths (so they could never appear together anyway). The new checking logic is: - Duplicates can appear in different paths of the same select. - Duplicates can *not* appear within the same path of a select. - Duplicates can *not* appear across multiple selects (no matter what path - this is still stricter than we need to be, but there's no strong case for refining this case now). -- MOS_MIGRATED_REVID=93447979
* Optimize AggregatingAttributeMapper.visitAttribute (which returnsGravatar Greg Estren2015-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | every possible value an attribute can take) for attributes with multiple selects: Given attr = select({':a': 'w', ':b': 'x'}) + select({':a': 'y', ':b': 'z'} the naive approach is to combine every possible value of the first select with every possible value of the second select (producing 4 possible values from 2^2 visitations). But since these selects have the same exact conditions, only two values are actually possible ("wy", "xz") from 2 visitations. This change efficiently considers that case. More generally, given n concatenated selects with the same conditions, it brings evaluation time down from O(2^n) to O(n) (assuming two conditions per select). It also works for partial matches: given a concatenation of 6 selects where 1, 3, and 5 have the same conditions and 2, 4, and 6 have the same conditions, evaluation time goes from O(2^6) to O(2^2). -- MOS_MIGRATED_REVID=93325787
* Build language: Add str.format function.Gravatar Laurent Le Brun2015-05-08
| | | | | | | | | 'x{key}x'.format(key = 2) == 'x2x' It is a very simplified version of the Python format. -- MOS_MIGRATED_REVID=93130656
* Skylark: int() function accepts bools and ints too.Gravatar Laurent Le Brun2015-05-07
| | | | | -- MOS_MIGRATED_REVID=93026026
* Normalize path fragment before saving it in package identifier.Gravatar Janak Ramakrishnan2015-05-07
| | | | | -- MOS_MIGRATED_REVID=92934993
* Open source a few more analysis tests.Gravatar Ulf Adams2015-05-04
| | | | | -- MOS_MIGRATED_REVID=92715161
* Remove old Skylark Function hierarchyGravatar Francois-Rene Rideau2015-04-23
| | | | | | | Last step in refactoring of Skylark builtin functions. -- MOS_MIGRATED_REVID=91796746
* Remove circular symlinks to external dependenciesGravatar Kristina Chodorow2015-04-23
| | | | | | | Fixes #87. -- MOS_MIGRATED_REVID=91784426
* Use BuiltinFunction for all builtinsGravatar Francois-Rene Rideau2015-04-22
| | | | | | | | Replace the uses of AbstractFunction, MixedModeFunction, SkylarkFunction and SimpleSkylarkFunction by BuiltinFunction. -- MOS_MIGRATED_REVID=91763158
* More Skylark function cleanupsGravatar Francois-Rene Rideau2015-04-22
| | | | | -- MOS_MIGRATED_REVID=91713784
* Remove Package.AbstractBuilder.Gravatar Han-Wen Nienhuys2015-04-22
| | | | | | | | This simplifies the code a little, and prepares for properly serializing ExternalPackage. -- MOS_MIGRATED_REVID=91673213
* Migrate SkylarkBuiltin annotations to SkylarkSignature instead.Gravatar Francois-Rene Rideau2015-04-21
| | | | | -- MOS_MIGRATED_REVID=91603959
* Skylark fail function: Remove when attribute.Gravatar Laurent Le Brun2015-04-20
| | | | | | | It appears to be unused. Use an explicit 'if' instead. -- MOS_MIGRATED_REVID=91581070
* Remove legacy methods Package#{getRules,getFiles}.Gravatar Han-Wen Nienhuys2015-04-20
| | | | | -- MOS_MIGRATED_REVID=91573102
* More skylark function cleanupsGravatar Francois-Rene Rideau2015-04-17
| | | | | -- MOS_MIGRATED_REVID=91407816
* Build language: Add sorted function.Gravatar Laurent Le Brun2015-04-17
| | | | | -- MOS_MIGRATED_REVID=91322217
* Further reduction of calls to AggregatingAttributeMapper.visitAttribute.Gravatar Greg Estren2015-04-16
| | | | | | | This is now not called on the regular build path except for computed defaults. -- MOS_MIGRATED_REVID=91306062
* Simplify ValidationEnvironment.Gravatar Laurent Le Brun2015-04-16
| | | | | | | We need only a set of symbols, types are not used anymore. -- MOS_MIGRATED_REVID=91299566
* Add a missing "final" modifier.Gravatar Lukacs Berki2015-04-16
| | | | | -- MOS_MIGRATED_REVID=91288032
* Minimize calls to AggregatingAttributeMapper.visitAttribute. Attributes withGravatar Greg Estren2015-04-15
| | | | | | | | | multiple selects run the risk of exponential value growth, so we shouldn't request a full iteration of possible values unless that's really what the caller needs. -- MOS_MIGRATED_REVID=91118257
* More ValidationEnvironment cleanup, remove SkylarkType.GLOBAL.Gravatar Laurent Le Brun2015-04-15
| | | | | | | We don't need to store object methods, just global values. -- MOS_MIGRATED_REVID=91094780
* Simplify MethodLibrary.Gravatar Laurent Le Brun2015-04-15
| | | | | | | Type information for methods is not needed anymore. -- MOS_MIGRATED_REVID=91088042
* Configurable attributes: support embeddable selects. With thisGravatar Greg Estren2015-04-14
| | | | | | | | | | | | | | | | change, the following syntax: deps = [':always'] + select({':a': [':adep'], ':b': [':bdep']}) or deps = select({':a': [':adep'], ':b': [':bdep']}) + select({':c': [':cdep'], ':d': [':ddep']}) works. -- MOS_MIGRATED_REVID=91016337
* Eliminate SkylarkType.toMap() in favor of ImmutableMap.copyOf() and simplify Gravatar Lukacs Berki2015-04-14
| | | | | | | SkylarkType.castMap() a little. -- MOS_MIGRATED_REVID=90988088
* Skylark builtin function cleanupsGravatar Francois-Rene Rideau2015-04-13
| | | | | | | | | | Clean up related to Skylark builtin functions. Replace "hidden" field of some annotations with a "documented" field (with reversed semantics). -- MOS_MIGRATED_REVID=90827020
* Skylark: Update doc for setsGravatar Laurent Le Brun2015-04-09
| | | | | -- MOS_MIGRATED_REVID=90707320
* Skylark: Expose output_to_genfiles rule attributeGravatar Laurent Le Brun2015-04-08
| | | | | -- MOS_MIGRATED_REVID=90616271
* Skylark: Implicit outputs can refer to labels.Gravatar Laurent Le Brun2015-04-03
| | | | | | | Fixes #91. -- MOS_MIGRATED_REVID=90185784
* Make rule.getLabels deterministic.Gravatar Laurent Le Brun2015-04-02
| | | | | | | HashMultimap provides no guarantee on the iteration order. -- MOS_MIGRATED_REVID=90153110
* Skylark: Add function 'int'Gravatar Laurent Le Brun2015-04-02
| | | | | -- MOS_MIGRATED_REVID=90151316
* Remove direct store of Target from NoSuchTargetException. Instead, just note ↵Gravatar Eric Fellheimer2015-04-02
| | | | | | | the fact that a valid Target exists, and instead request it directly from its Package. -- MOS_MIGRATED_REVID=90107670
* Clean up an unnecessary field in NoSuchTargetException.Gravatar Eric Fellheimer2015-04-02
| | | | | -- MOS_MIGRATED_REVID=90081310