GithubHelp home page GithubHelp logo

homeofthewizard / sisu-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eclipse-sisu/sisu-project

0.0 0.0 0.0 6.68 MB

Sisu Inject

Home Page: https://www.eclipse.org/sisu

License: Eclipse Public License 2.0

Shell 0.04% Java 99.44% HTML 0.52%

sisu-project's Introduction

+-----------+---+-----------+---+---+
|           |   |           |   |   |
|   O-------+   |   O-------+   |   |
|           |   |           |   |   |
+-------O   |   +-------O   |   O   |
|           |   |           |       |
+-----------+---+-----------+-------+

build maintainability license

Sisu is a modular JSR330-based container that supports classpath scanning, auto-binding, and dynamic auto-wiring.

Sisu uses Google-Guice to perform dependency injection and provide the core JSR330 support, but removes the need to write explicit bindings in Guice modules. Integration with other containers via the Eclipse Extension Registry and the OSGi Service Registry is a goal of this project.

Maven

<dependency>
  <groupId>org.eclipse.sisu</groupId>
  <artifactId>org.eclipse.sisu.inject</artifactId>
  <version>0.3.5</version>
</dependency>

Documentation

Sisu in 5 minutes

Javadoc

Plexus to JSR330

Generation of Named Index

Often Sisu's SpaceModule doesn't scan the full classpath at run time (for relevant annotations) but relies on a pre-generated index at META-INF/sisu/javax.inject.Named. There are two different ways how to create such an index file:

  1. By leveraging the Java annotation processor in org.eclipse.sisu.space.SisuIndexAPT6 to generate the index. One needs to enable via javac -processor org.eclipse.sisu.space.SisuIndexAPT6 or with the according maven-compiler-plugin parameter annotationProcessors.
  2. By leveraging the dedicated Maven plugin https://github.com/eclipse-sisu/sisu-project/tree/main/org.eclipse.sisu.mojos

Related projects

https://github.com/eclipse/sisu.mojos/

  • a Maven plugin that generates annotation indexes for Sisu to avoid classpath scanning at runtime

https://github.com/eclipse/sisu.plexus/

  • an extension that implements Plexus container API and injection semantics on top of Sisu

How to Contribute

We accept contributions via GitHub pull requests. Please see How To Contribute to get started.

License

Meaning of sisu

From https://en.wikipedia.org/w/index.php?title=Sisu&oldid=371994592

Sisu is a Finnish term loosely translated into English as strength of will, determination, perseverance, and acting rationally in the face of adversity. However, the word is widely considered to lack a proper translation into any language. Sisu has been described as being integral to understanding Finnish culture. The literal meaning is equivalent in English to "having guts", and the word derives from sisus, which means something inner or interior. However sisu is defined by a long-term element in it; it is not momentary courage, but the ability to sustain an action against the odds. Deciding on a course of action and the sticking to that decision against repeated failures is sisu. It is similar to equanimity, except the forbearance of sisu has a grimmer quality of stress management than the latter. The noun sisu is related to the adjective sisukas, one having the quality of sisu.

Additional information

sisu-project's People

Contributors

mcculls avatar cstamas avatar kwin avatar slachiewicz avatar gnodet avatar ifedorenko avatar homeofthewizard avatar bentmann avatar atanasenko avatar mthmulders avatar olamy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.