These 37 commits are when the Protocol Buffers files have changed:
Commit: | 661142b | |
---|---|---|
Author: | rbeazleyspot | |
Committer: | GitHub |
Add support for experimental treatInternalAsPrivate (#1248) * Add support for experimental treatInternalAsPrivate * Fix ktlint violations * Add experimental_use_public_only_abi_jars docs * Add option to tag rule as kt_public_only_in_abi_plugin_incompatible * Regenerate docs * Split treatInternalAsPrivate and removePrivateClasses flags * Add failure message
The documentation is generated from this commit.
Commit: | d964c23 | |
---|---|---|
Author: | Ben Lee | |
Committer: | GitHub |
Drop support for JavaScript (#1185) * Drop support for JavaScript * Remove more * More
Commit: | f92d4b7 | |
---|---|---|
Author: | Ben Lee | |
Committer: | GitHub |
Add support for KSP annotation processing via KspCompile (#955)
Commit: | 25d4c54 | |
---|---|---|
Author: | Ben Lee | |
Committer: | GitHub |
Remove legacy Javac compilation (#694) * Enable experimental_use_abi_jars by default and remove legacy Javac compilation * Add back experimental_use_abi_jars and set it to true * Docs * Remove some unused code * Revert * Flip experimental_use_abi_jars back to false * Enable abi compilation in examples/android/bzl/BUILD.bazel and examples/jetpack_compose/BUILD
Commit: | 4990696 | |
---|---|---|
Author: | Benjamin Peterson | |
Committer: | GitHub |
Fix typo. (#605)
Commit: | 89a082c | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Add support for Kotlin coverage (#508) * Add support for Kotlin coverage * Add tests for coverage support
Commit: | cb7e9ce | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Kotlin Builder reduced classpath - experimental feature (#439) RELEASE NOTES: Adds `experimental_reduce_classpath_mode` to `kt_toolchain`. This is an experimental feature to leveraging jdeps to shrink the total classpath for kotlin compliation.
Commit: | 9e36fca | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Strict dependency checking and enforcement. (#438) * Rewire Jdeps so that legacy Jdeps processing (post processing the compiled output with the Sun JDeps tool) happens only on Java classes compiled by the KotlinBuilder. i.e: Java compilation when `experimental_use_abi_jars = False`. 1. Use the existing unused `--output_deps_proto` flag which mirrors the parameter used by the Bazel JavaBuilder, this is passed to the legacy JDepsGenerator. 2. Use a separate `java_classes` output dir to separate Kotlin compiler output from Java compiler output. The JDepsGenerator now only runs on `java_classes`. 3. Merge separate Kotlin + Java Jdeps just as is done already with the new `experimental_use_abi_jars = True` flow. * Fix test: Don't generate Jdeps when testing ABI only. * Strict Kotlin dependency checking/enforcement. RELNOTES: * Add experimental strict dependency checking and enforcement when `experimental_use_abi_jars` is enabled.
Commit: | ce925ed | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Rework Jdeps (#435) * Jdeps generation compiler plugin * Fix failing tests by adding now mandatory jdeps builder parameter. Add new KotlinBuilderJvmJdepsTest. * Rewire Jdeps so that legacy Jdeps processing (post processing the compiled output with the Sun JDeps tool) happens only on Java classes compiled by the KotlinBuilder. i.e: Java compilation when `experimental_use_abi_jars = False`. 1. Use the existing unused `--output_deps_proto` flag which mirrors the parameter used by the Bazel JavaBuilder, this is passed to the legacy JDepsGenerator. 2. Use a separate `java_classes` output dir to separate Kotlin compiler output from Java compiler output. The JDepsGenerator now only runs on `java_classes`. 3. Merge separate Kotlin + Java Jdeps just as is done already with the new `experimental_use_abi_jars = True` flow. * Implement compiler extension logic to track used classes, along with corresponding jar paths * Fix test: Don't generate Jdeps when testing ABI only. * Clean up JdepsParserTest * Support unused direct dependencies * Kotlin compiler plugin emits Kind.UNUSED for unused direct dependencies * Legacy JDepsGenerator considers direct dependencies instead of whole classpath when determining Kind.UNUSED * Ignore Java source local to the target, only external classes should be considered for dependency tracking. * Support dependencies on inlined constants by pulling the import declarations from each file. This is important because by the time the ClassRemapper is able to process classes constant values have been inlined. This still leaves the possibility to miss such dependencies referenced directly by FQN but this refactoring allows us to now grab references during analysis stage so could be achieved parsing expression bodies here. * Fix merge Remove unused code Cache component between task execution and tear down between tests to prevent OOM error. Release Note: Add proper jdeps support for Kotlin Co-authored-by: Olivier Notteghem <oliviern@uber.com>
Commit: | 1f41e8f | |
---|---|---|
Author: | Jiayu Chen | |
Committer: | GitHub |
update (#434)
Commit: | 77b6458 | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Stubs phase compiler plugins now works for JavaBuilder flow (#428)
Commit: | 2be75c0 | |
---|---|---|
Author: | Jonathan Gerrish | |
Committer: | GitHub |
Rework Kotlin/Java build flow Separates kotlin and java compilation. Enable the new (and hopefully more performant) by adding experimental_use_java_builder=True on the toolchain.
Commit: | 95b642f | |
---|---|---|
Author: | Corbin McNeely-Smith | |
Committer: | GitHub |
Restingbull/compiler plugin rework (#393) * Add resources to android example Rework compiler plugins: * require ids * indicate which phase the plugin executes: stub and compile * include plugin dependencies * allow compiler plugins to be exported via the exported_compiler_plugins * allow "bash" substitutions for plugin arguments of working directories (anvil demonstrates) * Update bazel toolchains to 3.7
Commit: | 54c5ec8 | |
---|---|---|
Author: | Corbin McNeely-Smith | |
Committer: | GitHub |
Add option rules for kotlinc and javac. (#383) * add option rules for kotlinc and javac. * Use repeated fields for all additional flags. * Fix incorrect boolean inverse on epDisableAllChecks * Update test to handle repeated flags.
Commit: | 53cd4b2 | |
---|---|---|
Author: | Corbin McNeely-Smith | |
Committer: | GitHub |
Adds support to compile using kotlin abi and java ijars. (#294) * Add SkipCodeGen plugin for stopping the compilation process after the analysis phase * Add generate_jvm_service utility rule for embedding service definitions in a jar. * Add jvm-abi-gen and skip-code-gen plugins to the toolchain and tests. * Add skip-code-gen to the builder jar * Up the size the basic jvm test, as it times out occasionally with a full test run. * Add abijar to the builder for generating abis * Add logic to trigger abi generation in the compile command on both the toolchain (experimental_abi_compile=True) and commandline option (-define=experimental_abi_compile=1,0) * Builder supports building abis on request. * integrate build changes and rework the compilation error handling to flow better. * Restructured kt/java compilation for readability * Reworked the CompilationArgs to be more kotlinish * Split the basic jvm test to avoid timing out. Issue: issue/296 Issue: rules_kotlin/issues/296
Commit: | 484f116 | |
---|---|---|
Author: | Ilja Kroonen | |
Committer: | GitHub |
Adds a kt_plugin rule (#308) Creates a `kt_compiler_plugin` rule to allow kotlin compiler plugins to be specified, and then included with a `plugins=` attribute on kt_jvm_* jobs. This should support arbitrary kotlin compiler plugins, such as the android extensions, open-for-testing, and others. This does _not_ add an exported_plugins infrastructure (such as you get with java_plugins), and it does not change the special-case handling of kapt. It also doesn't do anything to resolve plugin inter-0compatibilities (e.g. the ABI plugin possibly needing information from the parcelizable, or other such interactions) The latter are issues yet to be figured out int he kotlinc plugin infrastructure, and we'll adapt this rule as appropriate. Also adds docs and examples.
Commit: | e234ac6 | |
---|---|---|
Author: | Corbin McNeely-Smith | |
Committer: | GitHub |
Ensure that KotlionBuilder workers use a clean directory for each compilation. (#298) * Create WorkingDirectoryContext to handle compilation directory lifecycle. * Thread the working directory to all intermediate directories to ensure hermetic compilation. * Added test for worker hermiticity. * Restructured BazelWorker.kt for easier testing by pulling out the delegation invoker. * Changed the flag enums to be public and static. * Create KotlinBuilderTestComponent for retrieving configured instances for test. * Replaced the use of system user.dir with a more robust path usage. * Ensure js has a clean working area.
Commit: | e8fd9ce | |
---|---|---|
Author: | Corbin McNeely-Smith | |
Committer: | GitHub |
Apply autoformatting to all files. (#302) Ran google java format, ktlint, and buildifier. Added .buildconfig to help standardize formatting.
Commit: | b48c3f3 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
Kapt3 use processorpath and processors flags. remove gson usage.
Commit: | a4e902d | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
consolate all srcs under src
Commit: | 303eefb | |
---|---|---|
Author: | Hassan Syed | |
Committer: | GitHub |
basic js support (#114) Experimental JS support.
Commit: | 78a2dc5 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
add debug setting and thread it to the builder via the toolchain
Commit: | d62ca7d | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
merge task builder into kotlin builder and move task specific logic to executor class
Commit: | 4ec3449 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
split timing and trace into seperate flags and tidy up
Commit: | 97b1d49 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
various tidy ups and reorganizations (for a task-model and from the android and js branches)
Commit: | 42eceb7 | |
---|---|---|
Author: | Hassan Syed | |
Committer: | GitHub |
Source jar (#100) add source jar generation to the builder and remove skylark version
Commit: | 8baf590 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
kotlin model changes
Commit: | 268a438 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
Keep the platform and rule type in destructured form in the compilation task.
Commit: | f6e3010 | |
---|---|---|
Author: | Hassan Syed | |
Committer: | GitHub |
Remove stdlib (#97) * ensure jar normalization * fix embed resources hash * make the hashing test local and add ij runconfig * remove kotlin_stdlib, refactor bootstrap macro, reorganize source to start working on a task model for the builder
Commit: | 001c1fc | |
---|---|---|
Author: | Hadrien Chauvin | |
Committer: | hsyed |
add support for code coverage
Commit: | 415ee0f | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
cherry pick directory structure from ic branch, refactor and document model.
Commit: | ed8ff30 | |
---|---|---|
Author: | hsyed | |
Committer: | Hassan Syed |
tidy ups
Commit: | 2d517f9 | |
---|---|---|
Author: | Hassan Syed | |
Committer: | hsyed |
issue #69 friend support
Commit: | 4a41020 | |
---|---|---|
Author: | hsyed | |
Committer: | hsyed |
huge refactor, performance improvments and bazel_deps
Commit: | fe7e1b1 | |
---|---|---|
Author: | hsyed | |
Committer: | hsyed |
test refactor and replace moshi with protobuf, start model proto file
Commit: | a071dc4 | |
---|---|---|
Author: | hsyed |
reorganize builder packages
Commit: | 3208b17 | |
---|---|---|
Author: | David Stanke |
initial import from hsyed/rules_kotlin