https://github.com/sshtools/bootlace
Java Module Loading Framework
https://github.com/sshtools/bootlace
Last synced: over 1 year ago
JSON representation
Java Module Loading Framework
- Host: GitHub
- URL: https://github.com/sshtools/bootlace
- Owner: sshtools
- License: mit
- Created: 2024-03-02T01:41:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-21T13:27:46.000Z (almost 2 years ago)
- Last Synced: 2025-01-23T00:13:34.334Z (over 1 year ago)
- Language: Java
- Size: 208 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bootlace
A library that makes use of Java Module Layers to provide a low level framework for creating
dynamically extendible layered applications
Inspired by Lawrry, Bootlace was written from the ground up to meet our particular needs.
* Layers defined either programmatically or via INI format files.
* Can locate artifacts in local paths (e.g. development environments), local repositories ($HOME/.m2), or any folder
* Layers can be configured as dynamic pointing to a directory. Zip files dropped in the directory will be loaded as new layers. Also expanded layers in the directory may be deleted and they will be removed.
* Can download artifacts from Maven repositories.
## Components
* Bootlace API. Provides interfaces and basic services. Will be exposed to all child layers
* Bootlace Platform. The implementation of the Bootlace API, used to bootstrap and maintain a
a layered application. Will be hidden from any child layers.
* Bootlace Repositories. Responsible for downloading artifacts from remote repositories. This module
has some external dependencies, so in order to keep the number of modules exposed at the
root layer to a minimum, this can be isolated in a separate layer. Layers in sibling branches
may then configure the repositories provided by this *Global Layer*
* Bootlace Maven Plugin. Add to your projects to generate plugin archives.
## Usage
## Bootstrap
You need a small amount of Java code to Bootstrap your application. Further configuration can
then be achieved either by more code, or using a `layers.ini` file or resource.
### From Configuration File
TODO
### Programatically
TODO