Category: nightbuilds

11/03/2009[part 2] PDMLEditor


Here is a snapshot of the current build of PDMLEditor ready for download. It is still buggy and can be used only when DAssistA is running as rest service in the background, but at least works in terms of reader for pdml files & module(s) browser/reflector. More to be made in the following releases.

concept-impl_01

What is its purpose:

1) make writing/reading pdml files easy tasks.
2) support creation of pdml scripts by exposing what is presented in DAssistA as code documentation per all modules found in there.

Next on : Project Modelier

10/29/2009DAssistA :: improved ActionPDML & more


Now pdmls can contain something like this haxe.org.dassista._pdmls.export-as-repo entry:

<pdml parser="haxe.org.dassista.tools.parsers.ActionPdml">
<pdml parser="haxe.org.dassista.tools.parsers.ActionPdml"> <execute classname="haxe.org.dassista.tools.Parser"> <target>haxe.org.dassista._pdmls.module</target> </execute> <clean classname="haxe.org.dassista.tools.proxy.Dir"> <target>releases.org.dassista</target> </clean> <execute classname="haxe.org.dassista.tools.proxy.Copy"> <src>haxe.org.dassista</src> <dest>releases.org.dassista.repo.haxe.org.dassista</dest> <excludeDirs>.git</excludeDirs> <excludeFiles>*.n</excludeFiles> </execute> <execute classname="haxe.org.dassista.tools.proxy.Copy"> <src></src> <dest>releases.org.dassista.repo</dest> <name>*.bat</name> </execute> <execute classname="haxe.org.dassista.tools.proxy.Zip"> <src>releases.org.dassista.repo</src> <dest>releases.org.dassista</dest> <name>repo_{version}_{major}_{minor}.zip</name> </execute> </pdml>

where haxe.org.dassista._pdmls.module contains:

<module parser="haxe.org.dassista.tools.parsers.MetadataPdml">
    <gitCloneURL>git://github.com/outbounder/DAssista.git</gitCloneURL>
    <author>Boris Filipov</author>
    <version>0.0.3</version>
</module>
The above export-as-repo dpml executed via DAssistA’s parser will do the following:
1) read haxe.org.dassista._pdmls.module entry & store all found <tag>value</tag> pairs within the runtime hash as they are found.
2) copy all files & subdirs from haxe.org.dassista location to the release one
3) copy all *.bat files found within the current repository (or should be called project swarm :) )
4) zip the exported repo using as name “repo_0.0.3_”, here the shell & restservice get in different ways. RestService could not interact with the browser unless using specific handshake & dialect. Such is not a matter of implementation for now. ;) . The Shell will ask for user input …
have a try it is now already 0.0.4, use git clone (or …. later ;)

10/28/2009DAssistA proof-of-concept


I’m proud to announce that DAssistA finally get rolled out with proof-of-concept version which includes the following features:

- shell command line execution via nekovm
- restful-like execution via nekovm (or mod_neko)
- compile itself & any other haxe/neko based application or module
- release itself & any other project involving only (copy, compile) actions.
- compile php based application or module
- Several simple proxy tools (Copy, Cmd, Haxe, Dir, Git, WGet)
- Couple of pdml parsers (ActionPDML & MetadataPdml) module
- Generic Pdml Parser module

From the above here is a simple usage tutorial:

How to install dassista
1. Install haxe
2. Download the following repo_0.2 zip
3. Unzip to an empty folder (eg. D:\pd-repo\)
that’s all ;)

How to compile dassista
1. Fire-up a console (usually in windows this is Start->Run->type cmd.exe and hit enter)
2. Navigate to the repo folder where dassista repo had been unzipted (eg. D:\pd-repo\)
3.  Type “parse.bat haxe.org.dassista._pdml.compile” , and watch how DAssistA’s modules are been compiled.

How to export dassista as repo
1.  Fire-up console pointing at the repo folder (eg. D:\pd-repo)
2. Type “parse.bat haxe.org.dassista._pdml.export-as-repo“, and watch how current DAssistA repository is been exported into single zip ready to be deployed

How to compile/export to php haxe written web implementation
1. Create an empty directory under dassista repo (eg. D:\pd-repo\php\org\test\)
2. Put php-compile as D:\pd-repo\php\org\test\_pdml\compile.pdml
3. Put Index as D:\pd-repo\php\org\test\Index.hx
3. Type in shell@pd-repo “parse.bat php.org.test._pdmls.compile

10/22/2009It is never too late for a new post.


As DAssistA now has full featured abstract multi-core (check it out at http://github.com/outbounder/haxe.org.multicore ), time had been used to make the following module additions:

- GitBash wrapper
- FileSys wrapper (only xcopy)

Soon or later and installation package will a raise in front our eys. :)

Until then think of the following features:
- easy extendibility using CLI interface for autogenerating  DAssistA modules all around the projects repo
- same thing use but for other projects, languages, platforms & etc.
- automatic download & update.
- project dependencies
- phyton/text-mate cli integration :)
- something else?

10/19/2009DAssistA now needs multi-core


As project development is so different as developers they are – then and DAssistA should be able to match on every requirement. One of the ‘must’ features for project build tools is to be able to interpret code at runtime, like many others (ruby, phyton, php). This is as easy as the one have running in its backyard a interpretor. But this is not DAssistA’s case, where the tool needs a lot more flexibility while keeping it strict & damn simple. Having in other hand haXe & its core based on compilation idea makes things even harder. But unfortunately nekovm comes with bunch of beautiful features & haXe can make use of them well.

Having only half an hour & a little knowledge of haXe, however proved successful because now DAssistA can execute at runtime any haXe written code under nekovm. The only thing which should be made is that the code should be structured as module & implement a simple interface like this:

interface IhaxeCode
{
   function execute(context:Dynamic):Dynamic
}

Thus  by writing such modules around will actually evolve DAssistA at some time to the need of multi-module-core. :)

Any ideas? (wonder)

Schema
Source

PS. Current solution requires haXe compiler.