I added a Clojure example to the Java-GI examples repository: https://github.com/jwharm/java-gi-examples/tree/main/HelloWorldClojure

I'm not a Clojure developer myself, so the code is a direct port of the Java "Hello World" example app, and not very "clojure-like" I guess 🙂

#gnome #javagi #clojure

The Java-GI application template now uses #Blueprint for the user interface definitions.

If you're interested, give it a try: https://github.com/jwharm/java-gi-app-template

#javagi #gnome #blueprint #java

Yesterday I released Java-GI 0.14.1, and today I did all of the related busywork: updating the examples, the template app, and the documentation.

Most notable new feature in this release: When you define a GObject-derived class in Java with enum or flags getter/setter methods, Java-GI will automatically register a GType for the Java enums and create GObject properties for them.

Release notes: https://github.com/jwharm/java-gi/releases/tag/0.14.1

I'm really tempted to jump to version 1.0 next time...

#javagi

Release 0.14.1 · jwharm/java-gi

Java-GI 0.14.1 is a minor feature and bugfix release. Fixes #327: Fix double ref()-calls on callback arguments #328, #329: Fix generation of several unused Arena variables #330: Do not crash when ...

GitHub

I've released Java-GI version 0.14.0-RC1: https://github.com/jwharm/java-gi/releases/tag/0.14.0-RC1

Java-GI (https://java-gi.org) provides Java bindings for Gtk, LibAdwaita, GStreamer and other GObject-Introspection-based libraries.

Release 0.14.0 will upgrade the bindings to GNOME 49, introduce JSpecify nullability annotations, and several other fixes and improvements.

#javagi

I've finally have a working "Java-GI application template" with working localization, settings, desktop file, manifest, icons, etc, that can be distributed as a Flatpak. It's available here:

https://github.com/jwharm/java-gi-app-template

The application uses Gradle to build the source code, and Meson to install settings, resources, translations etc. Currently, both build systems are triggered separately from the Flatpak manifest. I will try to improve this, so that meson triggers the gradle build (or vice versa).

The screenshot shows the dutch (nl) translation that demonstrates the gettext integration.

#gnome #java #javagi #flatpak