Frameworks/Tools/releaseme: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 1: Line 1:
Things to add to releaseme:
= requirements =
*No configuration needed (for example we could point to a branch or a tag)
* Can reliably create 100% accurate release tarballs
*Make Ktp people happy
* Fast at redoing tarballs
*Changelog auto generated
* Semi-fast at l10n and documentation retrieval
* Can tag
* Can support meta-constructs such as KTP (consisting of arbitrary sub-recipes)
* Configuration files for projects (recipes) containing information like the svn protocol to use, the name/module/component, random settings...
* (Supports injection of arbitrary code to manipulate the tarball) <- questionable need (used to be version fiddling in amarok2.rb)
 
= feature list =
* Tarball creation
* Automatic retrieval of l10n into the tar source tree
* Automatic retrieval of documentation and its l10n into the tar source tree
* Instead of operating on branches, operation on origins (trunk/stable) as per projects.kde.org is preferred
** l10n-branch (trunk/stable) is automatically mapped from projects.kde.org
* ChangeLog generation from commit keywords BUG/FEATURE/... (secondary util)
* Tag generation (secondary util)
 
== notes ==
* Changelog generation must be detatched from tarball creation because both must be re-doable in the fastest possible manner
* Tagging must be detatched from tarball creation because tarballs are easy to redo, tags not so much.
* Tagging can result in a tar in which case the secondary util will simply exec the primary one once tagged
 
= proposed invocation =
* tarme.rb foo --origin stable --version 1.0
* logme.rb foo --origin stable --version 1.0
* tagme.rb foo --origin stable --version 1.0
** tagme.rb foo --origin stable --version 1.0 --tar
 
== meta projects ==
* tarme.rb ktp --origin stable --version 1.0
 
== manual - without recipe ==
* tarme.rb --name bar --module playground --component multimedia --branch master --l10n-branch trunk --svn-protocol ssh --version 1.0
 
= data =
* http://projects.kde.org/kde_projects.xml

Revision as of 10:37, 3 January 2014

requirements

  • Can reliably create 100% accurate release tarballs
  • Fast at redoing tarballs
  • Semi-fast at l10n and documentation retrieval
  • Can tag
  • Can support meta-constructs such as KTP (consisting of arbitrary sub-recipes)
  • Configuration files for projects (recipes) containing information like the svn protocol to use, the name/module/component, random settings...
  • (Supports injection of arbitrary code to manipulate the tarball) <- questionable need (used to be version fiddling in amarok2.rb)

feature list

  • Tarball creation
  • Automatic retrieval of l10n into the tar source tree
  • Automatic retrieval of documentation and its l10n into the tar source tree
  • Instead of operating on branches, operation on origins (trunk/stable) as per projects.kde.org is preferred
    • l10n-branch (trunk/stable) is automatically mapped from projects.kde.org
  • ChangeLog generation from commit keywords BUG/FEATURE/... (secondary util)
  • Tag generation (secondary util)

notes

  • Changelog generation must be detatched from tarball creation because both must be re-doable in the fastest possible manner
  • Tagging must be detatched from tarball creation because tarballs are easy to redo, tags not so much.
  • Tagging can result in a tar in which case the secondary util will simply exec the primary one once tagged

proposed invocation

  • tarme.rb foo --origin stable --version 1.0
  • logme.rb foo --origin stable --version 1.0
  • tagme.rb foo --origin stable --version 1.0
    • tagme.rb foo --origin stable --version 1.0 --tar

meta projects

  • tarme.rb ktp --origin stable --version 1.0

manual - without recipe

  • tarme.rb --name bar --module playground --component multimedia --branch master --l10n-branch trunk --svn-protocol ssh --version 1.0

data