Comments (7)
@yshrsmz I found this: it allows const actuals for non-const expects
JetBrains/kotlin@b4c8544
from buildkonfig.
If I remember correctly, expect/actual cannot be used with const
.
It's possible to use const
when BuildKonfig generates a simple object(when you don't provide target-specific config) but to keep consistency between the 2 cases, I think we should stick to the current implementation
from buildkonfig.
I'm going to close this for now.
Feel free to reopen this if you find a way.
from buildkonfig.
@yshrsmz you can expose expect/actual const values with using @Suppress("CONST_VAL_WITHOUT_INITIALIZER")
on the expect class.
I believe it's a bug in a compiler, and with this suppress i'm using it without any problems since kotlin 1.3.
from buildkonfig.
Hi @Prototik, thanks for the great information.
Do you know any source about this?
I found this youtrack issue, but it does not clarify if this is a bug or not
https://youtrack.jetbrains.com/issue/KT-18856/Can-we-have-expectactual-consts
from buildkonfig.
No, I don't have any additional information about this, i discovered it by myself via looking to source code of kotlin compiler. I think this inspection just don't care about expect/actuals and should not be forced on expect declrations (due to fact expect cannot have default implementation of any sort).
I personally used it in my own BuildConfig-like plugin for a couple years already and don't encounter any issues with this suppress, and i think it's generally safe to do that (at least with opt-in behavior as I suggested in #70).
from buildkonfig.
That's great!
Let's move it forward
from buildkonfig.
Related Issues (20)
- `targetConfigs` does not work in Kotlin DSL HOT 3
- Generated BuildKonfig not updated HOT 1
- Publish to Maven Central HOT 1
- provide a way to read values from properties file HOT 7
- [java.lang.IllegalArgumentException: packageName must be provided] thrown when adding a js(IR) target HOT 4
- Build failed when BuildKonfig configuration moved to a separate file HOT 2
- Kotlin/JS IR backend breaks when using BuildKonfig's `exposeObjectWithName` option HOT 12
- BuildKonfig `0.9.0` -> `0.10.0` breaks Gradle Sync HOT 6
- Kotlin v1.5.31, XCFramework: targetConfigs fields not found from iOS HOT 7
- Java version compatibility HOT 2
- Kotlin/JS Exception: non-flavored defaultConfigs must be provided. Despite is provided. HOT 5
- Support config inheritance HOT 9
- Update Gradle to 7.3+ and use Kotlin 1.5.31
- Support for Gradle configuration cache HOT 1
- Support for adding platform specific config HOT 2
- Generating Non-Internal BuildKonfig object HOT 2
- Generating Secondary and more BuildKonfig object HOT 9
- can support kotlin Native ? HOT 5
- BuildType & ProductFlavor & sourceSets support ? HOT 1
- Plugin generates invalid class so build fails HOT 5
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 buildkonfig.