| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
This class just contains methods used elsewhere; move them to appropriate
places (generally AndroidManifest or StampedAndroidManifest).
Also, somewhat reduce code duplication by having more stuff use the existing
AndroidManifest.from() method, which automatically handles unspecified
manifests and packages.
RELNOTES: none
PiperOrigin-RevId: 207913410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove all state from the ApplicationManifest class. Actual methods in this
class will be migrated to somewhere more appropriate in upcoming changes.
We now usually use the manifest passed around in the ResourceApk object
instead. (The exception is mobile-install, which still wants to use the raw
manifest.) Note that this manifest is the processed manifest output by resource
processing - using it will somewhat decrease parallelisim, but is also more
correct. (We'll get the parallelisim gains back once we now longer use the
legacy manifest merger and don't need to process the manifest in resource
processing.)
RELNOTES: none
PiperOrigin-RevId: 207881830
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BusyBoxActionBuilder makes much cleaner action builders while making it harder
to do Bad Things (like collapsing NestedSets in analysis, or adding an artifact
to one of the command line and the inputs but not both).
Remaining action builders will be moved in the next change.
Add old manifest merger tool to AndroidDataContext.
RELNOTES: none
PiperOrigin-RevId: 197607155
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the AndroidDataContext is passed everywhere, we can begin modifying
action builders.
This includes removing Label information from Proguard artifact paths.
getUniqueDirectoryArtifact() already included label earlier in the path, so
this information was redundant anyway.
RELNOTES: none
PiperOrigin-RevId: 197576210
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Manifest processing methods are particularly messy for this migration, since
the old ApplicationManifest class is still around. Anyway, pass around
AndroidDataContext instead of RuleContext everywhere we can.
Note that the built-in expander does not seem able to be modified to support
decoupling attributes and other information, and thus really can't be done once
we get rid of RuleContext. Instead, for Skylark rules, document that expansion
must happen outside of the Android data Skylark method calls (for example, for
manifest_values and nocompress_extensions).
RELNOTES: none
PiperOrigin-RevId: 197567541
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new object wraps Label, ActionConstructionContext, and various
data-related tools (currently, just the resource Busybox and the Android SDK).
All three of these things are required for creating pretty much any action for
working with Android assets, resources, and manifests, so it makes sense to
pass them around together.
Eventually, we'll use this class instead of RuleContext in any code called from
the Skylark APIs. For now, though, just have it wrap a RuleContext - the
migration away from that will happen in future changes.
Change the current Skylark API to take this class, rather than a
SkylarkRuleContext. This is the first step towards not passing RuleContext (or
SkylarkRuleContext) into the Skylark API.
RELNOTES: none
PiperOrigin-RevId: 197549155
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make AndroidSkylarkData abstract and add a getAndroidSemantics() method
The Skylark stamp_manifest rule should properly use AndroidSemantics to rename
the manifest as well, in keeping with the android_library rule.
AndroidLocalTest should do the same manifest renaming regardless of which
AndroidSemantics it is run under. Have it use a seperate method to do so.
RELNOTES: none
PiperOrigin-RevId: 195992300
|
|
|
|
|
|
|
|
|
|
|
| |
Compilations performed by java_common.compile now use the javacopts in the
java_toolchain by default, instead of requiring them to be explicitly retrived
using java_common.default_javac_opts, for consistency with the native rules.
java_common.compile(javac_opts=...) can still be used to pass additional javacopts.
RELNOTES: Make java_common.compile now uses java_toolchain javacopts by default; explicitly retrieving them using java_common.default_javac_opts is unnecessary.
PiperOrigin-RevId: 194254098
|
|
|
|
|
|
|
| |
provider as an input.
RELNOTES:
PiperOrigin-RevId: 189868401
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 185412809
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 179844898
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 179722149
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179425421
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 174355404
|
|
|
|
|
|
| |
RELNOTES: android_binary now supports custom debug keys via the debug_key
attribute.
PiperOrigin-RevId: 171081759
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168300744
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change forces use of CustomCommandLine.Builder, which has a richer interface for constructing memory-efficient command lines. It will also permit surveying the code base for inefficient patterns using an IDE.
This change was done by hand and split using Rosie to assist with rollbacks in case of bugs. Reviewers, please pay particular attention to:
* Each all to addInputArgument/addOutputArgument should come with a corresponding matching pair to SpawnAction.Builder#addInput and CustomCommandLine.Builder#addExecPath (eg.).
* The commandLine must be set on the SpawnAction using SpawnAction.Builder#setCommandLine.
Note that most calls to addPrefixed("arg=", val) should be more idiomatically expressed as add("arg", val), but this involves changing tests and making sure that the command line tools can accept the format.
PiperOrigin-RevId: 166249211
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161086496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks tests in current Blaze nightlies, see b/63296317
*** Original change description ***
Add minSdkVersion optimization to Blaze.
This optimization reduces the size of Android apps that use Proguard by ~0.2 - 0.3% depending on the minSdkVersion.
RELNOTES: None.
PiperOrigin-RevId: 160930942
|
|
|
|
|
|
|
| |
This optimization reduces the size of Android apps that use Proguard by ~0.2 - 0.3% depending on the minSdkVersion.
RELNOTES: None.
PiperOrigin-RevId: 160673030
|
|
|
|
|
|
|
|
|
|
| |
as argument.
This is needed because which proguard map that gets added as an argument to mainDexListAction depends on whether or not Rex is enabled
RELNOTES: None
PiperOrigin-RevId: 151720305
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 151407958
MOS_MIGRATED_REVID=151407958
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 143823562
MOS_MIGRATED_REVID=143823562
|
|
|
|
|
|
|
| |
artifacts from AndroidSemantics.
--
MOS_MIGRATED_REVID=134475699
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125360308
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124602618
|
|
|
|
|
|
|
|
|
|
| |
instead of passing and checking null in all helpers.
Demonstrates this pattern usage in a few select rules (e.g. AndroidBinary) where this was particularly egregious.
There are many places which can benefit from this pattern -- this change doesn't try to fix them all at once.
--
MOS_MIGRATED_REVID=123012378
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=111892954
|
|
|
|
|
|
|
|
|
|
| |
These outputs are a jar and source jar for the results of aidl processing.
This is used to add aidl output to IDEs separate from the source code,
similar to annotation output (gen jars).
--
MOS_MIGRATED_REVID=104024453
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
AndroidStudioInfoAspect.
--
MOS_MIGRATED_REVID=103635637
|
|
|
|
|
|
|
| |
BaseFunction.
--
MOS_MIGRATED_REVID=102988766
|
|
|
|
|
|
|
| |
argument from the ApkBuilder invocation, because it turns out that ApkBuilder doesn't support it.
--
MOS_MIGRATED_REVID=96035676
|
|
This is mostly a "[] mv", except for the extra constant that specifies the location of the Android SDK and moving the $zip attribute. They are minor enough to be included in this CL.
Tested by creating a Bazel tree, compiling it and verifying that the Android classes are in libblaze.jar. I also eyeballed the source as a final check that nothing sensitive gets leaked.
--
MOS_MIGRATED_REVID=93971892
|