pjam on rails, part 2 ( pjam projects )

Recently I wrote a post about a pjam - a perl applications build server. Now I continue the topic and try to uncover some pjam vital features.

First of all, central point of pjam is a "project", which is the collection of URLs with a source codes for your application:

Every url therefore holds a part of source code for you application. Modern applications can consists of many parts, so an application can be represented by many URLs in your VC system. Currently pjam supports only subversion VCS, one day I may also add git.

A sources codes, provided by the list of URLs are checked out from VCS and processed in order. Every source code must hold valid Build.PL / Makefile.PL in root directory. Pjam does standard perl Makefile.PL| Build.PL/ && make|./Build manifest && make | ./Build dist loop to create cpan distribution archive for every source.

Therefore every cpan distribution archive created from source code URL is added to pinto repository. The phase above is called "pinto" phase . If the pinto phase is successful we have *all* project dependencies added to pinto repository.

On the next post I will explain next phase called "compile" one.

Leave a comment

About melezhik

user-pic perl, pinto, chef, jenkins, configuration management, continues intergration, deploy