Architecture
In order to be usable in every use case, Bedrock provides support for new projects to integrate fully with every part of its buildchain as well as for old legacy projects where custom codebases and build chains may pre-exist and need to be retained. Forcing a developer to rewrite the core of their code or abandon existing in-house technologies is not an option.
As a result, and with both these situations in mind, Bedrock's build flow acts as depicted below:
Developers have the option to integrate with any or none of the following features from Bedrock:
- The Runtime abstraction layers
- The standardised Resource Handler
- The provided device database
Regardless of which of these features are used, a Bedrock project ingests the final resources files and Java source that would normally be passed into the Java Compiler. Instead of compiling these into a JAR, for non-Java platforms Bedrock's CrossCompiler will transform this source code into a format required for the particular platform. Then, by integrating with the required official SDK, a native binary will be created, ready to be tested and deployed.
A standardised build flow allows developers to target any of these branches at the click of a button, and all from a Java source.

















