aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
Commit message (Collapse)AuthorAge
* Check that most output artifacts are under a directory determined by the ↵Gravatar Lukacs Berki2015-07-29
| | | | | | | | | repository and package of the rule being analyzed. Currently this directory is PACKAGE for rules in the main repository and external/REPOSITORY_NAME/PACKAGE for rules in other repositories. This is a plan to fix #293. Ideally, we would simply make it impossible to create artifacts not under that location, but in practice, we cannot do that because some rules do want to do this, mostly those that are already problematic due to shared actions. So the battle plan is to eliminate as many calls to AnalysisEnvironment.getDerivedArtifact() as I possibly can and audit the rest. -- MOS_MIGRATED_REVID=99351151
* --Gravatar Googler2015-07-29
| | | | MOS_MIGRATED_REVID=99312812
* Switches AndroidRobolectricTest to using .aars to provide transitive ↵Gravatar Andrew Pellegrini2015-07-29
| | | | | | | | | resources to the test runner instead of ResourceContainers. Update AndroidLibraryAarProvider to contain transitive closure of .aars. Provides an ~4x speed improvement in test startup time. RELNOTES: android_resources is no longer allowed as a dep for android_robolectric_test. -- MOS_MIGRATED_REVID=99296321
* Remove the extra outputs from the Java compile action.Gravatar Ulf Adams2015-07-29
| | | | | | | The srclist is never generated as far as I can tell. -- MOS_MIGRATED_REVID=99285158
* Skylark documentation fixesGravatar Laurent Le Brun2015-07-29
| | | | | -- MOS_MIGRATED_REVID=99283744
* Introduced ctx.new_file_suffix(Artifact, String) as an alias for ↵Gravatar Florian Weikert2015-07-29
| | | | | | | ctx.new_file(Artifact, String) -- MOS_MIGRATED_REVID=99259144
* Description redacted.Gravatar Rumou Duan2015-07-28
| | | | | -- MOS_MIGRATED_REVID=99234569
* RELNOTES[INC]: Remove built-in support for cc_public_libraryGravatar Han-Wen Nienhuys2015-07-27
| | | | | -- MOS_MIGRATED_REVID=99180853
* Add a command line option to enable incremental installation for Android ↵Gravatar Lukacs Berki2015-07-27
| | | | | | | | | native libraries. This requires changes to the stub application and the installer script, which are a-coming. -- MOS_MIGRATED_REVID=99174902
* Remove a misleading comment in CppCompileAction (the class is not actually ↵Gravatar Philipp Wollermann2015-07-27
| | | | | | | overriding getInputs()). -- MOS_MIGRATED_REVID=99173247
* Refactor C++ link action creation.Gravatar Ulf Adams2015-07-27
| | | | | | | | | Remove an unnecessary intermediate method in CcBinary and provide a helper method in CcLinkAction.Builder that simplifies several call sites that just want to add CcLinkParams to the link action. -- MOS_MIGRATED_REVID=99172303
* RELNOTES[INC]: Stop supporting the 'suites' attribute of test_suite. UseGravatar Han-Wen Nienhuys2015-07-27
| | | | | | | 'tests' instead. -- MOS_MIGRATED_REVID=99169485
* Enable simple compilation of Python artifacts for py_binary and py_library.Gravatar Googler2015-07-27
| | | | | -- MOS_MIGRATED_REVID=99163140
* SkylarkAttr: Introduce constants for attribute namesGravatar Laurent Le Brun2015-07-27
| | | | | -- MOS_MIGRATED_REVID=99036450
* Reformat SkylarkAttr file.Gravatar Laurent Le Brun2015-07-27
| | | | | -- MOS_MIGRATED_REVID=99032618
* Add attr.int_list to Skylark rulesGravatar Laurent Le Brun2015-07-27
| | | | | | | Also, remove cfg to non-label attributes. -- MOS_MIGRATED_REVID=99031167
* Skylark: Remove flags in attributesGravatar Laurent Le Brun2015-07-27
| | | | | -- MOS_MIGRATED_REVID=99025960
* Remove implicit .a and .so outputs from Bazel.Gravatar Ulf Adams2015-07-27
| | | | | | | | | Change CcLibrary to work both with and without declared outputs. This fixed #61 - header-only libraries now compile on MacOS. -- MOS_MIGRATED_REVID=99007746
* For objc_proto_library, use root relative path of input protos to determine ↵Gravatar Chris Parsons2015-07-27
| | | | | | | | | output location instead of exec path. Prior to this fix, protos that were generated (and thus within genfiles as opposed to bin) would have their objc proto library output to the wrong location -- MOS_MIGRATED_REVID=98940823
* Change the default for CcLibraryHelper.emitLinkActionsIfEmpty to false.Gravatar Ulf Adams2015-07-23
| | | | | | | | | | | | | | | This is renamed from the previous name emitCompileActionsIfEmpty, which was a misnomer, because it didn't affect compile actions at all. Update the callers to no longer call the method if not necessary, which leaves only CcLibrary. CcBinary doesn't hit the link action code path, as it sets the link type to either DYNAMIC_LIBRARY or EXECUTABLE. This is in preparation for removing the implicit outputs from cc_library, which should allow building header-only libraries on MacOS. -- MOS_MIGRATED_REVID=98927221
* Use SafeImplicitOutputFunctions for all except the skylark ones.Gravatar Ulf Adams2015-07-23
| | | | | -- MOS_MIGRATED_REVID=98926819
* Rename appearstoHaveNoObjectFiles to appearsToHaveObjectFiles.Gravatar Greg Estren2015-07-23
| | | | | | | | | | | | | | | Following constantly negating logic like "if (!appearsToHaveNoObjectFiles())" and then digging into the method to see a "if (!NO_OBJECT_GENERATING_FILETYPES.matches) { return false; }" feels like a lot more logical contortion than is necessary. -- MOS_MIGRATED_REVID=98859174
* Rollforward of []: Blaze changes to support LLVM profile feedbackGravatar Googler2015-07-23
| | | | | | | Rollback of commit b961bb931400044ed91e6b0b596f94fe983f9f17. -- MOS_MIGRATED_REVID=98833728
* Allow C++ files to have the .c++ extensionGravatar Kamal Marhubi2015-07-23
| | | | | | | | | | | | While somewhat uncommon, some build environments and projects use the .c++ extension for C++ source files. These projects should be buildable by an unmodified Bazel with no changes to the project other than adding a BUILD file. -- Change-Id: I71575842f50725e9068e7f6608f6404b293ad45c Reviewed-on: https://bazel-review.googlesource.com/#/c/1670/ MOS_MIGRATED_REVID=98823432
* Make the creation of the external package much simpler.Gravatar Lukacs Berki2015-07-23
| | | | | | | A previous change made the loading-time external label resolution unused, thus, now we can do away with a lot of machinery. The only unfortunate side effect is that instead of a nice and clear "No Android SDK found" error message, you'll get a more cryptic "external label //external:android/sdk is unbound" one. I think it's a fair tradeoff. -- MOS_MIGRATED_REVID=98813719
* Support for .s, .S, and .asm files for objc rulesGravatar Chris Parsons2015-07-23
| | | | | -- MOS_MIGRATED_REVID=98772452
* Add ios_lab_device support in experimental_ios_test.Gravatar Googler2015-07-21
| | | | | -- MOS_MIGRATED_REVID=98750733
* Remove some dead code that made Bazel croak on nontrivial Android builds.Gravatar Lukacs Berki2015-07-21
| | | | | -- MOS_MIGRATED_REVID=98730087
* Rollback of commit b8d1e700841d8aa7186ccbdfb0eba53e12a672d0.Gravatar Lukacs Berki2015-07-21
| | | | | | | | | | | | | | | *** Reason for rollback *** Breaks most of the iOS targets on our continuous build. *** Original change description *** Move actoolzip, momczip and swiftstdlibtoolzip to tools/xcode and convert them to scripts instead of java apps. RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=98716081
* Fix up registerEnvironmentPlistAction for bazel on Mac.Gravatar Googler2015-07-21
| | | | | | | | | When run under bazel on my local mac, the environment variables are cleared. This causes TMPDIR to be "" which causes this script to fail. Create a tempdir and use it instead of depending on TMPDIR. Remove tempdir at end to clean up. Quote all paths just to be extra safe that somebody hasn't named their Xcode something wonky. RELNOTES:NONE -- MOS_MIGRATED_REVID=98640412
* Make --android_crosstool_top default to the android_ndk_repository specified ↵Gravatar Lukacs Berki2015-07-20
| | | | | | | | | | | | | in the WORKSPACE file. The error reporting if an android_ndk_repository rule is present is not very user-friendly (it just uses the non-Android toolchain, resulting in compile errors) but given that --android_crosstool_top is an interim solution until we get reasonable multi-platform support, I suppose it's fine. As a side effect, instead of prefixing fat APK output directories with "fat-apk-", we prefix Android output directories with "android-". This makes it possible to build Android apps with zero command line options. Rejoice! -- MOS_MIGRATED_REVID=98624120
* Skylark: Implemented ctx.empty_action() to create actions that neither ↵Gravatar Florian Weikert2015-07-17
| | | | | | | execute a command nor produce any output, but that are useful for inserting "extra actions". -- MOS_MIGRATED_REVID=98481888
* Move another test into open source blaze.Gravatar Ulf Adams2015-07-17
| | | | | -- MOS_MIGRATED_REVID=98478887
* Sets the correct properties in the Info.plist, based on the environment that theGravatar Googler2015-07-17
| | | | | | | rule was executed. -- MOS_MIGRATED_REVID=98417915
* Rollback of commit 69d20b26b50360221849a4860265150f9c66ef25.Gravatar Lukacs Berki2015-07-17
| | | | | | | | | | | | | *** Reason for rollback *** Breaks LIPO, [] *** Original change description *** Blaze changes to support LLVM profile feedback. -- MOS_MIGRATED_REVID=98382087
* Description redacted.Gravatar Googler2015-07-16
| | | | | -- MOS_MIGRATED_REVID=98347349
* Remove low-value warning about alwayslink requiring srcs.Gravatar Han-Wen Nienhuys2015-07-16
| | | | | -- MOS_MIGRATED_REVID=98314264
* Move Jack's tools into AndroidSdkProvider.Gravatar Michael Staib2015-07-16
| | | | | | | | | | | | | | | | | This also eliminates the JackRule, which is no longer necessary, as its sole purpose was to allow Jack's tools to be found. This is now part of AndroidSdkProvider, like all other Android tools. For now, the new attributes on android_sdk are optional and default to their old values. In the future, the new attributes will become mandatory with no defaults, like the other attributes on that rule. Also fixes a bug where errors found during AndroidCommon.initJava would not result in a null return from init, previously obscured by the early return from initJack. -- MOS_MIGRATED_REVID=98305022
* Add all transitive module maps when we use header modules.Gravatar Manuel Klimek2015-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we have a library 'a' that depends on a library 'm' via multiple other libraries, and 'm' is built as a module, we need clang to load the module map of 'm'. There are multiple possible solutions: 1. (This CL): Add all transitive module maps as inputs when we want to use a module map (at any transitive level). Clang will load all module maps, and find the corresponding modules. 2. Add the module maps of all top-level modules (e.g. modules that are not reached transitively through another module) to clang's command line (we already pass all transtitive module maps for each library that is compiled as a module). The upside of (1) is that it simplifies the module map input computation and removes some differences between remote and local compiles (local compiles will always see all transitive module maps). The upside of (2) would be that we use fewer module map inputs when we do builds that use modules as long as we only have a small subset of libraries at the bottom of the stack compiled as modules. Both alternatives keep transitive module maps out of the inputs for actions that do not use header modules, thus making sure the normal case does not regress. We are implementing (1) because the main slow-down with transitive module maps is during the early loading phase, and should be quickly offset by module builds. We will revisit that decision once we have more data. -- MOS_MIGRATED_REVID=98118092
* Add an --android_crosstool_top that sets the C++ toolchain to be used for ↵Gravatar Lukacs Berki2015-07-13
| | | | | | | Android targets. -- MOS_MIGRATED_REVID=98095093
* Adds a getter for the gen jar.Gravatar Alex Humesky2015-07-13
| | | | | -- MOS_MIGRATED_REVID=98002818
* Provide placeholder rule class for deserialized Skylark rulesGravatar Mark Schaller2015-07-10
| | | | | | | | | | | | At this time, Skylark-defined rule classes don't get serialized, and aren't available at package deserialization time. To allow packages with Skylark-defined rule classes to deserialize, we provide a placeholder rule class implementation for deserialized Skylark rules. Resubmitting after previous rollback. -- MOS_MIGRATED_REVID=97972209
* Skylark: Implemented ctx.expand_location() which expands the location(s) of ↵Gravatar Florian Weikert2015-07-10
| | | | | | | the target file(s) of labels -- MOS_MIGRATED_REVID=97949264
* Adds an output group for gen jars.Gravatar Alex Humesky2015-07-10
| | | | | -- MOS_MIGRATED_REVID=97872859
* Make android_binary rules with the application_id= attribute set the correct ↵Gravatar Lukacs Berki2015-07-10
| | | | | | | package name for mobile-install. -- MOS_MIGRATED_REVID=97849200
* Adds gen jar and manifest proto outputs.Gravatar Alex Humesky2015-07-10
| | | | | | | Adds a jar output to Java and Android rules which contains the class files for source files generated from Java annotation processors. For a java_binary foo, the jar will be foo-gen.jar, and for a java_library foo the jar will be libfoo-gen.jar, and similarly for Android. Also adds a binary serialized proto manifest file output to Java and Android rules which describes the contents of the output class jar of those rules, which is used to create the -gen.jar. See src/main/protobuf/java_compilation.proto. -- MOS_MIGRATED_REVID=97793715
* Tolerate "..." as the base filename for the fdo profile.Gravatar Janak Ramakrishnan2015-07-10
| | | | | | | This is fragile, and there might be other places in the codebase this issue occurs. -- MOS_MIGRATED_REVID=97784977
* Add a separate section for workspace rules in the encyclopediaGravatar Kristina Chodorow2015-07-08
| | | | | -- MOS_MIGRATED_REVID=97771662
* Make globs work in remote repositories.Gravatar Lukacs Berki2015-07-08
| | | | | | | | | | | This involved quite a few changes, mainly changing a bunch of places where we refer to packages by a PathFragment to PackageIdentifier. The only wart is the code in PathPackageLocator: ideally, it would just call into PackageLookupFunction. Unfortunately, it is (through globbing and Parser.include) called from within a Skyframe function, and we don't want to have two eval() calls going on at the same time, so we cannot use that. There is a potential correctness issue there: PathPackageLocator now assumes where external repositories are put and assumes that they are there when it gets control, but my understanding is that the associated RepositoryValue is always evaluated before, so it works out okay. -- MOS_MIGRATED_REVID=97751539
* Moves ibtoolzip from src/tools/xcode-common/j/c/g/devtools/ to src/tools/xcode.Gravatar Googler2015-07-08
| | | | | | | | | | Moves ibtoolzip from being java based to being bash based for easier dev/testing. Changes the name of ibtoolzip to ibtoolwrapper to avoid conflicts with currently deployed bazel depending on the ibtoolzip name. Updates realpath Cleans up update_binaries.sh -- MOS_MIGRATED_REVID=97724252