aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
Commit message (Collapse)AuthorAge
* Skylark rules can no longer overwrite built-in attributes.Gravatar Florian Weikert2015-09-25
| | | | | -- MOS_MIGRATED_REVID=103931317
* Change Attribute.skipConstraintsCheck() (and similar methods)Gravatar Greg Estren2015-09-25
| | | | | | | | | | | | | to Attribute.skipPrereqValidatorCheck. This is to disambiguate the concept of "constraints" and keep the word consciously focused on Bazel's *new* constraint system. The changed methods refer to checks done by PrerequisiteValidator, which is basically an adhoc version of the "old" system (e.g. checking visibility) -- MOS_MIGRATED_REVID=103872412
* Remove both of equals/hashCode from classes in lib/packages where either ↵Gravatar Nathan Harmata2015-09-24
| | | | | | | | | only one of them was implemented (potentially incorrectly) or the class really intends to have reference equality. RELNOTES: -- MOS_MIGRATED_REVID=103778746
* Allow custom Package serialization logic to be injected. Also fix incorrect ↵Gravatar Nathan Harmata2015-09-23
| | | | | | | comment in PackageSerializer. -- MOS_MIGRATED_REVID=103693274
* Roll back using labels rather than PathFragments for skylark loads.Gravatar Michajlo Matijkiw2015-09-22
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=103606693
* Use Labels, rather than PathFragments, to represent Skylark loads ↵Gravatar John Field2015-09-22
| | | | | | | | | | | | | | | | | | | internally. This should be a semantics-preserving change for users. In a subsequent CL, I'll change the Skylark syntax to allow load statements to use labels as well as paths, with the goal of eventually deprecating the latter. Also: - Removed the hack for handling relative loads in the prelude file. - Refactored some redundant functionality in PackageFunction and SkylarkImportLookupFunction for handling loads. - Removed the ability to put the BUILD file for the package containing a Skylark file under a different package root than the Skylark file itself. This functionality isn't currently used and is inconsistent with Blaze's handling of the package path elsewhere. - Added BUILD files to a number of tests that load Skylark files; this is consistent with the requirement that all Skylark files need to be part of some package. - Changed the constants used to set the location of the prelude file from paths to labels. -- MOS_MIGRATED_REVID=103567562
* Serialize workspaceName.Gravatar Han-Wen Nienhuys2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103547846
* 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
* Make sure disabled FDO features are filtered out.Gravatar Googler2015-09-21
| | | | | | | Without this, the FDO features enabled under --fdo* blaze options are not removed when BUILD files contain "features = ['-fdo_instrument', '-fdo_optimize']". -- MOS_MIGRATED_REVID=103431508
* Do not store a separate map for external package data. This ensures that ↵Gravatar Han-Wen Nienhuys2015-09-21
| | | | | | | | | serialization works correctly. Removes ExternalPackage as Package specialization. -- MOS_MIGRATED_REVID=103395682
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Native.glob: Remove obsolete 'excludes' argument.Gravatar Laurent Le Brun2015-09-21
| | | | | | | | Due to a typo in the past, we had to support both 'exclude' and 'excludes' for the migration. -- MOS_MIGRATED_REVID=103371676
* Remove support for the deprecated include() statement in order to be able to ↵Gravatar Lukacs Berki2015-09-21
| | | | | | | | | separate Skylark from the rest of the code so that Label parsing can be simplified. This is another go at []: now that the tests were fixed in [] and [] it can be submitted again. -- MOS_MIGRATED_REVID=103364881
* Refactor SkylarkList to allow MutableListGravatar Francois-Rene Rideau2015-09-21
| | | | | | | | Make SkylarkList no longer read-only to match Python and the BUILD language. Instead, subject it to a Mutability object inherited from the Environment. -- MOS_MIGRATED_REVID=103332973
* Rollback of commit 4e5037520e3067f9d8784e1c59f9545b96111cd4.Gravatar Lukacs Berki2015-09-17
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke tests, I mistakenly assumed it was flakiness. *** Original change description *** Remove support for the deprecated include() statement. This is part of the crusade to eliminate as every dependency in Skylark on the rest of the code so that it can be moved deeper in the dependency graph. RELNOTES: The include() statement in BUILD files is not supported anymore. -- MOS_MIGRATED_REVID=103284257
* Remove support for the deprecated include() statement.Gravatar Lukacs Berki2015-09-17
| | | | | | | | | This is part of the crusade to eliminate as every dependency in Skylark on the rest of the code so that it can be moved deeper in the dependency graph. RELNOTES: The include() statement in BUILD files is not supported anymore. -- MOS_MIGRATED_REVID=103279943
* Refactor Type.getLabels() so that instead of collecting labels, it flattens ↵Gravatar Lukacs Berki2015-09-17
| | | | | | | | | composite types and remove the mention of the type "Label" from the context argument of Type.convert(). This is in preparation of separating build-specific types and types inherent to Skylark. -- MOS_MIGRATED_REVID=103266869
* Stop throwing an exception if a Package was successfully created but ↵Gravatar Janak Ramakrishnan2015-09-17
| | | | | | | | | | | contains errors. Instead, require callers to process the package and throw if they need to. This allows us to avoid embedding a Package in an exception, which is icky. This also allows us to remove Package#containsTemporaryErrors. Most callers' changes are fairly straightforward. The exception is EnvironmentBackedRecursivePackageProvider, which cannot throw an exception of its own in case of a package with errors (because it doesn't do that in keep_going mode), but whose request for a package with errors *should* shut down the build in case of nokeep_going mode. To do this in Skyframe, we have a new PackageErrorFunction which is to be called only in this situation, and will unconditionally throw. EnvironmentBackedRecursivePackageProvider can then catch this exception and continue on as usual, except that the exception will shut down the thread pool in a nokeep_going build. -- MOS_MIGRATED_REVID=103247761
* Get rid of transient errors during preprocessing and throw IOExceptions ↵Gravatar Janak Ramakrishnan2015-09-16
| | | | | | | instead. Transient errors were only detected on IOExceptions, but preprocessing doesn't actually throw IOExceptions except if it fails before it even opens the main file, so there's no sense in trying to construct a package in that case. -- MOS_MIGRATED_REVID=103119445
* Removed attribute 'generator_location' from rules created by Skylark macros.Gravatar Florian Weikert2015-09-15
| | | | | -- MOS_MIGRATED_REVID=103090380
* Parse the label syntax "@//a:b" so that eventually we can make that the ↵Gravatar Lukacs Berki2015-09-15
| | | | | | | | | syntax that means "refer to the main repository". There isn't an overarching plan for what we are going to do with the cmdline package, which seems to be separated from the .syntax one in all sorts of awkward ways. -- MOS_MIGRATED_REVID=103088960
* Use the BUILD file location instead of location inside the macro.Gravatar Laurent Le Brun2015-09-15
| | | | | -- MOS_MIGRATED_REVID=103004059
* Prevented catching/wrapping of InterruptedExceptions, especially in ↵Gravatar Florian Weikert2015-09-14
| | | | | | | BaseFunction. -- MOS_MIGRATED_REVID=102988766
* Don't expose includeGlobs in PackageSerializer public interfaceGravatar Michajlo Matijkiw2015-09-11
| | | | | | | | We always set this false when calling from outside PackageSerializer. Hide it away since we don't need it and so that we don't get tempted. -- MOS_MIGRATED_REVID=102864146
* Refactor Skylark Environment-sGravatar Francois-Rene Rideau2015-09-11
| | | | | | | | | | | | | | | | | | | | Make Environment-s freezable: Introduce a class Mutability as a revokable capability to mutate objects in an Environment. For now, only Environment-s carry this capability. Make sure that every Mutability is revoked in the same function that create... This reinstates a change that previously rolled-back because it broke the serializability of SkylarkLookupValue. Bad news: serializing it succeeds for the wrong reason, because a SkylarkEnvironment was stored as a result (now an Environment.Extension) that was Serializable but inherited its bindings from an Environment (now an Environment.BaseExtension) which wasn't Serializable. Apparently, Java doesn't try to serialize the bindings then (or at least doesn't error out when it fails), because these bindings map variable names to pretty arbitrary objects, and a lot of those we find in practice aren't Serializable. Thus the current code passes the same tests as the previous code, but obviously the serialization is just as ineffective as it used to be. -- MOS_MIGRATED_REVID=102776694
* Stop serializing/deserializing Locations as part of PackagesGravatar Michajlo Matijkiw2015-09-11
| | | | | | | | | | | | They're not cheap to serialize or reconstitute and we don't really need them. This does leave some odd ends around, in particular i decided to keep deserialization context around as i can picture use for it soon. Also return non-null values from all of EmptyLocation's method since while the javadocs declare that LineAndColumn and Path can be null, there does exist code which does not take this into account, this is for another change. -- MOS_MIGRATED_REVID=102758810
* Rewrite the preprocessor infrastructure to return events as part of the result.Gravatar Ulf Adams2015-09-09
| | | | | -- MOS_MIGRATED_REVID=102658808
* Avoid checking visibility and other constraints for the lipo dependency.Gravatar Ulf Adams2015-09-08
| | | | | | | | | The lipo dependency is artificial; it's an artifact of how LIPO is implemented in Bazel. Running these checks doesn't make sense; they unnecessarily disallow perfectly valid scenarios. -- MOS_MIGRATED_REVID=102550286
* Skylark: configuration fragments for host configuration can now be accessed ↵Gravatar Florian Weikert2015-09-08
| | | | | | | via ctx.host_fragments. -- MOS_MIGRATED_REVID=102490502
* Skylark macros: The attribute "generator_name" now contains the name of the ↵Gravatar Florian Weikert2015-09-08
| | | | | | | calling rule in the BUILD file. -- MOS_MIGRATED_REVID=102487335
* Rollback of commit 5a94e59f02833f9142bad9203acd72626b089535.Gravatar Janak Ramakrishnan2015-09-08
| | | | | | | | | *** Reason for rollback *** Breaks serialization of SkyValues. -- MOS_MIGRATED_REVID=102457225
* Refactor Skylark Environment-sGravatar Francois-Rene Rideau2015-09-08
| | | | | | | | | | | | | | | | | Make Environment-s freezable: Introduce a class Mutability as a revokable capability to mutate objects in an Environment. For now, only Environment-s carry this capability. Make sure that every Mutability is revoked in the same function that creates it, so no Environment is left open for modification after being created and exported; exceptions for tests, the shell and initialization contexts. Unify Environment, SkylarkEnvironment and EvaluationContext into Environment. Have a notion of Frame for the bindings + parent + mutability. Replace the updateAndPropagate mechanism by a dynamicFrame. Simplify ValidationEnvironment, that is now always deduced from the Environment. -- MOS_MIGRATED_REVID=102363438
* Inject the default runfiles prefix from the rule class provider.Gravatar Ulf Adams2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102341264
* Fix some warnings.Gravatar Ulf Adams2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102332437
* Mark $implicit_tests attribute from test_suite as order independent.Gravatar Laurent Le Brun2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102294171
* Remove unused ParserInputSource method and other minor cleanupsGravatar Michajlo Matijkiw2015-09-03
| | | | | | | | | | | | Trying to curb usage of the create method taking a String for efficiency reasons. Noticed this method was unused + a few places where we could easily use chars instead of string. Not a major improvement but removes some temptation. RELNOTES: -- MOS_MIGRATED_REVID=102258319
* Always inject the runfiles prefix into the Runfiles.Builder.Gravatar Ulf Adams2015-09-03
| | | | | | | The other constructor is now private. -- MOS_MIGRATED_REVID=102252544
* When a Skylark macro creates a native rule, it also sets the following rule ↵Gravatar Florian Weikert2015-09-02
| | | | | | | attributes: generator_{function, name, location} -- MOS_MIGRATED_REVID=102139196
* Aspects can get information from their base rule.Gravatar Marian Lobur2015-09-02
| | | | | -- MOS_MIGRATED_REVID=102126786
* Fix crash on deserializing INTEGER_LIST attributes in packages.Gravatar Eric Fellheimer2015-09-02
| | | | | | | Currently, this can only happen if a Skylark rules declare use of such an INTEGER_LIST. -- MOS_MIGRATED_REVID=102054727
* Inject the prelude path through the rule class provider.Gravatar Ulf Adams2015-09-01
| | | | | -- MOS_MIGRATED_REVID=102020499
* Make full location serialization for packages optionalGravatar Michajlo Matijkiw2015-08-31
| | | | | | | | | | Finding start/end line/col for locations takes some cpu work. As locations are quite common this cpu work adds up. Instead make it possible to only serialize the bare minimum location (start and end offset), the rest can be derived from the original file if necessary. -- MOS_MIGRATED_REVID=101966365
* Move global objects to RuntimeGravatar Francois-Rene Rideau2015-08-31
| | | | | | | | Move away global constants and global namespaces out of Environment and into a new file Runtime. -- MOS_MIGRATED_REVID=101940218
* Roll back "When a Skylark macro creates a native rule, it also..."Gravatar Michajlo Matijkiw2015-08-31
| | | | | -- MOS_MIGRATED_REVID=101798931
* 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
* When a Skylark macro creates a native rule, it also sets the following rule ↵Gravatar Florian Weikert2015-08-28
| | | | | | | attributes: generator_{function, name, location} -- MOS_MIGRATED_REVID=101774632
* Don't unnecessarily concatenate Strings just for an error message in an ↵Gravatar Nathan Harmata2015-08-28
| | | | | | | IllegalStateException that might not be thrown at all. -- MOS_MIGRATED_REVID=101748191
* Presize the LinkedHashSet to which we add glob results.Gravatar Nathan Harmata2015-08-28
| | | | | -- MOS_MIGRATED_REVID=101743615
* Avoid internal resizing when converting ListType.Gravatar Eric Fellheimer2015-08-28
| | | | | -- MOS_MIGRATED_REVID=101723683
* Stop removing onlyLoadingPhase bindingsGravatar Francois-Rene Rideau2015-08-28
| | | | | | | | They are now disabled based on a dynamic flag instead. It's all too easy to bypass removal with duplication, anyway, as in my_native_glob = native.glob -- MOS_MIGRATED_REVID=101714237