-
Notifications
You must be signed in to change notification settings - Fork 18
Description
It would appear the generator has fallen behind the rest of the ecosystem. Generated project skeletons now differ considerably from the reference examples, both in toolchain version and in content.
The following is a list of versions of various toolchain components/dependencies as they are generated (per ab2f6b3), and what they need to be updated to in order to match the examples (per 92813eb):
- Language version:
11->17 - Bundled Gradle version:
7.6->8.2.1 - Ignition SDK version (per the root
build.gradle.kts):8.1.20->8.3 - Gradle plugin
io.ia.sdk.modl:0.4.0->0.1.1(make sense of that one)
I also noticed a handful of other changes that have been applied to the samples, but omitted from the generator:
- In the example projects,
settings.gradlefiles have been replaced withsettings.gradle.ktsfiles, but generated projects still usesettings.gradlefiles - In the example projects, a master list of version-referenced library references is declared in
~/gradle/libs.versions.toml, which are referenced by all subprojectbuild.gradle.ktsfiles (this is a great change, thanks). The generator didn't get the memo, so generated projects still resolve their maven dependency versions to the selected API version through string interpolation. - Some new cleanup code is present at the bottom of the root project's
build.gradle.ktsthat is absent in generated projects.
I am aware of the disclaimer associated with the generated regarding not leaning on the generator as a replacement for learning Gradle, but I think it's reasonable to expect that generated projects are structurally consistent with the reference examples.