This should get you going:
git clone https://github.com/home-climate-control/dz.git && \
cd dz && \
git submodule init && \
git submodule update && \
./gradlew build installDist
When completed successfully, it will create a set of executable scripts and execution targets. To summarize,
- To execute this variant: run the
${project_root}/app/hcc-minimal/build/install/hcc/bin/hcc
script, having provided it with the literal configuration location to as an argument. - This version will have stricter constraints on YAML configuration, in particular,
- It doesn't support YAML anchors (yet?)
- It requires more stringent Duration syntax than other versions
- It likely doesn't and will not support breaking the configuration into several profiles (more about that in configuration section)
- It doesn't support automatic Micrometer instrumentation.
- When to use: if your configuration is stable, and you want to run the system on the smallest box possible.
- To execute this variant, you need to run
./gradlew bootRun --args='--spring.profiles.active=<list of active profiles>'
from the project root. - The usual Spring YAML syntax conventions apply.
- When to use: if you are comfortable writing and working with Spring configurations, and wouldn't mind having the system instrumented.
- To execute this variant, you need to run
QUARKUS_PROFILE=<list of active profiles> ./gradlew quarkusDev
from the project root. - Configuration can probably be 100% interchangeable with the SpringBoot version.
- When to use: if you are comfortable with Quarkus more than you are with Spring.
- To execute this variant, you need to first build it with
./gradlew jibDockerBuild
(assuming you granted your build user permissions to run Docker tools) and then run the image with configuration, logs, and connector directories exposed as volumes. Don't forget #305 if you're building the container on a Raspberry Pi. More details are coming soon. - When to use: if you want to tinker with the code and still run it from Docker.
Coming soon, keep checking climategadgets/home-climate-control collection.
Coming soon.
The next step would be to create the configuration.