crysknife-parent

POC DI for GWT 3 or j2cl

License

License

GroupId

GroupId

io.crysknife
ArtifactId

ArtifactId

crysknife-parent
Last Version

Last Version

0.2
Release Date

Release Date

Type

Type

pom
Description

Description

crysknife-parent
POC DI for GWT 3 or j2cl
Project URL

Project URL

https://github.com/treblereel
Project Organization

Project Organization

Treblereel
Source Code Management

Source Code Management

https://github.com/crysknife-io/crysknife

Download crysknife-parent

Filename Size
crysknife-parent-0.2.pom 16 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/io.crysknife/crysknife-parent/ -->
<dependency>
    <groupId>io.crysknife</groupId>
    <artifactId>crysknife-parent</artifactId>
    <version>0.2</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.crysknife/crysknife-parent/
implementation 'io.crysknife:crysknife-parent:0.2'
// https://jarcasting.com/artifacts/io.crysknife/crysknife-parent/
implementation ("io.crysknife:crysknife-parent:0.2")
'io.crysknife:crysknife-parent:pom:0.2'
<dependency org="io.crysknife" name="crysknife-parent" rev="0.2">
  <artifact name="crysknife-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.crysknife', module='crysknife-parent', version='0.2')
)
libraryDependencies += "io.crysknife" % "crysknife-parent" % "0.2"
[io.crysknife/crysknife-parent "0.2"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • annotations
  • processor
  • core
  • ui
  • tests

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: http://127.0.0.1:8080/demo
  6. To build a .war, run 'mvn clean package -Pbuild' within crysknife/demo folder

Have fun and let J2CL win !

Versions

Version
0.2
0.1