| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Progress on #2475.
PiperOrigin-RevId: 170473111
|
|
|
|
|
|
| |
This is a trivial change with a large file footprint.
PiperOrigin-RevId: 169169864
|
|
|
|
| |
PiperOrigin-RevId: 167154793
|
|
|
|
|
|
| |
that is accessible to the c++ rules.
PiperOrigin-RevId: 166934390
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165910455
|
|
|
|
|
|
|
|
| |
These are depended upon by analysis code, so need to live in the same library
as lib.analysis. Moving them here makes it possible to split the build-base
library into separate libraries for analysis, execution, and rules.
PiperOrigin-RevId: 164847161
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries for
analysis, exec, and rules.
PiperOrigin-RevId: 164446955
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163343931
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bazel_apple_rules
*** Original change description ***
Make all WithLegacySkylarkName providers declared providers.
RELNOTES: None
PiperOrigin-RevId: 163054821
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 163042362
|
|
|
|
|
|
|
| |
This has the added benefit of improving ObjcProvider documentation generated in bazel docs.
RELNOTES: None.
PiperOrigin-RevId: 162658384
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Almost) all native declared providers are accessed as such and not as
native non-declared providers (inheritors of TransitiveInfoCollaction).
There are still three providers that use
TransitiveInfoCollection.WithLegacySkylarkName mechanism, I'll address
them in the follow-up CL.
RELNOTES: None.
PiperOrigin-RevId: 161655315
|
|
|
|
|
|
|
| |
current rule name
RELNOTES: None.
PiperOrigin-RevId: 158068921
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157857216
|
|
|
|
|
|
|
|
| |
Re-organize ObjcLibraryTest and ExperimentalObjcLibraryTest ->
LegacyObjcLibraryTest and CrosstoolObjcLibraryTest, according to the pattern used in
the other unit tests.
PiperOrigin-RevId: 155120143
|
|
|
|
|
|
| |
to CompilationSupport to clean up that expanding API.
PiperOrigin-RevId: 154077775
|
|
|
|
|
|
|
|
|
|
| |
--experimental_objc_library and --experimental_objc_use_crosstool_for_binary.
This flag will allow testing of the complete (compilation and linking) rollout
of the objc crosstool.
--
PiperOrigin-RevId: 144864301
MOS_MIGRATED_REVID=144864301
|
|
|
|
|
|
|
| |
CompilationSupport.
--
MOS_MIGRATED_REVID=138185198
|
|
|
|
|
|
|
| |
RELNOTES: apple_static_library rule to create multi-architecture static archive files from Objc/C++/Swift dependencies on apple platforms
--
MOS_MIGRATED_REVID=134701599
|
|
|
|
|
|
|
| |
will be used to perform tests of the changeover.
--
MOS_MIGRATED_REVID=130943982
|
|
|
|
|
|
|
|
|
| |
It's currently only used for sanity checks, but the idea is that we'll use this field to decide what to do with a given linker input instead of inferring things from its file name.
Also make artifact name creation a bit simpler by using the same set of variables for compiler and linker outputs.
--
MOS_MIGRATED_REVID=129990944
|
|
|
|
|
|
|
| |
called at places where a CcToolchainProvider is near so that we can use information in it to infer how each input file is linked.
--
MOS_MIGRATED_REVID=129729628
|
|
|
|
|
|
|
|
|
| |
Adds a runtime_deps attribute to compilation rules (including objc_binary) that imports a dynamic framework (generated either via the objc_framework or ios_framework rules) into an app bundle without linking against it at build time.
RELNOTES: objc_binary now supports late-loaded dynamic frameworks.
--
MOS_MIGRATED_REVID=125261347
|
|
|
|
|
|
|
| |
isolate them from the linking target's defines and copts flags. Refactors CompilationAttributes into its own class with the Builder pattern.
--
MOS_MIGRATED_REVID=124137672
|
|
|
|
|
|
|
| |
dependencies through the ObjcProtoAspect, compiling and linking the generated protos at the final linking target. This is only enabled for objc_proto_libraries using the portable_proto_filters attribute, and guarded with the "--experimental_auto_top_level_union_objc_protos" flag. This prevents duplicate symbol errors as the generated sources are only linked once.
--
MOS_MIGRATED_REVID=123144532
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Notable changes:
- Obtain J2Objc providers from deps attribute of the current rule, even if "deps" is not Mode.TARGET. It is up to the rule implementation to correctly obtain and propagate these providers.
- "srcs" on apple_binary no longer has a split transition. These are files, not labels.
--
MOS_MIGRATED_REVID=121625691
|
|
|
|
|
|
|
| |
can be added to by fragments. Uses the registry to enable native access to TranstiveProviderInstances from Skylark. In particular, makes ObjcProvider accessible to skylark rule implementations.
--
MOS_MIGRATED_REVID=121390911
|
|
|
|
|
|
|
| |
configurations of the split transition
--
MOS_MIGRATED_REVID=121146341
|
|
|
|
|
|
|
|
|
|
| |
responsibility of the caller to invoke, instead of creating the fully linked artifact by default
It makes more sense for the caller rule to opt-in to creating its own implicit output.
This also makes it easier for classes to use CompilationSupport without generating this artifact.
--
MOS_MIGRATED_REVID=120764517
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=117485208
|
|
|
|
|
|
|
|
|
|
|
|
| |
to the edges (J2ObjcAspect and J2ObjcProtoAspect).
RELNOTES[INC]:
ObjC compile actions for J2ObjC-translated code now only has access to headers from the java deps of the associated original java rule.
These compile actions no longer takes the compiler options specified in "copts" attribute on objc_binary/ios_test rules.
J2ObjC dead code removal (enabled through flag "--j2objc_dead_code_removal") now happens *after* ObjC compilation.
--
MOS_MIGRATED_REVID=113910545
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=109909215
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
InstrumentedFilesCollector.
--
MOS_MIGRATED_REVID=103642172
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103374106
|
|
|
|
|
|
|
|
|
| |
This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. To enable this feature, you must pass -experimental_objc_enable_module_maps to bazel.
For objc_* targets that need to use the "modules" language features (@import, Swift interop, etc), set the "enable_modules" attribute to 1.
--
MOS_MIGRATED_REVID=103045673
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks targets that have the same .m file in both srcs and hdrs.
*** Original change description ***
Allow private header files in the srcs attribute of objc_* rules.
This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. clang enforces private header usage through these maps. Right now module maps are interpreted but modules aren't enabled.
RELNOTES: Allow private header files in the srcs attribute of objc_* rules.
--
MOS_MIGRATED_REVID=95916531
|
|
|
|
|
|
|
|
|
| |
This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. clang enforces private header usage through these maps. Right now module maps are interpreted but modules aren't enabled.
RELNOTES: Allow private header files in the srcs attribute of objc_* rules.
--
MOS_MIGRATED_REVID=95844137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an early version of support for this feature, likely still missing
a number of edge cases. However the basic functionality should work.
To allow a dependency from objc to cc, the following flags will have to be
passed to bazel:
--experimental_enable_objc_cc_deps --cpu=ios_i386 --crosstool_top=//tools/objc/crosstool:crosstool
The feature is also compatible with --ios_multi_cpus, with the familiar
values for --ios_cpu (i386, x86_64, armv7, arm64; passed instead of --cpu
above).
This CL does not contain any Xcode support for CC dependencies yet, they
will just not show up in the generated Xcode project.
(Second submission after earlier accidental submit before this CL was ready).
--
MOS_MIGRATED_REVID=95110081
|
|
|
|
|
|
|
| |
of ObjCRuleClasses.
--
MOS_MIGRATED_REVID=94693481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
This was accidentally submitted (why did tappresubmit not complain about no LGTM?!)
*** Original change description ***
Allow objc_{library,binary} to depend on cc_library.
This is an early version of support for this feature, likely still missing
a number of edge cases. However the basic functionality should work.
To allow a dependency from objc to cc, the following flags will have to be
passed to bazel:
--experimental_enable_objc_cc_deps --experimental_disable_java --cpu=ios_i386 --crosstool_top=//tools/objc/crosstool:crosstool
The feature is also compatible with --ios_multi_cpus, with the familiar
values f...
***
--
MOS_MIGRATED_REVID=94118959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an early version of support for this feature, likely still missing
a number of edge cases. However the basic functionality should work.
To allow a dependency from objc to cc, the following flags will have to be
passed to bazel:
--experimental_enable_objc_cc_deps --experimental_disable_java --cpu=ios_i386 --crosstool_top=//tools/objc/crosstool:crosstool
The feature is also compatible with --ios_multi_cpus, with the familiar
values for --ios_cpu (i386, x86_64, armv7, arm64). However, using this
crosstool and any CPU defined in it (legal values are ios_i386, ios_x86_64,
ios_armv7, ios_arm64) will make it impossible to use genrules with java make
variables in the same build: Obviously they require java support and no that
is not available for iOS CPUs.
The new flag --experimental_disable_java has not been tested in any
circumstances but the one enabled by this CL so use it with caution.
This CL does not contain any Xcode support for CC dependencies yet, they
will just not show up in the generated Xcode project.
--
MOS_MIGRATED_REVID=94116942
|
|
|
|
|
|
|
|
| |
Eventually objc_options will go away but for now this reduces unnecessary
logic and reduces rule/support interdependencies.
--
MOS_MIGRATED_REVID=93653491
|
|
|
|
|
|
|
|
| |
This is part of a series of changes to reduce/remove ObjcCommon. In this
case removing a method that added needless complexity.
--
MOS_MIGRATED_REVID=93573019
|
|
|
|
|
|
|
| |
tools/objc/BUILD.
--
MOS_MIGRATED_REVID=93447039
|
|
|
|
|
|
|
| |
project files.
--
MOS_MIGRATED_REVID=91300378
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the new flag works only on ios_application and ios_extension targets,
resulting in their output binaries being "universal" with all given architectures
included.
Internally this is achieved by splitting the "binary" dependency (and its transitive
dependencies) of ios_{application,extension} to be built in one of the architectures
using split transitions. The results are then combined. Since an ios_application may
depend on ios_extension, we transition back to the top-level configuration when
encoutering such a dependency using the newly introduced TOP_LEVEL transition and then
split configurations again.
RELNOTES: --ios_multi_cpus allows building fat ios_applications.
--
MOS_MIGRATED_REVID=88555540
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87083899
|