New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What's missing for 1.0.0 release? #1206
Comments
I personally don't feel like Detekt is ready to be called 1.0.0. There are many false positives and open bugs/improvement tickets. Even nowadays APIs are breaking rather often. Probably because more people want it to be 1.0.0 and looking for inconsistencies - which is a good thing! I suggest that we all go over all of the public API and try to get rid of all of its flaws and then give it some time to rest and gather feedback. I'd also question certain features and their reason to exist. Like wrapping ktlint over detekt. |
I think we're mostly thinking along the same lines. Rule updates will always be required. New rules can be added in minor versions and false positives/bugs fixed in a patch version. This issue isn't intended to say "call it 1.0.0, it's done", but to identity those key issues that are still open and to trigger a review of the public API as you said to prepare for a 1.0.0 release. |
I mostly agree with @vanniktech @3flex |
Also thanks for bringing this topic to light @3flex |
I think one goal should be to get detekt in a flexible enough state to run successfully on the KotlinConf Schedule Application. detekt should work with reasonable defaults doing nothing more than adding this to the root build.gradle file:
If it works properly in that project, it should work anywhere (it's a Kotlin Multiplatform Project with JVM, JS, Android and iOS targets). |
I agree with most of what has been said here so far. Looking at bugs in the core modules, raising test coverage and improving documentation. Also the amount of false positives in the rules need to be lowered and caught earlier. Possibly on CI we can integrate detekt into other projects and catch new false positives due to rule changes there. However before releaseing a final v1 we should also have a roadmap for what is to come after v1 and think about which APIs those features need and what in the current API needs to change. This would allow us to prepare (possibly do backwards compatible changes earlier) and also think about good migration plans for users. |
Hey sorry for a late response,
Edit: I think we should concentrate our work on delivering 1.0.0 for all detekt-modules. The gradle plugin can stay a RC and be released independently. For the gradle plugin we have some open issues which need more effort https://github.com/arturbosch/detekt/issues?q=config+is%3Aopen+label%3Agradle |
What still needs to be done for 1.0.0 release?
Most detekt components are fairly mature. What a 1.0.0 release means is the API and configuration DSLs have to be locked down (see #1201 and semver.org).
Probably best thing is for @arturbosch @vanniktech @Mauin @schalkms (sorry if I missed anyone, just thinking about those who are heavily active) to:
detekt is seeing wider adoption. A 1.0.0 release and adopting semver would be a great next step in terms of the tool's maturity.
The text was updated successfully, but these errors were encountered: