polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Application Code Management tool
Date Fri, 24 Apr 2015 03:16:47 GMT
Gang,
After the presentation in Romania, one of the feedbacks received was that
it is too hard to get going with Qi4j. Not only does it require quite a
steep learning curve to grasp Qi4j itself, but it is tedious to set up a
working build for a new project.

So, I want to create something similar to Maven Archetypes, but with much
better understanding of Qi4j structures.

I have created a branch for this; Gradle_archetype_toolchain
Name was set before I realize what I want to do, but Gradle will be the
first supported build system, but I think at least Maven should also be
supported, and possibly be able to create Eclipse Workspaces and IntelliJ
projects as well.

Problem domain;
  + Support Pre-packaged application structures, i.e. templating
  + Support creation/removal of all Qi4j primary types, Application, Layer,
Module, Composites
  + Support weaving in custom code, so generation can occur more than once.
  + Support generation to many different build tools.

Solution domain;
  * Strong domain model, which is kept in an entity store and modified
interactively or via scripting
  * Set of commands for manipulating the model
  * The entire entity store can be used as a "template" for new projects
  * Generators will use the model and generate the structures
  * Commands are also used to start generation

Example Use-case 1
Developer Alex want to use Qi4j for a RESTful server application. He isues
the 'create-project' command and selects the 'rest-server' application
type, and the tool creates a operational skeleton application that serves a
'Hello, Zest' response from http://localhost:8080/


WDYT?

Cheers
-- 
Niclas Hedhman, Software Developer
http://zest.apache.org/qi4j <http://www.qi4j.org> - New Energy for Java

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message