Download Padre

Features: Project Management

Padre will have the notion of a Perl project. As we would like to make things as natural as possible for the Perl developer and we think the distribution methods used for CPAN module are a good way to handle any project Padre will understand a project as a CPAN module. This does not mean that your project needs to end up on CPAN of course. But if your projects directory structure follows that of the modules on CPAN, Padre will be automatically recognize it.

One suggestion was to use Devel::PerlySense http://use.perl.org/comments.pl?sid=40446 that seems to support some (or all?) of the requirements below and even more.

Anyway here are some thoughts of what a project should look like.

First we need to think in terms of a Perl project, but one that can include actually lots of other languages and technologies. Later we should have an idea for projects where the main language is not necessarily Perl and the directory layout is different.

We need to assume that the current working directory of the editor can be anywhere.

For Perl project management we will assume a directory layout similar to what we have in most CPAN distributions. That is

  lib/    holding the modules
  bin/    holding the executable scripts
  t/      holding the test files

There should be a Makefile.PL or a Build.PL

Select a project is basically select a directory.

It will try to guess the preferred installation system Build.PL or Makefile.PL Then one should have all the standard steps ready in the menu Project Build.PL, Build, Build test, Build testcover, Build dist Build testdist

Create a new project will create the directory and the standard files

Select a project == select a directory assuming the files are already there

or

Select a project that was already selected once

Later we can integrate with various version control system so a new project might start by pointing to the repository (e.g. svn repo) and checking it out to some local place etc...

How to keep the path of projects on a stick? Their path can be different in different machines.