Skip to content

Upgraded gradle build config to use KTS and misc improvements#642

Merged
kalmanbencze merged 19 commits intoSceneView:mainfrom
kalmanbencze:main
Nov 10, 2025
Merged

Upgraded gradle build config to use KTS and misc improvements#642
kalmanbencze merged 19 commits intoSceneView:mainfrom
kalmanbencze:main

Conversation

@kalmanbencze
Copy link
Contributor

@kalmanbencze kalmanbencze commented Oct 24, 2025

Changes:

  • using libs.versions.toml file for declaration of library versions
  • rewrote build.gradle -> build.gradle.kts with necessary modernization
  • rewrote the buildSrc contents/ renamed to build-logic to define convention plugins
  • Rewrote the groovy FilamentPlugin.kt in kotlin
  • upgraded gradle to gradle-8.14.3
  • tested the plugin to convert the resources + samples to verify them
  • updated workflows to run on jvm 21

Testing

  • regenerated all resources with the rewritten plugin
  • tested all samples
  • published the libraries to local maven to make sure the publishing works as before

@kalmanbencze
Copy link
Contributor Author

hey @ThomasGorisse @grassydragon, I got one more change here to modernise the repo a bit. Let me know if I should try and break it into more pieces, although the groovy to kts gradle dsl change would be hard to do one by one

Copy link
Contributor

@grassydragon grassydragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are my comments after reading through the changes. I'll also try checking out the branch and building the project.

I'd like to hear @ThomasGorisse's opinion on the changes related to publishing.

//
// Needed if you want to generate Materials, Indirect Light (IBL) and Skyboxes.
//
// 1) Copy/paste the /buildSrc dir into your project root folder
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the plugin code is now located in build-logic, the manual for adding it to your own project should be updated.

By the way, do you think it's possible to release the plugin as a part of Sceneview? So it can be included as a dependency instead of copying the code.

Copy link
Contributor Author

@kalmanbencze kalmanbencze Oct 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm I think so, I'll set it up, and if works, I'll update the readme with how to add and run the plugin

@grassydragon
Copy link
Contributor

Hey @kalmanbencze,
Sorry, I was on vacation last week. I'll try to take a look at the updated pull request in the following days.

Copy link
Contributor

@grassydragon grassydragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for addressing my comments! There are only some minor issues left.
I guess, if @ThomasGorisse doesn't have time to take a look at the pull request, we'll merge it and fix any publishing issues before the next release.

iblInputDir.set(project.layout.projectDirectory.dir("src/main/environments"))
iblOutputDir.set(project.layout.projectDirectory.dir("src/main/assets/environments"))
iblFormat = "ktx"
dokka {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if having the Dokka configuration two times will generate the documentation twice 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it looked like both sceneview and arsceneveiew modules need to have dokka plugin enabled - but of course in current main all of the dokka config is commented out so I wasn't sure.
The way it's set up now is:

  • generates dokka documentation for both arsceneview and sceneview modules, each of these references the README.md at the root of the project.

@kalmanbencze
Copy link
Contributor Author

@grassydragon I adjusted the dokka config, and tested the dokka publishing works locally, and the documentation is generated for both modules.

@grassydragon
Copy link
Contributor

Thank you! I think we can merge the pull request after you push the latest changes.

By the way, I think you've noticed that you are now a member of the Sceneview organization so you can create new branches directly in the repository.

@kalmanbencze kalmanbencze merged commit eaa6f6d into SceneView:main Nov 10, 2025
1 check passed
@grassydragon
Copy link
Contributor

Ops, we should have squashed the commits 😅

@kalmanbencze
Copy link
Contributor Author

Ops, we should have squashed the commits 😅

ah, I was used to having squash and merge by default 😅

@Kfeavel Kfeavel mentioned this pull request Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants