Skip to content

SpineEventEngine/Chords

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chords

A suite of libraries for desktop UI development with Compose Multiplatform toolkit.

⚠️ Note: the libraries are currently on an experimental stage.

Please see the documentation for respective libraries and the details on their contents and usage:

  • Chords Core — a library that provides a basis for writing desktop applications with Compose by introducing high-level support for creating Compose applications, a notion of class-based components, as well as some basic components.
  • Chords Proto — a library that works on top of Chords Core and provides domain-specific UI components that operate with models defined as Protobuf messages.
  • Chords Proto Values — Protobuf messages and respective Kotlin extensions that complement the ones found in standard Spine libraries, and are required by the Chords Proto library.
  • Chords Client — a library that works on top of Chords Proto and provides facilities and components that support server connectivity using the Spine Event Engine framework.
  • Chords Codegen Runtime — an auxiliary library, which is technically needed at runtime by the Chords Proto and Chords Client libraries for them to be able to gain advantage of Chords code generation facilities which enrich the Protobuf message APIs.

Supported environment

The libraries have been tested to work in the following environment:

  • JDK 11
  • Kotlin 1.8.20
  • Compose Multiplatform 1.5.12
  • Spine Event Engine 1.9.0
  • Gradle 6.9.4

Using libraries in a Gradle project

The artifacts for all Chords libraries are published in the following Maven repository: https://europe-maven.pkg.dev/spine-event-engine/snapshots

First, register the repo where the libraries are published:

repositories {
    maven("https://europe-maven.pkg.dev/spine-event-engine/snapshots")
}

Add dependencies to the required libraries as described in documentation of each respective library (referred to in the section above).

Libraries development

Development environment

  • Get the content of Git submodules as follows:
    git submodule update --init --recursive
    
  • Use JDK 11 for developing and running the project.
  • Install the "detekt" addon for IntelliJ IDEA, and add the quality/detekt-config.yml file to the "Configuration files" section in on the IDEA's Settings > Tools > detekt page.

Building all libraries locally

./gradlew clean build

Code generation facilities

The Chords libraries employ certain code generation facilities, which are meant to complement the Protobuf message APIs generated by the Protobuf compiler.

See codegen/plugins for more details.

Auxiliary modules

Besides the modules for each of the library mentioned above, this repo contains the following key parts:

About

UI components for Compose Multiplatform toolkit

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •