aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Add xctest_app ipa file to files-to-buildGravatar Matthew DeVore2015-03-23
| | | | | -- MOS_MIGRATED_REVID=89131807
* Add C++ flags to C++ linkstamp compiles.Gravatar Manuel Klimek2015-03-23
| | | | | | | | In the future, we will have linkstamp flags be generated by the crosstool feature configuration, just like normal compile actions. -- MOS_MIGRATED_REVID=89131127
* remove ActionMetadata#getInputCountGravatar Michajlo Matijkiw2015-03-23
| | | | | | | | | | | | Removing ActionMetadata#getInputCount instead of relying on all implementations of ActionMetadata keeping getInputCount and getInputs in sync. getInputCount is only used by a few tests and has no applications in the main code at the moment, so it is trivial to remove before we may come to rely on it more or its semantics get more complicated. -- MOS_MIGRATED_REVID=89130009
* Make rules referencing paths outside of the execution root an error.Gravatar Manuel Klimek2015-03-23
| | | | | | | RELNOTES: Referencing a path outside the execution root is now an error. -- MOS_MIGRATED_REVID=89129910
* Initial checkin of Python rules into Bazel.Gravatar Lukacs Berki2015-03-23
| | | | | -- MOS_MIGRATED_REVID=89123900
* Skylark: proper anchor is generated for Boolean types in the documentation.Gravatar Googler2015-03-23
| | | | | -- MOS_MIGRATED_REVID=89123292
* Skylark: minor documentation cleanups.Gravatar Googler2015-03-23
| | | | | -- MOS_MIGRATED_REVID=89123209
* Skylark: documentation is updated. SkylarkFileType.java is moved to the ↵Gravatar Googler2015-03-20
| | | | | | | ../lib/rules package. Unused code is removed. Anchor for lists is fixed in the doc. -- MOS_MIGRATED_REVID=89117189
* Only load default_provisioning_profile if we need oneGravatar Daniel Wagner-Hall2015-03-20
| | | | | | | We don't need a provisioning profile if we're building for a simulator -- MOS_MIGRATED_REVID=89098211
* objc: Only load dump_syms if we're actually going to use itGravatar Daniel Wagner-Hall2015-03-20
| | | | | -- MOS_MIGRATED_REVID=89095609
* Move cast* utilities to SkylarkTypeGravatar Francois-Rene Rideau2015-03-20
| | | | | | | | Move castList, castMap, toMap utilities away from SkylarkFunction to SkylarkType where the cast utility already has been moved. -- MOS_MIGRATED_REVID=89042835
* Configurable attributes for ios_cpu should work under ios_multi_cpus.Gravatar Peter Schmitt2015-03-20
| | | | | -- MOS_MIGRATED_REVID=89038414
* Replace @BlazeRule with a getMetadata() method. This lets us avoid Java ↵Gravatar Googler2015-03-20
| | | | | | | | | | | | | | | | | Reflection, and saves ~15% of initialization time in []RuleClassProvider.create(). Before change: Over 14 samples, average = 976 median = 969.9 After change: Over 14 samples, average = 811.5 median = 813.9 -- MOS_MIGRATED_REVID=89036261
* Allow specifying crosstool flags based on the build mode.Gravatar Manuel Klimek2015-03-20
| | | | | | | | | | | The build mode ('dbg', 'opt', 'fastbuild') is specified as a feature. The crosstool can use that feature to switch between different flag configurations. As one of these is always provided, the crosstool can hang default configurations off of those features (via implies). -- MOS_MIGRATED_REVID=89035231
* Give a helpful error message when the crosstool configuration enablesGravatar Manuel Klimek2015-03-20
| | | | | | | | | unsupported features for a rule. Previously this would lead to a NPE later on. -- MOS_MIGRATED_REVID=89033249
* Skylark: documentation for targets is added and improved.Gravatar Googler2015-03-20
| | | | | -- MOS_MIGRATED_REVID=89032399
* Prevent clashing xcode targets for multiple architectures.Gravatar Peter Schmitt2015-03-20
| | | | | | | | | | | Without this change we create a xcode target for each combination (target, architecture) which causes the xcode project generation to blow up: Xcode transparently handles architectures. Eventually we want to match Xcode's behaviour but for now we export just a single architecture's xcode targets which should allow developers to work in xcode as before while preserving multi-architecture compilation for IPAs in blaze. -- MOS_MIGRATED_REVID=88973190
* Delay updating inputs of an action when processing the action cache until it ↵Gravatar Janak Ramakrishnan2015-03-20
| | | | | | | | | | | is known that the action is a cache hit. This adds momentary memory overhead when checking the action cache, but should prevent a host of potential errors. Note that this cl assumes that an action that discovers its inputs does *not* take the names of its inputs into account when calculating its key, which is already stated as part of the javadoc of Action#getKey. -- MOS_MIGRATED_REVID=88971626
* Use //external:objc_proto_lib instead of a googlemac path for objc_proto_libraryGravatar Daniel Wagner-Hall2015-03-20
| | | | | -- MOS_MIGRATED_REVID=88964412
* Make include scanning faster when a target has many include scannables.Gravatar Manuel Klimek2015-03-20
| | | | | | | | | | | | | | | | | Instead of repeatedly scanning all transitively required include scannables, do one pass from all include scannables; this prevents us revisiting the common transitive closure of the include scannables. Additionally, only scan command line includes relatively to a main source file, not relatively to all source files. This is better than what we had before, but it's still not exactly right - we should actually scan the command line includes relatively to the module map file ([] Brings include scanning times for large TUs with modules down from ~60 seconds to < 2 seconds. -- MOS_MIGRATED_REVID=88963159
* Disambiguate jar paths in the exec root treeGravatar Kristina Chodorow2015-03-20
| | | | | | | | | | | Before, external jars would stomp on each other and the last jar loaded would "win" (all others would be overwritten and the build would fail). This changes symlink forest path generation to generate unique paths under <exec-root>/external/ for jars, so multiple external jar dependencies can be used. -- MOS_MIGRATED_REVID=88952191
* On-the-fly target pattern resolution in SkyQueryEnvironmentGravatar Mark Schaller2015-03-18
| | | | | | | | | | | | | Moves pattern resolving logic from TargetPatternFunction.Resolver to a top level class. Adds a layer of abstraction to the Resolver implementation enabling it to be backed by either an Environment or a Graph, for use in SkyFunction evaluation or on-the-fly evaluation, respectively. Finally, SkyQueryEnvironment#preloadOrThrow now checks to see if each target pattern exists in the graph, and any that don't will be resolved on-the-fly. -- MOS_MIGRATED_REVID=88861201
* Split actoolzip and ibtoolzip into separate binariesGravatar Daniel Wagner-Hall2015-03-18
| | | | | | | | Have actoolzip abs-ify the partial info plist path because otherwise it picks seemingly random directories to which to output the info plist files. -- MOS_MIGRATED_REVID=88851706
* Simplify actoolzip argument flowGravatar Daniel Wagner-Hall2015-03-18
| | | | | -- MOS_MIGRATED_REVID=88789823
* Make JDK not need tools/jdk/jdk symlinkedGravatar Kristina Chodorow2015-03-18
| | | | | -- MOS_MIGRATED_REVID=88742425
* Set Bazel TEST_SRCDIR to runfiles root, not inside runfiles prefix.Gravatar Ross Light2015-03-18
| | | | | -- MOS_MIGRATED_REVID=88739509
* Allow ios_application in xctest_app attribute.Gravatar Peter Schmitt2015-03-16
| | | | | | | RELNOTES: Allow ios_application in xctest_app attribute. -- MOS_MIGRATED_REVID=88730548
* Automated [] rollback of [].Gravatar Ulf Adams2015-03-16
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke one of our integration tests. *** Original change description *** Declare dependencies on discovered inputs before execution instead of after. As a side effect, we no longer restart ActionExecutionFunction after the action has executed unless the action ran locally (and therefore didn't discover its inputs beforehand). This also means that we no longer need to store an out-of-Skyframe cache for discovered includes except when checking the action cache. Since my suspicion is that the out-of-Skyframe cache will have a minimal performance impact once it is just... *** -- MOS_MIGRATED_REVID=88724988
* Add a feature to put each header into it's own submodule. This will be requiredGravatar Googler2015-03-16
| | | | | | | | | | | | | | | | | | to keep the existing behavior when turning on C++ modules. The problem is that a #include of a header gets internally translated into an import of the header's (sub)module. Now, if all headers of a cc_library are in the same module, this means, a single import of one of them makes the symbols of all of them accessible. While this isn't inherently problematic, it breaks the similarity between a modules and non-modules build. This behavior is hidden behind a feature for now as I have just committed necessary changes to Clang, which will need to be release to stable, before we can flip everything. Also, don't put a header as both normal and private header if it is present in both. (Or don't output two submodules with the new implementation). -- MOS_MIGRATED_REVID=88723759
* RELNOTES[INC]: genquery target locations are now relative to the workspace ↵Gravatar Damien Martin-Guillerez2015-03-16
| | | | | | | | | root when used with protobuf or XML outputs. genquery was non-deterministic accross machines / workspace location without that setting. -- MOS_MIGRATED_REVID=88711033
* Split ios_application configurations based on --ios_multi_cpus.Gravatar Peter Schmitt2015-03-16
| | | | | | | | | | | | | | | | | | Using the new flag works only on ios_application and ios_extension targets, resulting in their output binaries being "universal" with all given architectures included. Internally this is achieved by splitting the "binary" dependency (and its transitive dependencies) of ios_{application,extension} to be built in one of the architectures using split transitions. The results are then combined. Since an ios_application may depend on ios_extension, we transition back to the top-level configuration when encoutering such a dependency using the newly introduced TOP_LEVEL transition and then split configurations again. RELNOTES: --ios_multi_cpus allows building fat ios_applications. -- MOS_MIGRATED_REVID=88555540
* RELNOTES: Allow users to set the simulated device, SDK, and environment from ↵Gravatar Googler2015-03-13
| | | | | | | the command line when running an objc_binary or ios_application. -- MOS_MIGRATED_REVID=88544811
* Declare dependencies on discovered inputs before execution instead of after.Gravatar Janak Ramakrishnan2015-03-13
| | | | | | | | | | | As a side effect, we no longer restart ActionExecutionFunction after the action has executed unless the action ran locally (and therefore didn't discover its inputs beforehand). This also means that we no longer need to store an out-of-Skyframe cache for discovered includes except when checking the action cache. Since my suspicion is that the out-of-Skyframe cache will have a minimal performance impact once it is just being used for the action cache, I may delete it in a follow-up cl. After this change, we will overapproximate the set of includes because we depend on all includes, rather than just the ones that the action was found to depend on after execution. This is a prerequisite for Skyframe-native include scanning in that Skyframe-native include scanning will need to add at least as many Skyframe nodes and edges. If we end up punting on it, then we may want to revert this change. But for now I think it's worth having. I'll run some more numbers to see what the actual performance impact is. -- MOS_MIGRATED_REVID=88492955
* add baseline functionality for not saving unused artifactsGravatar Michajlo Matijkiw2015-03-13
| | | | | | | | | | | | | | | | | | | We define unused artifacts as those that aren't consumed by any action. This can be because an action produced more outputs than a dependent action needed, or because it's a top level artifact and we don't care about its contents, just that it was built without issue. Actions may prevent outputs from being discarded by declaring them as mandatory. This is particularly useful for test outputs. The motivation behind this change is to reduce storage overhead for things we can do without. It is worth noting this change doesn't cover all cases. In particular it has difficulty identifying *_binary artifacts as orphaned. This is due to the insertion of a virtual runfiles artifact which depends upon the rule's outputs. -- MOS_MIGRATED_REVID=88467504
* Skylark: Make ctx.var a dictionary.Gravatar Laurent Le Brun2015-03-13
| | | | | | | | ctx.var(x) is kept for compatibility and should be removed after next release. -- MOS_MIGRATED_REVID=88438195
* Attribute synopsis's are cleaned up. The BE generator prints a warning in ↵Gravatar Googler2015-03-13
| | | | | | | case of a missing synopsis (except for deprecated attributes). -- MOS_MIGRATED_REVID=88436777
* AttributeMap#has(String, Type) is added to check whether an attribute with a ↵Gravatar Googler2015-03-13
| | | | | | | | | given name is present. Rule implementations are cleaned up. -- MOS_MIGRATED_REVID=88430329
* Defaulted cpu to the host cpuGravatar Damien Martin-Guillerez2015-03-13
| | | | | | | | This should remove the needs for the --cpu=darwin flag under darwin. Bazel build are now using the host cpu too. This commit also fix the host cpu detection. The host cpu detection was too late and and some corner case was not really working with configurable attributes. It is now done as the default value for the --host_cpu flag. -- MOS_MIGRATED_REVID=88427551
* BazelTestSuiteRule is documented. The "suites" attribute is removed from ↵Gravatar Googler2015-03-13
| | | | | | | | | | BazelTestSuiteRule. - "suites" is deprecated - it has the exact same functionality as "tests" -- MOS_MIGRATED_REVID=88426066
* Implements an attribute textual_hdrs for cc_library rules.Gravatar Manuel Klimek2015-03-13
| | | | | | | | | | | We currently use .inc as file extension for textual includes, as per the style guide. This is not feasible for third_party libraries, including libc and lib(std)c++. RELNOTES: Add textual_hdrs attribute to cc_library rules. -- MOS_MIGRATED_REVID=88422306
* Move bundle_id storage from BundleMergeControlBytes to Bundling to fix a ↵Gravatar Googler2015-03-13
| | | | | | | | | case of nested bundles. RELNOTES: objc: Fixes a case where nested bundle would pick up parent bundle_id value -- MOS_MIGRATED_REVID=88372062
* Return the set of files found when discovering inputs. Skyframe will ↵Gravatar Janak Ramakrishnan2015-03-11
| | | | | | | | | probably want to store these and may declare dependencies in advance so all metadata is present in the graph. Long-term, we may be able to use the returned set to make input-discovering actions immutable, which would be nice. -- MOS_MIGRATED_REVID=88348068
* structured_resources allows directories in .app.Gravatar Peter Schmitt2015-03-11
| | | | | | | RELNOTES: objc_* rules can use structured_resources -- MOS_MIGRATED_REVID=88337360
* BazelFilegroupRule is documented.Gravatar Googler2015-03-11
| | | | | -- MOS_MIGRATED_REVID=88322388
* Compiling protos should generate coverage files(.gcno) if in coverage mode.Gravatar Googler2015-03-11
| | | | | -- MOS_MIGRATED_REVID=88236380
* Misc Skylark cleanups and small featuresGravatar Francois-Rene Rideau2015-03-10
| | | | | -- MOS_MIGRATED_REVID=88224368
* Allow ios_test to override the GCOV environment variableGravatar Daniel Wagner-Hall2015-03-10
| | | | | -- MOS_MIGRATED_REVID=88218457
* RELNOTES: Expose getWorkspaceName as ctx.workspace_name in Skylark.Gravatar Han-Wen Nienhuys2015-03-10
| | | | | -- MOS_MIGRATED_REVID=88137421
* Skylark: Expose non_empty flag for list/dict attributes.Gravatar Laurent Le Brun2015-03-10
| | | | | -- MOS_MIGRATED_REVID=87956686
* RELNOTES: Added ios_memleaks flag which when enabled will check the test ↵Gravatar Googler2015-03-05
| | | | | | | application for memory leaks. -- MOS_MIGRATED_REVID=87839695