Comments (3)
Hey @CLOVIS-AI,
The Arrow project is very old, and it has gone through a lot... Over the years we've moved more, and more to "vanilla" configuration, and were able to get rid of our custom tooling in favor of new 1st party tooling (like KotlinX Knit).
The Arrow Gradle Config came to live only because we were stuck with publishing KMP with 1.0. Since we didn't know what to do we turned to the community, and Arrow Gradle Config was born but was quickly abandoned. So personally I am in favor of getting rid of Arrow Gradle Config, because the maintenance costs are way too high, and it's constantly been behind since its inception.
Requirements:
- Publishing: fully replaced by Gradle Maven Publish Plugin.
- Dokka: moved into Arrow config during 1.x
- Kotlin Configuration: Targets & explicitApi (&?) Arrow Gradle Config Kotlin
- Formatter Arrow Gradle Config Formatter. Spotless is a single line configuration, so I would just inline the necessary code. (I think Arrow Gradle Config is over-configured here??).
- Versioning: This is currently disabled, due to versioning plugin not respecting previously released alpha, beta, and RC releases. Not blocking, we can figure out something down the road.
@CLOVIS-AI, to be completely honest I don't think a lot of us have a strong opinion about this. My goal is to move towards what is recommended, and/or most used, in Kotlin. This will improve ease of contributions, readability, and maintenance. So feel free to make a counter proposal, or suggest any other changes to our Gradle configuration.
Thank you @CLOVIS-AI 🙌
from arrow.
From what I gather, the final objective is to have as much as possible in this repository, and avoid using the Arrow Gradle Config repo altogether?
If so, what's your plan when you want to create spin-off repositories?
Sorry for the long time to answer, KotlinConf was wild!
from arrow.
Sorry for the long time to answer, KotlinConf was wild!
No worries, no time pressure for OSS but KotlinConf really was wild 😂
If so, what's your plan when you want to create spin-off repositories?
To be honest I was thinking we'd just have a little bit of duplication. The formatter is a non-issue, it's a 1 liner in 99% of the cases. So that only leaves configuring the targets, is it worth it keeping that in a separate repo? All spin-off repositories seem to have slightly different target requirements since they build on top of specific stuff.
- SuspendApp, posix APIs so this excludes mobile devices and non-NodeJS.
- Ktor, follows targets from Ktor, which are not the same as Kotlin Std, or KotlinX
- ?
from arrow.
Related Issues (20)
- @optics generates bad code when dealing with nested generic sealed hierarchies
- ["Documentation"] Ior Knit examples not rendering properly
- autoCloseScope: the order of close method calls is not the same as `AutoCloseable.use` HOT 2
- Tracing reports a swallowed CancellationException warning HOT 7
- Fold restriction not allowing any Function<*> to be returned is too strict HOT 20
- ["Request"] Raise DSL for working with nonEmptyLists HOT 3
- @optics generates bad code for data class with generic named 'S' HOT 1
- ["Bug"] Arrow core 1.2.4 not compatible with Kotlin WASM JS HOT 3
- ["Request"] Annotate Raise interface with @RaiseDSL HOT 2
- ["Request"] Resilience Saga allow
- ["Request"] mention `result` computation block API in learning docs
- Update Arrow 2.0.0-alpha.2 misses a dependency HOT 3
- ["BUG"] Arrow Optics, `it` package in lambda
- Can't import KSP plugin using BoM HOT 1
- Duplicate class for arrow-optics-compose
- Saga with raise inside SagaActionStep don't rollback HOT 3
- ["Request"] `OptionRaise` available in `Option.catch {}`
- Flaky `RaceNJvmTest.firstRacerOutOf2AlwaysWinsOnASingleThread()` tests
- @optics generates bad code for class named Object
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 arrow.