This repository contains the code of foundation of the Spine Event Engine framework which includes:
- The framework base data types and utilities.
- Utilities for testing.
- Gradle plug-ins:
- Spine Model Compiler — transforms a domain model defined in proto files into the Java code.
- Spine Javadoc Prettifier — processes Javadocs of generated files.
- Protoc plugin — a plug-in for Google Protobuf compiler for generating custom code for framework-specific message types.
- Proto JS plugin — a plug-in that assists Protobuf JS compiler in JavaScript code generation.
- Spine Javadoc Filter — excludes elements annotated with
io.spine.Internalfrom the generated doc. - Spine Error Prone Checks — the custom Error Prone checks for the Spine projects.
These components are used by core-java and are not supposed to be used directly by the end user project.
The repository also contains:
- Validating Builders assembler for
base. - A common base for Spine Gradle plugins.
- Test utilities for Spine plugins.
- Integration tests for all Spine tools.
Currently, the coverage stats reflect the hits gathered from unit tests. However, Gradle plugins -
a significant part of this repository - are covered with integration tests. During each of those, a
standalone Gradle process is launched. The limitations of jacoco task API do not allow to include
the coverage of such tests into the repository coverage report easily. Therefore, current coverage
percentage shown is significantly lower than a real one.
In most Spine repositories, we update the config submodule by running ./config/pull (or its
Batch equivalent). However, in base we also need to copy Gradle buildSrc directory into included
builds: tests and base-validating-builders. Thus, here we have ./pull and .\pull.bat
scripts which do whatever their config counterparts do and also copy buildSrc into the two
included build directories.
It is always recommended running ./pull instead of ./config/pull.