Frameworks/Tools/releaseme
< Frameworks | Tools
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