aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
Commit message (Collapse)AuthorAge
* Adds configuration fragment requirements for J2ObjcAspect.Gravatar Michael Staib2016-05-16
| | | | | | | | | | | | | In the near future, aspect RuleContexts will enforce that they only access the configuration fragments they have declared as required, in order to prepare for the eventual migration to dynamic configurations (where only configuration fragments which are actually necessary for a particular build are loaded for that build). This change adds those declarations to J2ObjcAspect. -- MOS_MIGRATED_REVID=122296270
* Adds an "otherFlags" field to ObjcCommon.Gravatar Googler2016-04-28
| | | | | | | | | Adds -fno-strict-overflow for compiling all J2ObjC generated sources. RELNOTES: Fixes integer overflow in J2ObjC sources to be Java-compatible. -- MOS_MIGRATED_REVID=120929114
* Set --xcode_version_config=@bazel_tools//tools/objc:host_xcodes by default inGravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | and delete the reference to Constants.TOOLS_REPOSITORY in AppleCommandLineOptions. -- MOS_MIGRATED_REVID=120918479
* Delete the interface NativeAspectFactory and make native aspects extend from ↵Gravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeAspectClass. This a large refactoring of the aspects, currently we have the following: - AspectClasses: The interface AspectClass is a implemented by either SkylarkAspectClass or NativeAspectClass<NativeAspectFactory>. They are wrappers for the AspectFactories and they hold the information about the Class<> of the factory. - AspectFactories (FooAspect.java): Represented by the interfaces ConfiguredAspectFactory and NativeAspectFactory, also by the interface ConfiguredNativeAspectFactory which is the union of the two aforementioned interfaces. All aspects implement ConfiguredNativeAspectFactory except Skylark aspects which implement only ConfiguredAspectFactory. After this CL the distinction between NativeAspectFactories and NativeAspectClasses dissappear, namely aspect that extends NativeAspectClass is considered native and if it implements ConfiguredAspectFactory it is configured. Therefore the interfaces NativeAspectFactory and ConfiguredNativeAspectFactory both disappear. With this refactoring the aspectFactoryMap in the ConfiguredRuleClassProvider changes its type from (String -> Class<? extends NativeAspectClass>) to (String -> NativeAspectClass) which means it is now able to have an instance of the aspect instead of its Class only. By doing this, it is now possible to pass parameters when creating an aspect in the ConfiguredRuleClassProvider. -- MOS_MIGRATED_REVID=120819647
* Refactor CompilationSupport.registerFullyLinkedAction to be the ↵Gravatar Chris Parsons2016-04-26
| | | | | | | | | | 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
* Uses J2ObjC's own JRE when tranpiling for j2objc_library.Gravatar Googler2016-03-18
| | | | | -- MOS_MIGRATED_REVID=117446080
* Move the static getHostJavabaseInputs variant to JavaHelper.Gravatar Ulf Adams2016-02-22
| | | | | -- MOS_MIGRATED_REVID=115201919
* Temporary fix for xcode project generationGravatar Kristina Chodorow2016-02-10
| | | | | | | | | | | The xcodegen script does not yet handle looking for files under @bazel_tools correctly. This change will let xcode find these targets under the workspace root, instead of the @bazel_tools repository. Note that this means that the package path must include third_party/java/j2objc if it does not exist in your workspace. -- MOS_MIGRATED_REVID=114268000
* Prepend Constants.TOOLS_REPOSITORY to implicit J2ObjC dependency labels.Gravatar Rumou Duan2016-02-07
| | | | | -- MOS_MIGRATED_REVID=113991707
* Move ObjC compilation actions for J2ObjC-translated code from binary level ↵Gravatar Rumou Duan2016-02-05
| | | | | | | | | | | | 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
* Emit extra-actions for actions registered by Aspects.Gravatar Carmi Grushko2015-11-17
| | | | | | | A prerequisite is to pass RuleContext to ConfiguredAspect, so we can read from it the registered actions when we build() the aspect. -- MOS_MIGRATED_REVID=107997593
* Aspect terminology update.Gravatar Dmitry Lomov2015-11-10
| | | | | | | | Aspect => ConfiguredAspect AspectWithParameters => Aspect -- MOS_MIGRATED_REVID=107375211
* Parametrize aspect definition with AspectParameters.Gravatar Dmitry Lomov2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106848269
* Implement propagation along dependencies for Skylark aspects.Gravatar Dmitry Lomov2015-11-02
| | | | | -- MOS_MIGRATED_REVID=106694515
* Add a mapping and relevant function calls in ObjcProvider to provide a way ↵Gravatar Rumou Duan2015-10-07
| | | | | | | | | 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
* Add a Constants.TOOLS_PREFIX constant that will serve to redirect the Bazel ↵Gravatar Lukacs Berki2015-10-05
| | | | | | | | | | | tools repository. This is a no-op refactoring CL. The actual switch will be made once everything passes with the new setup. As a side cleanup, change the awkward realAndroidSdk() / realAndroidCrosstoolTop() mechanism to a converter. -- MOS_MIGRATED_REVID=104649067
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | 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
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Enable j2objc_library proto aspect for Bazel. Note that the remote j2objc ↵Gravatar Michael Thvedt2015-09-21
| | | | | | | | | 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
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Propogate J2ObjC files from runtime_deps in Java rules.Gravatar Michael Thvedt2015-09-17
| | | | | -- MOS_MIGRATED_REVID=103294328
* Parse the label syntax "@//a:b" so that eventually we can make that the ↵Gravatar Lukacs Berki2015-09-15
| | | | | | | | | syntax that means "refer to the main repository". There isn't an overarching plan for what we are going to do with the cmdline package, which seems to be separated from the .syntax one in all sorts of awkward ways. -- MOS_MIGRATED_REVID=103088960
* Aspects can get information from their base rule.Gravatar Marian Lobur2015-09-02
| | | | | -- MOS_MIGRATED_REVID=102126786
* Switch J2ObjC transpilation and dead code removal actions to use parameter ↵Gravatar Rumou Duan2015-09-01
| | | | | | | files. -- MOS_MIGRATED_REVID=101975830
* A prototype implementation of top-level aspects.Gravatar Dmitry Lomov2015-08-20
| | | | | -- MOS_MIGRATED_REVID=101033236
* Move J2ObjCLibrary and supporting classes to Bazel, and enable J2ObJC in Bazel.Gravatar Michael Thvedt2015-06-19
-- MOS_MIGRATED_REVID=96324830