| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the configuration.
This is part of the crusade to kill package loading in configuration creation.
AppleConfiguration still retains the version information for the following reasons:
- Some Skylark rules access it that way. The plan is to create an xcode_config_alias() rule that can be an implicit dependency of Skylark rules and to export the version information to Skylark from XcodeVersionsProvider.
- The minimum OS version is part of the name of the output directory. The plan for that is simply to remove it. Hopefully we can get away with it.
- They allow us to add assertions to make sure the new mechanism works like the old one.
RELNOTES: None.
PiperOrigin-RevId: 163038724
|
|
|
|
|
|
| |
Platform rule.
PiperOrigin-RevId: 161203491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AppleConfiguration.
Additionally, tweak single-architecture ios-platform logic such that ios_multi_cpus is checked before ios_cpu.
There are two contexts to note:
1. Single-architecture logic, (generally post-split), unaware of its own platform type aside
from configuration. This retrieves platform type from the --apple_platform_type configuration value.
a. getSingleArchPlatform() for Platform retrieval
b. getSingleArchitecture() for architecture retrieval
2. Multi-architecture logic, which should be aware of its own platform type, and passes it into
configuration accessors.
a. getMultiArchPlatform(PlatformType)
b. getMultiArchitectures(PlatformType)
All callers are migrated to these methods, though some still pass IOS platform type even though
they may need to be refactored to support additional platform types later.
--
MOS_MIGRATED_REVID=124370652
|
|
|
|
|
|
|
|
|
| |
building watch OS 1 apps.
RELNOTES: Support apple_watch1_extension and apple_watch_extension_binary rules for creating watch OS 1 extensions.
--
MOS_MIGRATED_REVID=119000703
|
|
|
|
|
|
|
| |
RELNOTES:
--
MOS_MIGRATED_REVID=115804885
|
|
|
|
|
|
|
|
|
| |
adjacent plist read by xcode are identical.
To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle.
--
MOS_MIGRATED_REVID=111129433
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bazel
*** Original change description ***
Ensure that the plist inside an .ipa bundle produced by blaze and the adjacent plist read by xcode are identical.
To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle.
--
MOS_MIGRATED_REVID=110792182
|
|
|
|
|
|
|
|
|
| |
adjacent plist read by xcode are identical.
To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle.
--
MOS_MIGRATED_REVID=110770779
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
|
|
|
| |
Also introduces DottedVersion, a way to parse, represent and most of all compare
Apple's version identifiers.
RELNOTES: iOS apps and extensions now have launch_storyboard
--
MOS_MIGRATED_REVID=108060328
|
|
|
|
|
|
|
|
|
|
|
| |
of configuration over to the apple package.
This moves a small number of configuration items over. Future changes will mostly likely follow to move yet more items.
The split here is necessary as it is not only objc-related rules which require information about apple platforms and configuration -- cc rules will need this information as well to
pass appropriate args to clang.
--
MOS_MIGRATED_REVID=107396114
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling in multiple architectures, the same resource may be added
to a bundle several times because it is generated by a genrule within each
architecture's configuration. This causes conflicts when adding the files
to the final bundle which is why we discard all but one of the generated
files that map to the same location (error checking for users accidentally
mapping to the same location exists).
--
MOS_MIGRATED_REVID=95212124
|
|
|
|
|
|
|
|
| |
Moves the bundle merging action logic into BundleSupport and eliminates
the need for InfoplistMerging.java.
--
MOS_MIGRATED_REVID=93926774
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is required because Apple does not accept extensions whose plist
has a minimum OS value lower than 8.0, or whose code is compiled at less
than 8.0, even if it is included in an application that is compiled for,
and marked compatible with, a lower OS version.
Note that I didn't make this an attribute for now as there are no use
cases for setting the value to anything but 8.0. If we ever need to
make this user-configurable, a value can easily be set.
Second submission attempt with small additional logic to distinguish xcode
projects across configurations.
--
MOS_MIGRATED_REVID=92267493
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=91881146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is required because Apple does not accept extensions whose plist
has a minimum OS value lower than 8.0, or whose code is compiled at less
than 8.0, even if it is included in an application that is compiled for,
and marked compatible with, a lower OS version.
Note that I didn't make this an attribute for now as there are no use
cases for setting the value to anything but 8.0. If we ever need to
make this user-configurable, a value can easily be set.
--
MOS_MIGRATED_REVID=91831415
|
|
|
|
|
|
|
| |
Introduces a restriction that prohibits using both simulator and device architectures for ios_multi_cpus in the same build.
--
MOS_MIGRATED_REVID=89597247
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change moves the resource compilation actions from each declaring target
to the bundle in which they're stored. This bundle is (mostly, see below) the
only thing that cares about the compiled resources. As a result, we avoid
compiling each resource many times when in a multi-architecture context.
Note that as a result of this change rules other than ios_test do no longer
add the compiled datamodels and storyboards to files to build. There (should?)
be no need for them anyhow. Also, Xcode targets will now no longer contain the
transitive closure of datamodels, only their own.
Note that in the case where the input resource is produced by a genrule the
resource compilation still happens for each architecture but we ignore the
results for all but one of the architectures to avoid bundling conflicts.
There are also some more validation checks and nicer error messages for users
when they specify illegal strings resources.
--
MOS_MIGRATED_REVID=89404405
|
|
|
|
|
|
|
|
|
|
|
|
| |
We generate a nested bundle for each architecture specified in ios_multi_cpus
which would cause any artifacts generated by these rules (such as info plists
or compiled resource files) to clash in the final application bundle (where
the bundle directory only exists once). For now just pick one architecture at
random to store the bundle in - unfortunately we still generate the bundle for
all architectures.
--
MOS_MIGRATED_REVID=89152199
|
|
|
|
|
|
|
|
|
|
| |
As we are releasing the tools somewhat independently of the rules these utility
dependencies make life a lot harder. I'm sad about losing some of the enum
type-safety but being able to treat the code independently is more than worth
it.
--
MOS_MIGRATED_REVID=89137624
|
|
|
|
|
|
|
|
|
| |
case of nested bundles.
RELNOTES: objc: Fixes a case where nested bundle would pick up parent bundle_id value
--
MOS_MIGRATED_REVID=88372062
|
|
|
|
|
|
|
|
|
| |
* Adds primary and fallback bundle ID fields
* Adds conflict resolution that considers IDs in order: plist file, primary ID (set in BUILD file), fallback ID (Blaze default). If plist and primary are both set, they should be equal, otherwise an error is thrown.
--
MOS_MIGRATED_REVID=87106031
|
|
|
|
|
|
|
|
|
| |
how app extensions are built and how they differ from application bundles.
RELNOTES: Support ios_extension and ios_extension_binary rules for creating iOS app extensions.
--
MOS_MIGRATED_REVID=86788086
|
|
--
MOE_MIGRATED_REVID=85702957
|