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
Gang,

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)
commands.

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
point.

Templates in the works;

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

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.

Niclas

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

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