| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
to ConfiguredTarget.GetTarget(). Also remove equivalence requirements for
the ConfiguredTarget's target and the stored Target since there will soon no
longer be a Target in ConfiguredTarget.
PiperOrigin-RevId: 185417468
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate.
A summary of changes:
PATH
====
* Subsumes LocalPath (deleted, its tests repurposed)
* Use a simple string to back Path
* Path instances are no longer interned; Reference equality will no longer work
* Always normalized (same as before)
* Some operations will now be slower, like instance compares (which were previously just a reference check)
* Multiple identical paths will now consume more memory since they are not interned
PATH FRAGMENT
=============
* Use a simple string to back PathFragment
* No more segment arrays with interned strings
* Always normalized
* Remove isNormalized
* Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope
* To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment
* Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string.
* The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array.
ARTIFACT
========
* Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression.
RELNOTES: None
PiperOrigin-RevId: 185062932
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
option on CompilationSupport. In the process correctly respect whether to use the pch file under crosstool compilation mode.
PiperOrigin-RevId: 161156717
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157857216
|
|
|
|
|
|
| |
This implicit output is similar to objc_library's fully linked static library. For j2objc_library targets, we can use this output to trigger transpilation and generate a fully linked static library.
PiperOrigin-RevId: 157062831
|
|
|
|
|
|
|
|
|
|
|
|
| |
'create' method.
This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment).
This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations.
RELNOTES: None
PiperOrigin-RevId: 152145768
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 149067322
MOS_MIGRATED_REVID=149067322
|
|
|
|
|
|
|
|
|
| |
which requires users to specify their JRE dependencies.
RELNOTES: Adds "jre_deps" attribute to j2objc_library.
--
MOS_MIGRATED_REVID=123414037
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=120708846
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
to construct and export a J2ObjC-code-and-dep-only view of the ObjcProvider, which is then used to create the compile action for J2ObjC-generated code at the binary level. This greatly reduces the number of input artifacts for such actions.
Also export header search paths at the edges (J2ObjcAsepct and J2ObjcProtoAspect) instead of in j2objc_library. This change removes some unnecessary header search paths.
--
MOS_MIGRATED_REVID=104821185
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
workspace hasn't been set up yet.
RELNOTES: j2objc_library on Bazel now transpiles transitive proto_library dependencies. (Note that java_* rules in Bazel do not yet support protos; currently they ignore proto dependencies.)
--
MOS_MIGRATED_REVID=103392720
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103374106
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103294328
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=97271109
|
|
--
MOS_MIGRATED_REVID=96324830
|