Comments (9)
#117 done.
from rules_kotlin.
+1
I have a large Android project with 30+ modules which contain mixed Java and Kotlin source. At the moment we build with Gradle but the option to adopt Bazel would be great :)
from rules_kotlin.
Android should work you will need to write some macros for your project. Basically you build a kotlin jar useing the rules here and you then glue / wrap them into the android rules. In the grand scheme of things writing these macros is a small amount of work in setting up a mono repo with bazel.
I would love to work on this to provide “official” android support but I need support from Google (@davidstanke) on this one as it is a significant amount of time and we don’t use android internally. Google is best placed to design the structure of these rules / macros for the long term.
Integration tests would be required and depending on how the rules are designed some changes might be needed in the android rules in bazel core.
from rules_kotlin.
Hey hey! I've actually moved to a slightly different role at Google, so IDK if I can do anything "official" here. :) + @jin for thoughts!
from rules_kotlin.
@hsyed thanks for your reply - I'll have to do some reading into writing Bazel macros to achieve this, I'm not particularly familiar with Bazel to begin with so we'll see how well that goes :)
We're using kapt as well which I gather is another complication!
from rules_kotlin.
@Pmcneice kapt is supported and far more consistent than the plugins in Gradle which can stop working randomly between releases and or how the gradle daemon started up. It works reliably and works in mixed mode compiles as well.
See the example app and the tests.
from rules_kotlin.
@davidstanke thanks for the ping! Let me sync up with the maintainers of https://github.com/bazelbuild/rules_android and see what the plans are for Kotlin Android rules.
from rules_kotlin.
The rules_android and Bazel maintainers are fully invested into migrating the native Android rules out of the Bazel source tree and into their Skylark implementations, and unfortunately we don't have the free cycles to work on kt_android_library. The good news is that once we have the Android rules in Skylark, extending them would be a lot simpler than it is currently.
from rules_kotlin.
I've been following this closely - I'm excited :) Thanks for all the hard work.
from rules_kotlin.
Related Issues (20)
- [Bazel CI] WorkerEnvironmentTest is failing at Bazel@HEAD HOT 3
- KSP subplugin conflicts with guava in @com_github_jetbrains_kotlin//lib/kotlin-compiler.jar HOT 1
- Switch to kover? HOT 1
- kt_jvm_library increased memory usage with rules_kotlin v1.9.2 HOT 1
- [ Bazel ci] Error name 'aar_import' is not defined with Bazel@HEAD HOT 4
- Failed to resolve kotlin-stdlib-js for Kotlin 2.0 HOT 4
- Cold start times for KotlinCompile/KotlinKapt workers HOT 4
- [Bazel CI] Test docs:are_docs_up_to_date_test is failing in Bazel@HEAD HOT 12
- Update ktlint version HOT 1
- [Bazel CI] Error Generating proto for Starlark doc for core failed with Bazel@HEAD HOT 3
- _ksp_compiler_plugin_repository_impl Fails on Windows HOT 3
- @com_github_google_ksp .jar files not resolved in windows HOT 1
- Generated proguard rules are missing from output
- [Bazel CI] bazel: Lint starlark doc for kotlin packages fails with invalid repository name HOT 1
- [Bazel CI] Build failed with errors in `rules_kotlin` and 'android_ndk_repository' is not defined` HOT 1
- How do define multiple Toolchains?
- [Bazel CI] lint_stardoc failed: error executing Stardoc command with Bazel@HEAD
- [Bazel CI] Error computing the main repository mapping: no such package '@@rules_kotlin//kotlin': HOT 1
- [Bazel CI] Error for Bzlmod migration HOT 1
- Transfer rules_kotlin to bazel-contrib HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rules_kotlin.