| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
This dramatically improves documentation generation for JavaInfo and it makes it far more maintainable and extensible going forward.
RELNOTES: None.
PiperOrigin-RevId: 197619040
|
|
|
|
|
|
|
|
| |
This class is not necessary anymore. We can use CcLinkParamsStoreImpl directly
which has been renamed to CcLinkParamsStore.
RELNOTES:none
PiperOrigin-RevId: 196656488
|
|
|
|
|
|
|
| |
separate class
RELNOTES: None.
PiperOrigin-RevId: 196517537
|
|
|
|
|
|
|
| |
Since it's not a provider, it doesn't need the Info suffix anymore.
RELNOTES:none
PiperOrigin-RevId: 196498526
|
|
|
|
|
|
|
|
|
| |
This is to simplify the API that will eventually be exposed to Skylark.
Working towards #4571.
RELNOTES: None.
PiperOrigin-RevId: 195785588
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 195777400
|
|
|
|
|
|
|
|
|
| |
Mostly this is removing a needless restriction on proto_library to have java_api_version and j2objc_api_version set. The rest was already working.
Tons of tests had to be updated.
RELNOTES: None
PiperOrigin-RevId: 195450685
|
|
|
|
|
|
|
|
|
| |
Remove all unnecessesary accesses to ConfigurationEnvironment and
deprecate the accesses that actually need ConfigurationEnvironment.
For review, check out ConfigurationFragmentFactory first.
PiperOrigin-RevId: 195099768
|
|
|
|
| |
PiperOrigin-RevId: 194960802
|
|
|
|
|
|
|
|
| |
This deprecates the old NativeProvider pattern.
The new pattern is demonstrated using AppleStaticLibraryInfo.
RELNOTES: None.
PiperOrigin-RevId: 194956883
|
|
|
|
|
|
| |
targets to upstream cc_library targets.
PiperOrigin-RevId: 194816009
|
|
|
|
|
|
|
|
|
|
|
| |
We want to be able to control how and when param files are used, and manual construction of param files prevents this. It should also be less code overall.
For this CL, when param files are used is unchanged, their format and encoding is unchanged. The flag name is also unchanged, except in some cases it was changed from (eg.) "--flagfile foo" to "--flagfile=foo".
However, the name of the param file is now derived from the primary output of the action (instead of manually controlled).
RELNOTES: None
PiperOrigin-RevId: 194607698
|
|
|
|
|
|
|
| |
CppHelper.getToolchainFromPlatformConstraints declare that they require a cc
toolchain.
PiperOrigin-RevId: 194580065
|
|
|
|
|
|
|
| |
CppHelper.getToolchainFromPlatformConstraints declare that they require a cc
toolchain.
PiperOrigin-RevId: 194561293
|
|
|
|
| |
PiperOrigin-RevId: 194430205
|
|
|
|
|
|
|
| |
Moving CompilationSupport out of for loop. All generated object-c files will be compiled in one CompilationHelper, which avoids object file path conflicts.
RELNOTES: None
PiperOrigin-RevId: 194215804
|
|
|
|
|
|
|
|
|
|
| |
for direct, transitive, and full compile-time jars; runtime jars; and instrumentation
metadata. These are trivial wrappers around the corresponding getters on the recursive
and non-recursive JavaCompilationArgs objects.
This is a no-op refactoring in preparation for flatting JavaCompilationArgs into JavaCompilationArgsProvider.
PiperOrigin-RevId: 194047064
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpawnAction.setShellCommand(String) now expects
the shell interpreter's path as an argument. This
change enables two things:
- rules can report an error if the shell is
missing
- SpawnAction no longer has to know about a
default shell
The new ShToolchain class will later also be
responsible for retrieving the active shell
toolchain (added in https://github.com/bazelbuild/bazel/commit/81ed3add408adb20bddbc3ba1818c65806738dc5).
This change brings Bazel closer to not depend on
the shell unless it has to (e.g. to run shell
scripts).
See https://github.com/bazelbuild/bazel/issues/4319
RELNOTES: none
PiperOrigin-RevId: 193885943
|
|
|
|
|
|
|
|
|
|
| |
CcCommon.configureFeatures
The goal is to enable creation of feature configuration without the rule
context. This will enable us to have cleaner API for this in Skylark.
RELNOTES: None
PiperOrigin-RevId: 193630386
|
|
|
|
|
|
|
| |
CcLinkingInfo will eventually wrap all C++ linking providers. CcLinkParamsInfo is no longer a provider and will be renamed in a later CL.
RELNOTES:none
PiperOrigin-RevId: 193011702
|
|
|
|
|
|
|
|
|
|
| |
j2objc_library's --j2objc_translation_flags to future Skylark replacement rule.
DELTA=42 (39 added, 0 deleted, 3 changed)
DELTA_BY_EXTENSION=java=42
RELNOTES: None.
PiperOrigin-RevId: 192838435
|
|
|
|
|
|
|
|
|
|
| |
Ran into an issue where it wasn't possible to add protos to blacklist for j2objc toolchain and was getting duplicate symbols for the descriptor protos.
This change should make it consistent with the other proto rules which use a toolchain. Was able to remove bespoke and uncustomizable proto blacklist for j2objc.
Closes #4064.
PiperOrigin-RevId: 192787964
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 192350172
|
|
|
|
|
|
| |
Errors are related to missing headers from C++ dependencies.
PiperOrigin-RevId: 192132907
|
|
|
|
|
|
|
| |
For now, only CcCompilationContextInfo is wrapped. CcCompilationContextInfo will be renamed CcCompilationContext since the *Info suffix is used for providers. This will be done in a follow-up CL.
RELNOTES:none
PiperOrigin-RevId: 191876504
|
|
|
|
|
|
| |
J2Objc needs special consideration to implement strict Swift-ObjC deps. The module maps for the generated Objective-C code are associated with their originating java_library targets (via the J2Objc aspect), which a swift_library cannot directly depend on. So those deeper down module maps need to be propagated transitively *until* a j2objc_library is reached; at that point, the j2objc_library should propagate all of its Java deps module maps, but *not* any of its j2objc_library deps (because that would be non-strict).
PiperOrigin-RevId: 191754811
|
|
|
|
|
|
|
|
|
| |
This is done so that the name CcCompilationInfo can be used for the C++
provider that will wrap all providers for compilation, similar to JavaInfo in
Java.
RELNOTES:none
PiperOrigin-RevId: 191445120
|
|
|
|
|
|
|
| |
String categories are deprecated, replace this special-cased value with a specific OptionMetadata tag, TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES.
RELNOTES: None.
PiperOrigin-RevId: 191069412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a re-attempt at https://github.com/bazelbuild/bazel/pull/4058 which got reverted via https://github.com/bazelbuild/bazel/issues/4780
#4780 was being caused because cc plugin and j2objc plugin used different paths for outputs. I also manually verified that this works for both external cc_proto_librarys and external j2objc java_proto_libraries.
The output files are created without a repository, but the expected
filenames have them
This resolves issues when having a proto_library from an external build
file.
cc @c-parsons @pmbethe09
Closes #4793.
PiperOrigin-RevId: 190950452
|
|
|
|
|
|
|
|
|
| |
--incompatible_disable_objc_provider_resources is true.
This involves propagating SkylarkSemantics to all ObjcProvider constructors.
RELNOTES: Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider.
PiperOrigin-RevId: 190778491
|
|
|
|
|
|
|
|
|
| |
These have all had a chance to be categorized with the OptionDocumentationCategory enum, and the help output already uses the enum-grouped format.
The "incompatible changes" category has meaning for --all_incompatible_changes and will be removed separately.
RELNOTES: None.
PiperOrigin-RevId: 190773778
|
|
|
|
| |
PiperOrigin-RevId: 190771926
|
|
|
|
|
|
|
| |
This can avoid passing targetBuilder to CompilationSupport.java
RELNOTES: None
PiperOrigin-RevId: 190743994
|
|
|
|
|
|
|
| |
struct field on the j2objc fragment.
RELNOTES: None.
PiperOrigin-RevId: 190672475
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 190591828
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Closes #4781.
Fix https://github.com/bazelbuild/bazel/issues/4149
RELNOTES:
Users can now pass --experimental_shortened_obj_file_path=true to have a shorter object file path, the object file paths (and all other related paths) will be constructed as following:
If there's no two or more source files with the same base name:
<bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base_name>.<extension>
otherwise:
<bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_base_name>.<extension>
N = the file?s order among the source files with the same basename, starts from 0.
Examples:
1. Output names for ["lib1/foo.cc", "lib2/bar.cc"] are ["foo", "bar"]
2. Output names for ["foo.cc", "bar.cc", "foo.cpp", "lib/foo.cc"] are
["0/foo", "bar", "1/foo", "2/foo"]
The default value of --experimental_shortened_obj_file_path option is false, but we plan to flip it to true and eventually remove this option.
You shouldn't depend on the format of generated object file path, but if you do and this change breaks you, please use --experimental_shortened_obj_file_path=false to work around it.
PiperOrigin-RevId: 190214375
|
|
|
|
| |
PiperOrigin-RevId: 189971511
|
|
|
|
|
|
|
| |
matching build flag --j2objc_dead_code_report.
RELNOTES: The 'j2objc' configuration fragment is exposed to Skylark.
PiperOrigin-RevId: 189630012
|
|
|
|
|
|
| |
Makes NestedSetCodec into a runtime codec instead of a Marshaller.
PiperOrigin-RevId: 189110883
|
|
|
|
|
|
| |
ConfiguredTargetAndData. We want to get BuildConfiguration out of ConfiguredTarget because it uses >800K when serialized.
PiperOrigin-RevId: 188600002
|
|
|
|
|
|
|
|
|
| |
Given a target (for example from a skylark aspect), one will be able to access a list of actions that the target generated using "target.actions". This is without additional memory footprint.
Actions themselves are not fully exposed to skylark (and thus there isn't much meaning to gather from them in skylark yet). Access methods will follow soon.
RELNOTES: None.
PiperOrigin-RevId: 188098079
|
|
|
|
|
|
| |
Closes #4640.
PiperOrigin-RevId: 188022228
|
|
|
|
|
|
| |
Needed for Attribute serialization.
PiperOrigin-RevId: 187676061
|
|
|
|
|
|
|
|
|
| |
objc provider skylark fields.
This flag is not fully implemented -- there should also be a way to disable the provider getters using this flag, but, since @SkylarkCallable does not allow for evaluation of SkylarkSemantics, this is not yet possible.
RELNOTES: None.
PiperOrigin-RevId: 187542004
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 187531006
|
|
|
|
| |
PiperOrigin-RevId: 187397314
|
|
|
|
|
|
|
|
|
|
| |
These subclasses should be using @SkylarkCallable(structField = true) instead
This is a bit of a memory win, as there is now no need to store field information twice.
There are still a couple of stragglers that are more difficult, namely ToolchainInfo and DefaultInfo. Their APIs will likely need some more extensive revamping before proceeding.
RELNOTES: None.
PiperOrigin-RevId: 187364392
|
|
|
|
| |
PiperOrigin-RevId: 187222454
|
|
|
|
|
|
| |
This flag changes the behavior of objc_library module map propagation so that module maps are only propagated to direct dependents, not transitive dependents. swift_library targets that import Objective-C code must then list those dependencies directly in its deps instead of depending on them being transitively present.
PiperOrigin-RevId: 187184692
|
|
|
|
|
|
|
|
| |
Move dealing with coverage related features from CppConfiguration.configurationEnabledFeatures to CcCommon.configureFeatures.
Remove configurationEnabledFeatures.
RELNOTES: None.
PiperOrigin-RevId: 186744803
|