Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felixklauke/isabelle
Integrating minecraft spigot servers plugin lifecycle into Netflix' Governators lifecycle extensions and provide an effective framework featuring dependency injection, configuration mapping and some general governator features for spigot plugins.
https://github.com/felixklauke/isabelle
configuration-management configuration-mapping dependency-injection governator lifecycle-management netflix spigot spigot-mc spigot-plugins spigot-server
Last synced: about 2 months ago
JSON representation
Integrating minecraft spigot servers plugin lifecycle into Netflix' Governators lifecycle extensions and provide an effective framework featuring dependency injection, configuration mapping and some general governator features for spigot plugins.
- Host: GitHub
- URL: https://github.com/felixklauke/isabelle
- Owner: felixklauke
- License: mit
- Created: 2018-07-29T07:02:13.000Z (over 6 years ago)
- Default Branch: dev
- Last Pushed: 2023-02-28T05:07:25.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T03:50:36.190Z (2 months ago)
- Topics: configuration-management, configuration-mapping, dependency-injection, governator, lifecycle-management, netflix, spigot, spigot-mc, spigot-plugins, spigot-server
- Language: Java
- Homepage:
- Size: 179 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# isabelle
Integrating minecraft spigot servers plugin lifecycle into lifecycle extensions and provide an effective framework featuring dependency injection, configuration mapping and some general governator features for spigot plugins.Integrations:
1. [Theresa](https://github.com/FelixKlauke/theresa) - My own dependency injection framework based on Guice
2. [Governator](https://github.com/Netflix/governator) - A dependency injection framework based on Google developed by Netflix. In maintenance mode and therefor deprecated.# Status
| | Build Status | Test Code Coverage |
|------------- |----------------------------------------------------------------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Master | [![Build Status](https://travis-ci.org/FelixKlauke/isabelle.svg?branch=master)](https://travis-ci.org/FelixKlauke/isabelle) | [![codecov](https://codecov.io/gh/FelixKlauke/isabelle/branch/master/graph/badge.svg)](https://codecov.io/gh/FelixKlauke/isabelle) |
| Development | [![Build Status](https://travis-ci.org/FelixKlauke/isabelle.svg?branch=dev)](https://travis-ci.org/FelixKlauke/isabelle) | [![codecov](https://codecov.io/gh/FelixKlauke/isabelle/branch/dev/graph/badge.svg)](https://codecov.io/gh/FelixKlauke/isabelle) |# Maven & Gradle
**Maven Repositories**
```xml
klauke-enterprises-maven-releases
Klauke Enterprises Maven Releases
https://repository.klauke-enterprises.com/repository/maven-releases/
klauke-enterprises-maven-snapshots
Klauke Enterprises Maven Snapshots
https://repository.klauke-enterprises.com/repository/maven-snapshots/
```
**Maven dependencies**
```xml
de.d3adspace.isabelle
isabelle-spigot-governator
1.2.0```
# How it works
Isabelle provides a single endpoint class called `IsabelleSpigotExtension`
(`de.d3adspace.isabelle.spigot.governator.IsabelleSpigotExtension`). Instead of using the well known `JavaPlugin` you
just have to extend our class and the magic begins. You can take a look at
https://github.com/Isariel/laura/blob/dev/spigot/src/main/java/de/d3adspace/laura/spigot/extension/LauraSpigotExtension.java
for a full featured example but you can also do a quick start with our internal example.**Basic structure**:
```java
package de.d3adspace.isabelle.spigot.plugin;import de.d3adspace.isabelle.spigot.governator.IsabelleSpigotExtension;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.logging.Level;/**
* @author Felix Klauke
*/
public class ExamplePlugin extends IsabelleSpigotExtension {@PostConstruct
public void onPostConstruct() {
exampleService.executeAwesomeActions();getLogger().log(Level.INFO, "Entering post construction phase.");
}@PreDestroy
public void onPreDestroy() {getLogger().log(Level.INFO, "Entering pre deconstruction phase.");
}
}
```You can find the corresponding full example source here:
https://github.com/FelixKlauke/isabelle/blob/dev/isabelle-spigot-governator-example/src/main/java/de/d3adspace/isabelle/spigot/plugin/ExamplePlugin.java**Depdendency Injection**:
As we use Governator/Theresa and Guice under the hood we have a powerful dependency injection mechanism.