Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/deploy_create_draft_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ jobs:
- name: Output supported godot version file
run: echo $(echo "$GITHUB_REF" | grep -Po '^(?:refs\/tags\/\d+.\d+.\d+-)\K(\d+.\d+.\d+)((?=-SNAPSHOT$)|$)') > deploy_godot_version.txt

- name: Output godot kotlin jvm version file
run: echo $(echo "$GITHUB_REF" | grep -Po '(\d+\.\d+\.\d+-\d+\.\d+\.\d+(-SNAPSHOT)?)') > deploy_godot_kotlin_jvm_version.txt
- name: Output Godot-JVM version file
run: echo $(echo "$GITHUB_REF" | grep -Po '(\d+\.\d+\.\d+-\d+\.\d+\.\d+(-SNAPSHOT)?)') > deploy_godot_jvm_version.txt

- name: Save Release URL File for publish
uses: actions/upload-artifact@v4
Expand All @@ -61,8 +61,8 @@ jobs:
name: deploy_godot_version
path: deploy_godot_version.txt

- name: Save godot kotlin jvm version for publish
- name: Save Godot-JVM version for publish
uses: actions/upload-artifact@v4
with:
name: deploy_godot_kotlin_jvm_version
path: deploy_godot_kotlin_jvm_version.txt
name: deploy_godot_jvm_version
path: deploy_godot_jvm_version.txt
2 changes: 1 addition & 1 deletion .github/workflows/trigger_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.14.3-4.5.1"
godot-jvm-version: "0.14.3-4.5.1"
godot-version: "4.5.1-stable"
build-version: "0.14.3"
jvm-version: "17"
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/trigger_on_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.14.3-4.5.1"
godot-jvm-version: "0.14.3-4.5.1"
godot-version: "4.5.1-stable"
build-version: "0.14.3"
jvm-version: "17"
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
- build-jvm
- build-macos
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-version: ${{ needs.setup-build-variables.outputs['build-version'] }}

Expand All @@ -111,7 +111,7 @@ jobs:
- setup-build-variables
- build-ios
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-version: ${{ needs.setup-build-variables.outputs['build-version'] }}

Expand All @@ -123,7 +123,7 @@ jobs:
- build-jvm
- build-linux
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-version: ${{ needs.setup-build-variables.outputs['build-version'] }}

Expand All @@ -135,7 +135,7 @@ jobs:
- build-jvm
- build-windows
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-version: ${{ needs.setup-build-variables.outputs['build-version'] }}

Expand All @@ -150,7 +150,7 @@ jobs:
- assemble-macos # export templates need to be packed into app
- build-windows # uploads finished export template directly
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
build-version: ${{ needs.setup-build-variables.outputs['build-version'] }}

Expand All @@ -167,7 +167,7 @@ jobs:
- assemble-windows
- assemble-export-templates
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
secrets: inherit # needed so that this sub workflow can also access github secrets for this workflow

deploy-jvm:
Expand All @@ -178,7 +178,7 @@ jobs:
- build-jvm
- deploy-godot # we define an explicit dependency on the github upload in case something goes wrong there. Github release purging is easier than from maven central and the likes
with:
godot-kotlin-jvm-version: ${{ needs.setup-build-variables.outputs['godot-kotlin-jvm-version'] }}
godot-jvm-version: ${{ needs.setup-build-variables.outputs['godot-jvm-version'] }}
godot-version: ${{ needs.setup-build-variables.outputs['godot-version'] }}
jvm-version: ${{ needs.setup-build-variables.outputs['jvm-version'] }}
secrets: inherit # needed so that this sub workflow can also access github secrets for this workflow
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Godot Kotlin/JVM
# Godot-JVM
## Kotlin/JVM binding for the Godot Game Engine

<p align="center">
<img src=".README/logo.png" width="30%" height="30%">
</p>

[![GitHub](https://img.shields.io/github/license/utopia-rise/godot-kotlin-jvm?style=for-the-badge)](LICENSE)
[![GitHub](https://img.shields.io/github/license/utopia-rise/godot-jvm?style=for-the-badge)](LICENSE)
[![Discord](https://img.shields.io/discord/675058327088136212?style=for-the-badge&label=Discord)](https://discord.gg/zpb5Ru7v9x)
[![Website](https://img.shields.io/website?url=https%3A%2F%2Fgodot-kotl.in%2Fen%2Fstable%2F&style=for-the-badge&label=Documentation)](https://godot-kotl.in/en/stable/)

Expand Down Expand Up @@ -37,7 +37,7 @@ or for [C#](https://docs.godotengine.org/en/3.1/getting_started/scripting/c_shar

This version of the binding is currently in **Beta**! While you can fully use the binding, please note that there might still be breaking API changes. We welcome any suggestions you have for improving the project and its API.

To be able to use this binding, you need to download our custom editor build and export templates from the [GitHub releases page](https://github.com/utopia-rise/godot-kotlin-jvm/releases)! The official godot binaries will NOT work!
To be able to use this binding, you need to download our custom editor build and export templates from the [GitHub releases page](https://github.com/utopia-rise/godot-jvm/releases)! The official godot binaries will NOT work!

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Godot Kotlin/JVM documentation
## Godot-JVM documentation

The bindings documentation is written in markdown files, using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).

Expand Down
2 changes: 1 addition & 1 deletion docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
site_name: Godot Kotlin/JVM
site_name: Godot-JVM
docs_dir: src/doc

repo_name: 'utopia-rise/godot-kotlin-jvm'
Expand Down
6 changes: 3 additions & 3 deletions docs/src/doc/develop-libraries/introduction.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Godot Kotlin/JVM libraries are basically the equivalent of Godot Addons,
but specifically for the use in other Godot Kotlin/JVM projects like Games or Applications.
Godot-JVM libraries are basically the equivalent of Godot Addons,
but specifically for the use in other Godot-JVM projects like Games or Applications.

!!!Relevance
If you build a library which does not register any classes to Godot, you can just create a regular JVM library, and you will have no need for this documentation.

## Overview

A Godot Kotlin/JVM library is just a regular JVM library with additional metadata annotations for registered classes.
A Godot-JVM library is just a regular JVM library with additional metadata annotations for registered classes.
For registered classes in a library registration files are generated and provided to the consumer, so they can be used in the consuming project.
2 changes: 1 addition & 1 deletion docs/src/doc/develop-libraries/setup.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The basic project setup is the same as for regular Godot Kotlin/JVM projects.
The basic project setup is the same as for regular Godot-JVM projects.
Head over to the corresponding [getting started](../getting-started/requirements.md) guide to set up the basics of the project.

## Library specific setup
Expand Down
4 changes: 2 additions & 2 deletions docs/src/doc/getting-started/setting-up.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ is running, open the `Settings` and select the `Plugins` entry. From this view,

Type `godot kotlin` into the search bar, and our plugin will be shown as follows.

![Godot Kotlin Plugin](../assets/img/idea-plugin/plugin-godot-kotlin.png)
![Godot-JVM Plugin](../assets/img/idea-plugin/plugin-godot-kotlin.png)

Click the `Install` button and wait for the IDE to download the plugin. Once the downloading
process is complete, press the `OK` button on the bottom-right. The IDE will prompt a new
Expand All @@ -43,7 +43,7 @@ To create a new project, please refer to the following instructions:

1. Open IntelliJ IDEA
2. Create a new project clicking on `New Project`
3. In the `New Project` window, select `Godot Kotlin JVM`.
3. In the `New Project` window, select `Godot-JVM JVM`.
4. Fill out the package fields as necessary
5. (Optional) Select the builds that your project is interested in, such as Android or iOS.

Expand Down
12 changes: 6 additions & 6 deletions docs/src/doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ hide:
---


[![GitHub](https://img.shields.io/github/license/utopia-rise/godot-kotlin-jvm?style=flat-square)](LICENSE)
[![GitHub](https://img.shields.io/github/license/utopia-rise/godot-jvm?style=flat-square)](LICENSE)

**Godot Kotlin/JVM** is a Godot module which allows you to write your game or application logic in Kotlin on the JVM.
**Godot-JVM** is a Godot module which allows you to write your game or application logic in Kotlin on the JVM.

If you are looking for the documentation for Godot Kotlin/Native; you can find it [here](https://godot-kotlin.readthedocs.io/en/latest/).

Expand All @@ -16,7 +16,7 @@ This project is in Beta. While you can fully use the binding, please note that t

## Project templates and demos

This is a minimal list to start off with a new Godot Kotlin/JVM project:
This is a minimal list to start off with a new Godot-JVM project:

- [Minimal project template](https://github.com/utopia-rise/godot-kotlin-project-template)
- [GDQuest 3D demo converted to Kotlin](https://github.com/utopia-rise/godot-kotlin-3d-demo)
Expand All @@ -38,12 +38,12 @@ and limitations which will not be or cannot be adressed in the near forseable fu

- Only a default no arg constructor can be registered.
- No tool mode (you can set it already in the `@RegisterClass` annotation but it has no effect yet).
- No addon support, you cannot use Godot Kotlin/JVM to write plugins and addons yet (you can however [write libraries](develop-libraries/introduction.md) with godot specific code).
- No addon support, you cannot use Godot-JVM to write plugins and addons yet (you can however [write libraries](develop-libraries/introduction.md) with godot specific code).
- Web is currently not supported. See [Supported platforms](#supported-platforms) to see what platforms we currently support

### Bug reporting and questions

If you find bugs, please report an [issue on GitHub](https://github.com/utopia-rise/godot-kotlin-jvm/issues) - but check for duplicates first. If you have questions or need help, you can ask on [Discord](https://discord.gg/zpb5Ru7v9x) in the `questions` and `help` channels respectively.
If you find bugs, please report an [issue on GitHub](https://github.com/utopia-rise/godot-jvm/issues) - but check for duplicates first. If you have questions or need help, you can ask on [Discord](https://discord.gg/zpb5Ru7v9x) in the `questions` and `help` channels respectively.
If you don't have Discord or you don't want to use it, please file an issue on GitHub.

## Supported languages
Expand Down Expand Up @@ -79,7 +79,7 @@ The current latest release is compatible with Kotlin version `2.0.21`.

## Custom engine builds

Get our pre-built engine builds and export templates from the latest [GitHub releases](https://github.com/utopia-rise/godot-kotlin-jvm/releases).
Get our pre-built engine builds and export templates from the latest [GitHub releases](https://github.com/utopia-rise/godot-jvm/releases).

Contrary to the official binaries, there are two builds of the editor per Platform: debug and release.
`release` editors are the editors you use normally. `debug` editors provide debug symbols and are intended to provide better stacktraces in case of crashes of the editor. Please use those when submitting bugreports.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
The following arguments can be either used in the command line or the `godot_kotlin_configuration.json` file at the root
of the project to customize the behaviour of the Godot Kotlin/JVM binding.
of the project to customize the behaviour of the Godot-JVM binding.

!!! info
Note that in case the same argument is used in both JSON and command-line, the command-line argument got the priority.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/doc/user-guide/api-differences.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Registration files and attaching scripts

Godot Kotlin/JVM offers two different ways to attach scripts:
Godot-JVM offers two different ways to attach scripts:

- Source files
- Registration files.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/doc/user-guide/classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ This also works for any type you define.

Godot requires you to have a default constructor on your classes. These are automatically registered for you.
Registering constructor with arguments is currently not supported. But you can freely use them from Kotlin/Java/Scala
just not from GDScript or any other non Godot Kotlin/JVM language.
just not from GDScript or any other non Godot-JVM language.

### Instantiate Kotlin script classes in GDScript

Expand Down
2 changes: 1 addition & 1 deletion docs/src/doc/user-guide/consuming-libraries.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dependencies {
}
```

# Godot Kotlin/JVM libraries
# Godot-JVM libraries

Can also be used the same way as for regular Gradle projects:

Expand Down
2 changes: 1 addition & 1 deletion harness/tests/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Unit tests for Godot Kotlin/JVM
# Unit tests for Godot-JVM

## Setup instructions
### Gradle task
Expand Down
2 changes: 1 addition & 1 deletion harness/tests/project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ config_version=5

[application]

config/name="Godot Kotlin Tests"
config/name="Godot-JVM Tests"
run/main_scene="res://test/GutTests.tscn"
config/features=PackedStringArray("4.5")
config/icon="res://icon.png"
Expand Down
2 changes: 1 addition & 1 deletion harness/tests/scripts/godot/tests/HelloFromScala.gdj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ supertypes = [
godot.common.interop.NativePointer
]
signals = [
my_signal

]
properties = [
my_int
Expand Down
3 changes: 1 addition & 2 deletions harness/tests/scripts/godot/tests/JavaTestClass.gdj
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ supertypes = [
godot.common.interop.NativePointer
]
signals = [
test_signal,
test_signal2

]
properties = [
java_enum,
Expand Down
4 changes: 1 addition & 3 deletions harness/tests/scripts/godot/tests/ScalaTestClass.gdj
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ supertypes = [
godot.common.interop.NativePointer
]
signals = [
test_signal,
test_signal2

]
properties = [
exported_int,
Expand All @@ -31,6 +30,5 @@ properties = [
functions = [
greeting,
_ready,
connect_and_trigger_signal,
signal_callback
]
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ signals = [

]
properties = [

default_constructor_has_been_called
]
functions = [

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
extends "res://addons/gut/test.gd"


func test_call_function_in_godot_kotlin_jvm_dependency():
func test_call_function_in_godot_jvm_dependency():
var library_test_scene = load("res://library_test.tscn").instantiate()
assert_eq(library_test_scene.provide_greeting_for_hierarchical_library(), "Hello from hierarchical-library-test!", "Greeting from hierarchical library does not match")
assert_eq(library_test_scene.provide_greeting_for_flattened_library(), "Hello from flattened-library-test!", "Greeting from flattened library does not match")
Expand Down
2 changes: 1 addition & 1 deletion kt/build-logic/convention/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ gradlePlugin {
plugins {
create("godotPublishPlugin") {
id = "com.utopia-rise.godot-publish"
displayName = "Gradle plugin for publishing godot kotlin jvm to maven central"
displayName = "Gradle plugin for publishing Godot-JVM to maven central"
implementationClass = "publish.PublishToMavenCentralPlugin"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,26 +59,26 @@ class PublishToMavenCentralPlugin : Plugin<Project> {
publication.version = evaluatedProject.version as String

publication.pom { mavenPom ->
mavenPom.url.set("https://github.com/utopia-rise/godot-kotlin-jvm.git")
mavenPom.url.set("https://github.com/utopia-rise/godot-jvm.git")

if (mavenPom.name.getOrElse("").isNullOrEmpty()) {
mavenPom.name.set(evaluatedProject.name)
}
if (mavenPom.description.getOrElse("").isNullOrEmpty()) {
mavenPom.description.set(evaluatedProject.description ?: "Godot kotlin jvm module")
mavenPom.description.set(evaluatedProject.description ?: "Godot-JVM module")
}

mavenPom.scm { mavenPomScm ->
mavenPomScm.connection.set("scm:git:https://github.com/utopia-rise/godot-kotlin-jvm")
mavenPomScm.developerConnection.set("scm:git:github.com:utopia-rise/godot-kotlin-jvm.git")
mavenPomScm.connection.set("scm:git:https://github.com/utopia-rise/godot-jvm")
mavenPomScm.developerConnection.set("scm:git:github.com:utopia-rise/godot-jvm.git")
mavenPomScm.tag.set("master") //FIXME
mavenPomScm.url.set("https://github.com/utopia-rise/godot-kotlin-jvm")
mavenPomScm.url.set("https://github.com/utopia-rise/godot-jvm")
}

mavenPom.licenses { mavenPomLicenseSpec ->
mavenPomLicenseSpec.license { mavenPomLicense ->
mavenPomLicense.name.set("MIT License")
mavenPomLicense.url.set("https://github.com/utopia-rise/godot-kotlin-jvm/blob/master/LICENSE")
mavenPomLicense.url.set("https://github.com/utopia-rise/godot-jvm/blob/master/LICENSE")
mavenPomLicense.distribution.set("repo")
}
}
Expand Down
Loading
Loading