-
Notifications
You must be signed in to change notification settings - Fork 17
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
Improve Gradle-related Kotlin code #1004
Comments
(@MaciejG604 checkboxes FTW ☝🏻 ) |
@MaciejG604 pls tick off once you start work on the given point. This will prevent doubling the efforts in case someone else would like to pick a subtask. |
I don't know if un-hardcoding names of IntellijVersions properties can be done while still keeping all the type guarantees. It is so becuase the class stores not only Strings (nullable and not-nullable) but also a List of Strings. |
Ouch, sorry... I pointed to the wrong class. I meant unhardcoding keys in the dict used in |
After migrating the gradle scripts to Kotlin there are some issues that need to be resolved:
(one way to do it would be to put the aliases into extra properties of the project in buildSrc)
libraries
andplugins
in libs.version.toml:[plugins]
sections should be extracted to[versions]
section to avoid discrepancies[plugins]
section can be removed completely in favor of the newly-added[libraries]
?@pins
on certain plugins, as done in[plugins]
currently (so that they're NOT auto-updated bygradle versionCatalogUpdate
)[libraries]
are needed in the first place and/or a reference to a blogpost describing this techniqueCheckerFrameworkConfigurator::applySubtypingChecker
, then revertkotlinOptions.allWarningsAsErrors = true
inbuildSrc/build.gradle.kts
IntellijVersionHelper
so that there are no unsafe typecasts: preferably extract a data class to keep the IntelliJ versions retrieved from properties file, to avoid using string keysbuild.gradle.kts
files formatted with Spotless (and not just files in buildSrc/) — seekotlinGradle { ... }
./gradlew build
:buildSrc:compileKotlin
task:'compileJava' task (current target is 11) and 'compileKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version
api(project(branchLayout.api))
. Probably no point in defining them explicitly if they aren't available OOTB => NOBuildUtils.foo(project)
calls with justfoo()
(probably an extension method onProject
would be needed) => YESUpdateEapBuildNumber#checkForEapWithBuildNumberHigherThan
to use Kotlin regex APIIntellijVersions
properties by using.name
: https://kotlinlang.org/docs/reflection.html#property-referencesThe text was updated successfully, but these errors were encountered: