Frameworks/Tools/releaseme: Difference between revisions

From KDE Community Wiki
(Created page with "Things to add to releaseme: *No configuration needed (for example we could point to a branch or a tag) *Make Ktp people happy")
 
(→‎feature list: project.kde.org > quickgit)
 
(2 intermediate revisions by 2 users not shown)
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
* 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 =
* http://projects.kde.org/kde_projects.xml

Latest revision as of 06:41, 18 May 2016

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