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.Internal
from 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: smoke-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
.