Skip to content

Commit

Permalink
docs: roadmap notes and todos
Browse files Browse the repository at this point in the history
Signed-off-by: Art Shendrik <[email protected]>
  • Loading branch information
amal committed Mar 18, 2024
1 parent 9aa0452 commit 52914bf
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 1 deletion.
17 changes: 17 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@
<summary>Show</summary>

* Save known versions of deps and tools to use by default (the whole toml file with no comments?)
* Support `-Xdont-warn-on-error-suppression` kotlin flag.
* https://youtrack.jetbrains.com/issue/KT-66513#focus=Comments-27-9461367.0-0
* Support auto detection if `-Xjdk-release` can be used. Fail only for release builds. Warn otherwise.
* _If there's no `ct.sym` file in JDK but `-Xjdk-release` is used, the compiler will stop with an error. The only workaround in that case is to remove `-Xjdk-release`._
* https://youtrack.jetbrains.com/issue/KT-29974#focus=Comments-27-9458958.0-0
* https://github.com/slackhq/slack-gradle-plugin/pull/778/files
* Only apply jdk-release in jvm builds?
* https://github.com/slackhq/slack-gradle-plugin/commit/8445dbf943c6871a27a04186772efc1c42498cda
* CI improvements
* https://github.com/adevinta/spark-android/tree/main/.github
* [Gradle Plugin TestKit](https://github.com/autonomousapps/dependency-analysis-gradle-plugin/tree/main/testkit) ([Docs](https://docs.gradle.org/current/userguide/test_kit.html))
* https://github.com/square/radiography
* https://github.com/JetBrains-Research/reflekt
Expand All @@ -32,6 +42,8 @@
* Warn on data classes overall (public api, android app, etc.)
* По гайдлайнам если есть хоть 1 именованный параметр нужно все именовать
* Бед практис передавать мьютбл (collection, etc.) в параметрах
* Add lint check to warn about calls to mutableStateOf with a State object
* https://issuetracker.google.com/issues/169445918
* Create detekt rules for Gradle plugins best practices
* e.g., not to use `org.gradle.api.tasks.TaskCollection.matching`, `findByName`, etc. when `named` or `withType`
is enough (don't early create tasks).
Expand All @@ -51,13 +63,17 @@
* https://github.com/tnorbye/kdoc-formatter
* https://github.com/ashtanko/kotlin-app-template/tree/main
* Github Action + git-hook + Issues Template
*
* https://github.com/danger/kotlin
* __Infrastructure plugins__
* https://github.com/slackhq/slack-gradle-plugin/
* https://github.com/slackhq/slack-gradle-plugin/releases/tag/0.13.0
* https://github.com/slackhq/slack-gradle-plugin/releases/tag/0.14.0
* https://github.com/avito-tech/avito-android
* https://github.com/avito-tech/avito-android/blob/a1949b4/subprojects/assemble/proguard-guard/src/main/kotlin/com/avito/android/proguard_guard/shadowr8/ShadowR8TaskCreator.kt
* GIT hooks: https://github.com/avito-tech/avito-android/tree/develop/.git_hooks
* palantir gradle baseline
* https://github.com/palantir/gradle-baseline
* Gradle Core plugins
* https://github.com/gradle/gradle/tree/a300b86/platforms/documentation/docs/src/docs/userguide/core-plugins
* Gradle configuration
Expand Down Expand Up @@ -213,6 +229,7 @@
* https://plugins.gradle.org/plugin/com.guardsquare.appsweep
* Java 9 modularity support
* https://github.com/Kotlin/kotlinx.coroutines/blob/d12eb45/buildSrc/src/main/kotlin/Java9Modularity.kt
* https://github.com/KotlinCrypto/secure-random/pull/13
* Common utils
* https://github.com/aminography/CommonUtils/tree/1bfbe2d/library/src/main/java/com/aminography/commonutils
* States and Events
Expand Down
2 changes: 1 addition & 1 deletion checks/gradle-plugin/pg/keep-api-autogenerated.pro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# ProGuard/R8 keep rules
# Auto-generated by Fluxo task :generateShrinkerKeepRulesFromApi from API reports:
# - api\check-gradle-plugin.api
# - api/check-gradle-plugin.api (sha256: 53f1538)
# DO NOT EDIT MANUALLY!

-keep,includedescriptorclasses public final class NewPlugin {
Expand Down
2 changes: 2 additions & 0 deletions fluxo-kmp-conf/detekt-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@
<ID>ForbiddenComment:SetupArtifactsProcessing.kt$// TODO: Support Android minification with ProGuard?</ID>
<ID>ForbiddenComment:SetupArtifactsProcessing.kt$// TODO: Support auto-disabling kotlin null checks generation for the shrinked release builds.</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// FIXME: Disable non-resolving tasks if resolving version is available.</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// FIXME: Setup checks for the non source set kotlin files (e.g., *.kts scripts).</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// FIXME: Setup the "InvalidPackageDeclaration" rule for each module,</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// FIXME: Setup the light-weight mode for the git hooks, to run only on the changed files.</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// FIXME: Use kotlin settings directly from the linked kotlin compilation task?</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// TODO: Add option to ignore baselines completely and fail on anything,</ID>
<ID>ForbiddenComment:SetupDetekt.kt$// TODO: Improve detekt task platform detection.</ID>
Expand Down
6 changes: 6 additions & 0 deletions fluxo-kmp-conf/src/main/kotlin/fluxo/conf/feat/SetupDetekt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ internal fun FluxoKmpConfContext.registerReportMergeTask(
// set the 'rootPackage' automatically from module group/package.
// https://github.com/detekt/detekt/issues/4936#issue-1265233509

// FIXME: Setup checks for the non source set kotlin files (e.g., *.kts scripts).
// See orbit-mvi setup for an example.

// FIXME: Setup the light-weight mode for the git hooks, to run only on the changed files.
// And probably without types resolution.

@Suppress("CyclomaticComplexMethod", "LongMethod")
internal fun Project.setupDetekt(
conf: FluxoConfigurationExtensionImpl,
Expand Down

0 comments on commit 52914bf

Please sign in to comment.