polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandro Martini <sandro.mart...@gmail.com>
Subject Re: Application Code Management tool
Date Fri, 24 Apr 2015 07:59:29 GMT
Hi Niclas,
I think it's a good idea, Gradle is really a powerful tool !!

What do you think on implementing these features with Gradle plugins ?
Just for info, Grails 3 has been rewritten and all developer-related
features are now on top of Gradle (with custom gradle plugins, to make
available shell commands and other developer-related stuff) so maybe
something like this could be good even here ...


2015-04-24 5:16 GMT+02:00 Niclas Hedhman <niclas@hedhman.org>:
> 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/
> Cheers
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org/qi4j <http://www.qi4j.org> - New Energy for Java

View raw message