Frameworks/Tools/releaseme

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 quickgit.kde.org is preferred
    • l10n-branch (trunk/stable) is automatically mapped from quickgit.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