utopia-rise/godot-kotlin-native

Provide InteliJ project template

Wavesonics opened this issue · 13 comments

This would make the initial setup for new users much simpler.

It looks like it's possibly as simply as described here:
https://www.jetbrains.com/help/idea/save-project-as-template-dialog.html

And it could be added to the Jetbrains plugin repo so that users can grab it from within InteliJ it's self.

That really is a great idea! I you want to tackle this feel free.
Otherwise I will look at it once I'm done with #2 .

Really great Idea ! It would clearly improve end user experience.

Yeah I can take this one, on Discord it was mentioned that we want a different layout for the projects, where Kotlin is not a sibling directory, but instead inside of the Godot project directory. Does anyone have a specific layout in mind? If not I can figure out a sensible one.

I'm fine if you make a suggestion. I think discussions about it can be made once the PR is up and should happen there to document it.
Thanks I'll assign you the task.

Sounds good, I'll get a PR in soon

I opened #26 to discuss the new project layout

Ok I did some investigation into this today, and I don't think the save project template route is going to work well for us.

So now I'm investigating writing an InteliJ plugin that will give us a new project wizard.

https://www.jetbrains.org/intellij/sdk/docs/tutorials/project_wizard/adding_new_steps.html

Maybe we can also try implementing that as a Godot addon. We will make one anyway, creating the basic setup for a kotlin project can be part of it.

@CedNaru that would be a really nice solution.

For the more immediate term, we might also just add a gradle task that does some of the boot strapping, like creating the gdnlib file.

I'm thinking setup instructions something like:

  1. Create Godot project
  2. Extract our Kotlin-Godot zip into project dir. That zip contains:
  • gradle wrapper scripts
  • our build.gradle.kts
  • Example.kt
  1. ./gradlew build

Step 3 along with a new gradle task we create, will create the gdnlib, and everything else.

I started down the road of making a plugin for IntelliJ to add a New Project Wizard for GodotKotlin.

The skeleton is there, but there's still quite a bit of work to be done to make it actually create the project properly.

And I'm not completely sure this is the right approach.

Anyway the branch is here: https://github.com/Wavesonics/godot-kotlin/tree/feature/intellij-project-wizard

That's awesome ! By the way, can we add an icon ? I know that's not the more important, but it really helps in a ui :)

I think the correct approach is represented in #33

I've investigated the IntelliJ specific solutions to my satisfaction and don't think they are the way forward.

The Godot Editor Plugin #33 is going to be the best way to integrate this and provide initial project setup IMO.

I'm closing this issue.