polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: Shell tool
Date Thu, 09 Jun 2016 22:55:32 GMT

As mentioned, I have been working on
https://issues.apache.org/jira/browse/ZEST-143 since this should help
people to get going with Zest.

It is similar to Maven archetypes, or IDEs "Create Project" (or equivalent)

It is still pretty much work in-progress, but I want to give a heads-up
that there is progress.

Core app;
Most basic features are implemented and it should be able to create a
project from scratch and use a template to create the skeletal starting

Templates in the works;

null = Empty template that only contains a build system and directory

singleton = Creates the build system, directory structure and a minimal
Zest application, one layer, one module and the bootstrap code. Possibly
should have a model and possibly some basic functionality.

default = Creates the build system, directory structure and a 4 layered
standard application, Config, Infra, Domain and Connectivity layers, and
creates modules in those and populates them with a working "Order" model.

rest = Same as 'default' but also adds the "restlet" library and wires up
the CRUD interface to the model.

ng-heroes = https://github.com/lcrespom/ng-heroes is a similar thing for
AngularJS. I am thinking that this template should provide a AngularJS
variant into the "Order" model in the "rest" template, and you have
everything needed for complete web app development.

The subsystem is NOT a Zest application to simplify its use. I want it to
be possible to bootstrap Zest development without downloading Zest SDK and
keep things really simple. So, every dependency will make that a little bit
harder, and Zest is a lot of those. I have therefore also kept templating
engines, logback, args4j and similar out of the loop.

As I mentioned, this is not in any way completed (or even working at all),
and assistance would be greatly appreciated.


On Thu, Apr 21, 2016 at 5:09 PM, Niclas Hedhman <niclas@hedhman.org> wrote:

> Hi,
> I have mentioned before that I have been working on a Shell tool. Finally
> got some time to push it quite a lot down the line.
> So far, only one command implemented;
>     zest create-project template name rootpackage
> It will create a buildable project with name "name" in the directory
> "name", and source code is placed under the "rootpackage" package. The
> bootstrap code, build system and such is always created, and depending on
> the template, additional things is added;
>    null - as small as it gets.
>    singleton - single layer, single module
>    default - 4 layers with all the basic infrastructure set up, includes
> minimal domain model.
>    restapp - Restlet library based application, all basics, plus a mounted
> RestAPI with CRUD operations.
> Not totally ready yet. Need to trim more on the templates, but it works in
> principle.
> BUT, I have an issue and want some help...
> I have filtering enabled on the copying of Zest sources into the Zest SDK.
> So, I need to ensure that binary files are not mangled with.
> def extraDistTextImage = copySpec {
>   releaseApprovedProjects.collect { p ->
>     from "$p.projectDir/src/dist/"
>     exclude "**/*.jar"
>     exclude "**/*.jar_"
>     eachFile {
>       filter(ReplaceTokens, tokens: [version: version])
>     }
>   }
>   into( "." )
> }
> def extraDistBinImage = copySpec {
>   releaseApprovedProjects.collect { p ->
>     from "$p.projectDir/src/dist/"
>     include "**/*.jar"
>     include "**/*.jar_"
>   }
>   into( "." )
> }
> But this will place two entries into the ZIP file for the *.jar_ files,
> and one of them being correct. Why doesn't exclude work??
> Cheers
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java

Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

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