10/06/2009Project Development Manager


I got tired of extra-complicated project development managers so far like maven, ant, phing & many many more… So as natural developer I’ve decided to create my own, at least to be used for my own ever growing code base ;)

So here are some initial thoughts:

Goals:
- Dependencies management (modules, libraries, 3th party
contributions, git, svn, cvs)
- Development management (debug, release conditional builds)
- Deployment management (testing, packaging, install, release)
- Simple & flexible
– creation
– dependencies
– configuration (better without)

Basis example of project development upon given problem (project
exists because they solve problems):
1) create project
2) include dependencies
3) build
4) see
5) modify code (repeat 3 -> 5 until solution is found )
6) package (make library, executable, install)
7) distribute (upload the outputs, push to collaborative scm & etc.)

* all projects are modules, they depend on other modules. Libraries,
source code packs are modules. => Modules can contain other modules.
* every module has its own name space, no need of grouping them.
* several source code files can be easily called a module been ready
for compilation or even direct execution/usage
* having module based on other module libraries forms a project
solution or just solution. Every solution is a module also.
* the overall building of solution depends on its requirements
(modules) behind it. Building them is matter of implementation of
their distributions.
* one should be able to add easily extensions/plugins for solving
given particular task.
* development scripting (because to do the above steps scripts need to
be processed & been automated at some point)

Implementation paths:
- cross-technology api
- local/remote service (capable to be included within XMPP, ISS,
Tomcat servers) responsible to understand given client’s request &
perform the needed operations.
- local frontend client (CLI or other)

Project Data needed for Development(pdml):
<module uid=’org.pdml”>
<description> Project Development Markup Language parser library
</description>

<depend uid=’org.saxs.xml’ />

<module uid=’org.pdml.java’ />
<module uid=’org.pdml.php’ />
<module uid=’org.pdml.ruby />

</module>

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>