Skip to content

ratuka/crysknife

 
 

Repository files navigation

crysknife

This project is a proof of concept for a CDI-like Dependency Injection framework with a support of some popular features. It’s based on annotation processors code generation and has no GWT2 dependencies.

Demo: https://crysknife.cloud.unispace.io

At this point Crysknife supports:

  • @Singleton and @Dependent scopes
  • lazy fields and constructor injections
  • @PostConstruct
  • transitive injections
  • @Named qualifiers and @Produces for custom objects like Elemental2 widgets
  • HTML templates
  • Data binding

Demo shows how Crysknife is used on a simple page compiled with J2CL (with j2cl-maven-plugin).

Please, remember that this is a POC, nothing more at this moment. Feel free to comment and criticize.

How to build:

  1. 'git clone [email protected]:treblereel/crysknife.git'
  2. 'mvn clean install'
  3. To run demo, run 'mvn clean j2cl:watch' within crysknife/demo folder
  4. Open another console and run 'mvn tomcat7:run'
  5. Open in browser: https://127.0.0.1:8080/demo
  6. To build a .war, run 'mvn clean package -Pbuild' within crysknife/demo folder

Information for Intellij Idea users:

Project requires maven plugins to build and run, and therefore you should enable option in your IDE:

  1. Open Maven settings in the Maven tool window.
  2. Click Maven and from the list, select Runner.
  3. On the Runner page, select Delegate IDE build/run actions to maven.

Have fun and let J2CL win !

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%