aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android
Commit message (Collapse)AuthorAge
* disambiguate mnemonics for $shuffle_jars and $dexsharder actionsGravatar kmb2017-12-11
| | | | | | RELNOTES: None. PiperOrigin-RevId: 178693605
* Move native deps collection code out of android_binary.Gravatar ajmichael2017-12-09
| | | | | | | Also remove a TODO that was addressed in unknown commit. RELNOTES: None PiperOrigin-RevId: 178489151
* Stop filtering resources in analysis in aapt2 buildsGravatar Googler2017-12-08
| | | | | | | | aapt2 always gets the complete, unfiltered resources, and then filters them in execution. Save time by not uselessly filtering in analysis. RELNOTES: none PiperOrigin-RevId: 178397137
* Infrastructure for fixed checking if android_test can inherit resourcesGravatar Googler2017-12-08
| | | | | RELNOTES: none PiperOrigin-RevId: 178369060
* Expose two methods from JavaSkylarkApiProvider in JavaInfoGravatar dbabkin2017-12-07
| | | | | | | | | | | | JavaSkylarkApiProvider will be deprecated soon and replaced by JavaInfo. Methods exposed: getCompilationInfoProvider() getTransitiveExports() Changed signature of JavaCommon methods to accept JavaInfoBuilder. RELNOTES:none PiperOrigin-RevId: 178229835
* allow params files for long dexmerger and dexsharder command linesGravatar kmb2017-12-06
| | | | | | RELNOTES: None. PiperOrigin-RevId: 178130422
* Use static final variables for spawn action resource sets.Gravatar tomlu2017-12-06
| | | | PiperOrigin-RevId: 178100868
* Reflect progress on incremental dexing in android_binary's ↵Gravatar kmb2017-12-05
| | | | | | | | incremental_dexing attribute documentation. RELNOTES: None. PiperOrigin-RevId: 178047799
* Fix error prone warning about reference equality.Gravatar ajmichael2017-12-05
| | | | | RELNOTES: None PiperOrigin-RevId: 177965009
* Expose getGenJarsProvider methods from JavaSkylarkApiProvider in JavaInfoGravatar dbabkin2017-12-05
| | | | | | | | | | | JavaSkylarkApiProvider will be deprecated soon and replaced by JavaInfo. Methods exposed: getGenJarsProvider() Made changed in all relevant Java family rules, to build JavaGenJarsProvider provider and assign to JavaInfo RELNOTES:none PiperOrigin-RevId: 177950965
* Remove some deadish Windows-related runfiles code.Gravatar Benjamin Peterson2017-12-04
| | | | | | | | | | | | | | | In particular, SymlinkTreeAction no longer needs to accept artifacts as an input. --experimental_enable_runfiles now immediately reports an error on Windows. This mostly unwinds e4974e4cc6aeb437d36b3b36eb20142b7120fb16 ("Separate runfiles middlemen into two layers") and 41f4456ac2348bef66739194853a1ddadcbb887e ("Make runfiles tree creation on Windows depend on the artifacts of the actual runfiles."). See https://groups.google.com/d/msg/bazel-dev/btOAgxv434g/bDhTOOePAgAJ. Change-Id: Iac3308669bfc07abfd1c91445922269d8fdc2a26 PiperOrigin-RevId: 177837504
* Fix missing print statements in output functionsGravatar vladmos2017-12-02
| | | | PiperOrigin-RevId: 177708823
* Forward test relevant flags to mobile-install launcher.Gravatar Googler2017-12-01
| | | | | | | | Add new flag to specify the adb device serial number (--device). Change ..._mi/launcher.sh to ..._mi/launcher (see unknown commit). RELNOTES: None PiperOrigin-RevId: 177662635
* Remove duplicated method from AndroidBinary.Gravatar ajmichael2017-12-01
| | | | | RELNOTES: None PiperOrigin-RevId: 177638999
* Move IDL constant out of AndroidSemanticsGravatar ajmichael2017-12-01
| | | | | | | | | AndroidSemantics is for "pluggability". Defining static constants on the interface does not do that. Furthermore, output group names are not something we would want to change between internal and external. RELNOTES: None PiperOrigin-RevId: 177632488
* Make AndroidSdkProvider.verifyPresence throw.Gravatar ajmichael2017-12-01
| | | | | | | All call sites were just returning null if it failed anyways. RELNOTES: None PiperOrigin-RevId: 177632366
* Remove unused adb_jobs flag.Gravatar Googler2017-11-30
| | | | | | | | Flag is mobile-insall v1 only, and has not been used in the last 30 days. This change is a NOP since the default value in //third_party/bazel/tools/android/incremental_install.py is 2. RELNOTES: None PiperOrigin-RevId: 177536782
* Properly enforce one version for android_robolectric_test targets by ↵Gravatar Googler2017-11-30
| | | | | | | respecting the one version for java test flag, and enforcing one version on the _deploy.jar RELNOTES: n/a PiperOrigin-RevId: 177525487
* Add rexopts attribute to android_binary.Gravatar dannark2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177510583
* Remove no-longer-needed experimental_android_inherit_resources_in_tests flagGravatar Googler2017-11-30
| | | | | | | This flag was turned on everywhere and can now be removed. RELNOTES: none PiperOrigin-RevId: 177478329
* Refactor Android rule classes to minimize bazel specific stuff.Gravatar ajmichael2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177463650
* Add android_local_test base class.Gravatar dannark2017-11-29
| | | | | RELNOTES: None PiperOrigin-RevId: 177414939
* Add ActionKeyContext to Action#getKey.Gravatar tomlu2017-11-29
| | | | | | | This key context can be used by actions to share partial key computations, for instance when computing MD5s for nested sets. RELNOTES: None PiperOrigin-RevId: 177359607
* invoke a separate splitter action in multidex builds (behind flag)Gravatar kmb2017-11-29
| | | | PiperOrigin-RevId: 177341750
* Document Android options.Gravatar ajmichael2017-11-28
| | | | | RELNOTES: None PiperOrigin-RevId: 177195468
* Delete --experimental_use_manifest_from_resource_apk again.Gravatar ajmichael2017-11-27
| | | | | RELNOTES: None PiperOrigin-RevId: 177068047
* Enable aapt2 for robolectric when available.Gravatar corysmith2017-11-22
| | | | | RELNOTES: None PiperOrigin-RevId: 176700595
* Don't propagate resources when neverlink is specified and manifest is notGravatar Googler2017-11-22
| | | | | | | | | We already handle this properly in the normal case. However, when no attributes from the new implementation of resource processing are specified, we fall back to the old version, which didn't handle this. RELNOTES: none PiperOrigin-RevId: 176672081
* Prevent blaze from crashing on invalid resource locations.Gravatar corysmith2017-11-22
| | | | | RELNOTES: None PiperOrigin-RevId: 176659616
* Fix resource filteringGravatar Googler2017-11-22
| | | | | | | | The ResourceDependencies constructor takes in two NestedSet<Artifact> objects, and I was putting them in the wrong order. RELNOTES: none PiperOrigin-RevId: 176648259
* Clarify `srcs` description to make it obvious what file types are accepted.Gravatar spomorski2017-11-22
| | | | PiperOrigin-RevId: 176647103
* Add option to enable resource cycle shrinking.Gravatar Googler2017-11-21
| | | | | | | | This will instruct AAPT2 to produce conditional keep rules to allow for more aggressive code and resource shrinking. RELNOTES[NEW]: Add --experimental_android_resource_cycle_shrinking option to allow for more aggressive code and resource shrinking. PiperOrigin-RevId: 176530749
* Update AndroidConfiguration to reflect changesGravatar Googler2017-11-21
| | | | | RELNOTES: none PiperOrigin-RevId: 176496770
* Fixed typo in ApkProvider: s/coverageMetdata/coverageMetadataGravatar jingwen2017-11-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 176423487
* Remove experimental flags for generating robolectric R class.Gravatar Googler2017-11-20
| | | | | RELNOTES: none PiperOrigin-RevId: 176405273
* Convert JavaToolchainProvider to a concrete class, and a subclass of ↵Gravatar jcater2017-11-17
| | | | | | ToolchainInfo. PiperOrigin-RevId: 176117866
* Support incremental dexing tools in proguarded Android buildsGravatar kmb2017-11-17
| | | | | | RELNOTES: None. PiperOrigin-RevId: 176109497
* Deletes unused apk manifest.Gravatar ahumesky2017-11-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 176025413
* Build databinding annotation processor in host configuration.Gravatar ajmichael2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, add a fake databinding processor target. Bazel users will need to do something like this: # WORKSPACE local_repository( name = "databinding", path = "./databinding", ) bind( name = "databinding_annotation_processor", actual = "@databinding//:annotation_processor", ) # databinding/BUILD java_plugin( name = "annotation_processor", ... ) ... https://github.com/bazelbuild/bazel/issues/2694 RELNOTES: None PiperOrigin-RevId: 175975110
* Stop adding data deps to AndroidDeployInfo proto.Gravatar ajmichael2017-11-15
| | | | | | | This is not used by ASwB, and it also doesn't make sense to live in AndroidBinary since android_binary does nothing with it's data deps and they should be removed (b/69371443). RELNOTES: None PiperOrigin-RevId: 175877850
* Add experimental flag to skip the parsing action if using aapt2.Gravatar Googler2017-11-15
| | | | | RELNOTES: none PiperOrigin-RevId: 175866310
* Automated rollback of commit 10b0d8aa6b73a024cc007c5e075cb329add878ef.Gravatar lberki2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Google-internal targets, sadly. *** Original change description *** Ban middlemen from runfiles artifacts. Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Cha... *** RELNOTES: None. PiperOrigin-RevId: 175650018
* RELNOTES: NoneGravatar dannark2017-11-13
| | | | PiperOrigin-RevId: 175630707
* Open source ZipFilterBuilder for android_instrumentation_testGravatar jingwen2017-11-13
| | | | | | | GITHUB: #903 RELNOTES: None. PiperOrigin-RevId: 175600267
* Default to not allowing android_resourcesGravatar Googler2017-11-13
| | | | | RELNOTES: none PiperOrigin-RevId: 175576296
* Ban middlemen from runfiles artifacts.Gravatar Benjamin Peterson2017-11-10
| | | | | | | | | | | | | | Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Change-Id: I57fcb51b02e40adf3ebc4591c26bf5492c89352f PiperOrigin-RevId: 175206157
* Remove android_instrumentation rule.Gravatar ajmichael2017-11-09
| | | | | | | It's not needed by the new plan for android_instrumentation_test. RELNOTES: None PiperOrigin-RevId: 175166913
* Replace all usages of Blaze's Preconditions class with guava.Gravatar tomlu2017-11-09
| | | | | | | | Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own. This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually. PiperOrigin-RevId: 175033526
* Default experimental flags to trueGravatar Googler2017-11-06
| | | | | | | RELNOTES: AAR manifest files will come from the processed resource APK if it exists. RELNOTES: None for Blaze users. PiperOrigin-RevId: 174622961
* Filter local and transitive resources togetherGravatar Googler2017-11-06
| | | | | | | | | | | | | | | | | | Whether a resource is accepted or rejected by density-based resource filtering is dependent on what other resources are available. When filtering resources in execution, this was taken into account - resources were filtered after merging. To replicate this behavior when filtering in analysis, we must look at both local and transitive resources before we actually filter anything. This process makes filtering with dynamic configuration extremely inefficient, since the NestedSet of transitive resources must be collapsed at each library target. We can fix this by only looking at the transitive resources at the top-level target, even when using dynamic filtering. I'm not implementing that in this change, however, since dynamic filtering is relatively low priority and this review is already pretty big. Note that some of the messiness around filtering ResourceDependencies and NestedSet<ResourceContainer> will go away once those NestedSets are removed. Also, stop filtering resources in android_test, since android_test can never specify resource filters. RELNOTES: none PiperOrigin-RevId: 174474491