wiki:Development

Version 5 (modified by claudio, 6 years ago) (diff)

Fixed 404 by linking to new Hacking document

Development

We are using Subversion for version control. The main development is in the trunk http://svn.perlide.org/padre/trunk. There is a separate directory for plug-ins and spin-off projects: http://svn.perlide.org/padre/projects

  • see Download for installation information

see the http://search.cpan.org/~szabgab/Padre-0.24/lib/Padre/Manual/Hacking.pod file

Translation

See TranslationIntro

Release and Distribution

Release of Padre

As of release 0.21 we started a rotation of release managers for Padre. See Release_History

  • Obtain co-maintenance permissions for all of the namespaces in the Padre distribution. Talk to Gábor Szabó (szabgab), Adam Kennedy (Alias), or Steffen Müller (tsee) about this.
  • cd to trunk/Padre
  • Make sure the Changes file is up to date and manually update if necessary, add the vX.XX Date string at the top (commit)
  • run perl ../tools/update_version_number.pl VERSION that will update the version number in every module and report if there was no VERSION entry in a module. Those need to be fixed. (commit)
  • run perl ../tools/release.pl REV VERSION [--tag] will try to create a distribution using a temporary directory and copy the resulting Padre-X.XX.tar.gz in the current directory. The optional --tag flag will also create a tag in SVN. So the release manager first can run it dry and when she is sure it creates a good release can run it again to also tag it in SVN.
  • Upload to PAUSE
  • Send announcement to padre-dev mailing list
  • Send announcement to padre-news mailing list (Gabor needs to approve the message)
  • Submit announcement to http://use.perl.org/
  • Update the Release History
  • Add the version number to the list of versions in Trac (Gabor needs to do this)
  • Important: Assign primary maintainer status to Gabor (PAUSE ID 'SZABGAB') for all namespaces that are new in the current release.
    • Log into your PAUSE account
    • Click "View Permissions" in the menu
    • Note all Padre::* classes for which you are listed as "first-come" (as opposed to "co-maint").
    • Click "Change Permissions" in the menu
    • Under "2. You are primary maintainer:" select any one or all of the Padre::* namespaces that appear in the list view.
    • Click Select for "2.1 Pass primary maintainership status to somebody else (giving it up at the same time)"
    • Make sure all Padre::* namespaces are selected in the new listbox.
    • Enter "SZABGAB" in the text field.
    • Click "Pass Maintainership Status".
    • You will automatically become co-maintainer instead of primary maintainer of the classes in question.

Distribution of Padre

The primary distribution channel of Padre is CPAN. Hence for every release first we create a CPAN distribution of Padre. (See above).

Based on the CPAN package Gabor release Padre on Portable Strawberry.

Later, based on the CPAN package the downstream distributors create their .deb and .rpm etc.

Plans:

  • we should fix the stand-alone executable creation for Linux.
  • we should make sure we can create stand-alone executable for Windows as well.
  • The Padre on Portable Strawberry should contain several plug-ins.
  • We probably should also create a source package (that looks like a CPAN package) that includes many plug-ins in order to make it easier for the downstream packagers to add a bigger chunk of Padre. We might also let then user install those packages using pip directly from the perlide.org server.