aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/JackCompilationHelper.java
Commit message (Collapse)AuthorAge
* Add a java_{library,binary}.resource_jars attribute that allows one to ↵Gravatar Lukacs Berki2017-01-12
| | | | | | | | specify jar files containing Java resources. -- PiperOrigin-RevId: 144299119 MOS_MIGRATED_REVID=144299119
* Spam lib/rules/android with @AutoValue. Mostly created byGravatar Googler2016-09-01
| | | | | -- MOS_MIGRATED_REVID=131832497
* Replace calls to SpawnAction$Builder#addInputs(NestedSet) with ↵Gravatar Liam Miller-Cushon2016-07-29
| | | | | | | addTransitiveInputs -- MOS_MIGRATED_REVID=128820723
* Rollback of commit bdfd58a8ca2ed5735d6aaa5b238fb0f689515724.Gravatar Laurent Le Brun2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125160288
* Make the execution root match the runfiles tree structure for external ↵Gravatar Kristina Chodorow2016-06-17
| | | | | | | | | | | | | | | | | | | | | repositories One interesting side effect of how this is implemented is that for external repositories, bin/ and genfiles/ are combined. External repo output is under bazel-out/local-fastbuild/repo_name for each repo. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. -- MOS_MIGRATED_REVID=125095799
* Compile base classpaths for Bazel Jack support in android_sdk.Gravatar Michael Staib2016-03-17
| | | | | | | | | | | | | | | | | | | | | | | | This also enables Jack support to compile with the Java bootclasspath when running over non-Android rules. This is akin to how normal javac support works - android_ rules are compiled with android.jar, while java_libraries are compiled with special flags but the normal compile time bootclasspath. As of this change, the android_jack attribute on android_sdk is now deprecated, and has no further effect. Because it was always optional, this isn't really much of a change, it just means that now it does nothing even if you DO specify it. Because Jack support is still experimental, this should have no effect on most users. RELNOTES[INC]: android_sdk now compiles android_jack on the fly from android_jar, which means android_jar must be a jar and android_jack is now deprecated. The Jack tools (jack, jill, resource_extractor) must be specified. -- MOS_MIGRATED_REVID=117386373
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Prefer RuleContext.getFragment over BuildConfiguration.getFragment.Gravatar Ulf Adams2015-08-24
| | | | | | | This improves the coverage of the legality check in RuleContext.getFragment. -- MOS_MIGRATED_REVID=101208822
* 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
* 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 a tools/android/jack package to the Bazel tree so that Android rules ↵Gravatar Lukacs Berki2015-06-17
| | | | | | | | | actually work. This is a temporary measure until these targets are integrated into android_sdk . Also make handling invalid tools/android/jack packages in JackCompilationHelper a bit more robust. -- MOS_MIGRATED_REVID=96202009
* Perform resource path munging at the provider level.Gravatar Michael Staib2015-06-11
| | | | | | | | | To avoid needing a JavaSemantics in the JackAspect, move the resource path determination into the provider itself rather than doing it in the JackCompilationHelper. -- MOS_MIGRATED_REVID=95684532
* Add the JackCompilationHelper to Bazel.Gravatar Michael Staib2015-06-08
This class contains the compilation logic for Jack: building Java files/resources into Jack libraries, and converting jar files using Jill to convert Java code and a resource extraction script to pull resources out. The JackLibraryProvider is exported by rules which can compile to Jack. Android library rules will export this provider, while an aspect will be used to add it to Java rules. -- MOS_MIGRATED_REVID=95296935