STATUS: stable, in production use.
Cinnamon 4 replaces Cinnamon 3 and incorporates a variety of improvements.
In fact, Cinnamon 4 is not an evolved version of Cinnamon 3, but was redeveloped from scratch. To minimize effort porting legacy customization, the previously existing API functionality was maintained by providing replacement for all relevant API methods that existed in Cinnamon 3. The API was, however, significantly extended, and existing methods became more powerful.
One issue in Cinnamon 3, the complex dependency chain was resolved by the redevelopment. Cinnamon 4 is implemented in Java without using frameworks like Hibernate or Groovy / Grails.
The redesign was done using modern language features and consequent implementation of unit tests to enhance stability.
-
Overview
-
Use cases and applications
-
Installation from binaries
-
Build from source
-
Administration
-
Contribute
-
Service, support and contact
Version numbers describe the minimum version. You can either download them directly and install them manually (recommended for Java) or use your system’s package manager (Linux) or the Windows installer.
To run the newest binary release, you just need
-
cinnamon-server.jar (click on "Assets" to expand the file list, then download the jar file.)
-
Git (optional for build, required for developers)
-
Apache Maven 3.8.1 (as build system)
After performing the operating system specific part, continue with:
TODO: add a database for initial production setup
In the top level project directory, run:
mvn clean package
to build target/cinnamon-server.jar which includes all dependencies. This will also run a full integration test and create a lot of basic objects in the cinnamon_test database. If this succeeds, the system is okay.
# with slim jar: mvn dependency:copy-dependencies -DoutputDirectory=target/lib
java -jar target/cinnamon-server.jar
# java 21: java --add-modules jdk.incubator.vector --enable-native-access=ALL-UNNAMED -jar target/cinnamon-server.jar
will start the server with default settings.
Run
java -jar target/cinnamon-server.jar --help
to show the command line options.
# write the default config to a file: java -jar target/cinnamon-server.jar --write-config my-config.xml
# load a custom config file: java -jar target/cinnamon-server.jar --config my-config.xml
# start on port 8080: java -jar target/cinnamon-server.jar --port 8080
TODO: explain/document configuration settings issue #125
See the file default-config.xml[default-config.xml] for the default values.
Copyright 2018-2022 Ingo Wiarda
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Also see: Apache 2.0 license text included in this project.
Ingo Wiarda - ingo_wiarda@dewarim.de