MarkAHershberger has uploaded a new change for review.
https://gerrit.wikimedia.org/r/182997
Change subject: Specify extensions in the yaml file
......................................................................
Specify extensions in the yaml file
* Moved get_extensions_version to a method in MakeRelease
* Use MwVersion instead of strings
* Map major version number to a list of extensions in to include
Change-Id: Ic96c1f834d44b601f3bcbd22eeac50728cd27379
---
M make-release/make-release.py
M make-release/make-release.yaml
2 files changed, 149 insertions(+), 124 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release
refs/changes/97/182997/1
diff --git a/make-release/make-release.py b/make-release/make-release.py
index ca3bddd..82e2161 100755
--- a/make-release/make-release.py
+++ b/make-release/make-release.py
@@ -20,68 +20,6 @@
import yaml
-def get_extensions_for_version(version, extensions=None):
- """
- Get the list of extensions to bundle for the given
- MediaWiki core version
-
- :param version: A string like "1.21"
- :param extensions: Extensions that are already being included
- :type extensions: list
- :return: List of extensions to include
- """
- if extensions is None:
- extensions = []
-
- core_extensions = [
- 'ConfirmEdit',
- 'Gadgets',
- 'Nuke',
- 'ParserFunctions',
- 'PdfHandler',
- 'Renameuser',
- 'SpamBlacklist',
- 'Vector',
- 'WikiEditor',
- ]
- new_extensions = [
- 'Cite',
- 'ImageMap',
- 'Interwiki',
- 'TitleBlacklist',
- 'SpamBlacklist',
- 'Poem',
- 'InputBox',
- 'LocalisationUpdate',
- 'SyntaxHighlight_GeSHi',
- 'SimpleAntiSpam',
- ]
- old_core_extensions = [
- 'ConfirmEdit',
- 'Gadgets',
- 'Nuke',
- 'ParserFunctions',
- 'Renameuser',
- 'Vector',
- 'WikiEditor',
- ]
-
- # Export extensions for inclusion
- if version > '1.21':
- extensions += core_extensions + new_extensions
- elif version > '1.20':
- extensions += core_extensions
- elif version > '1.17':
- extensions += old_core_extensions
-
- if version > '1.22':
- extensions.remove('Vector')
- extensions.remove('SimpleAntiSpam')
-
- # Return unique elements (order not preserved)
- return list(set(extensions))
-
-
def get_tag_from_version(version):
"""
Get the tag to checkout from git
@@ -340,13 +278,25 @@
with open(self.options.conffile) as f:
self.config = yaml.load(f)
+ def get_extensions_for_version(self, version, extensions=None):
+ """
+ Get the list of extensions to bundle for the given
+ MediaWiki core version
+
+ :param version: A string like "1.21"
+ :param extensions: Extensions that are already being included
+ :type extensions: list
+ :return: List of extensions to include
+ """
+ return self.config.get('bundles', {}).get('mediawiki-' + version.major)
+
def main(self):
" return value should be usable as an exit code"
extensions = []
bundles = self.config.get('bundles', {})
- logging.info("Doing release for %s", self.version)
+ logging.info("Doing release for %s", self.version.raw)
if self.version.branch is None:
logging.debug("No branch, assuming '%s'. Override with --branch.",
options.branch)
@@ -372,7 +322,7 @@
# Given the previous version on the command line
self.makeRelease(
extensions=extensions,
- version=options.version,
+ version=self.version,
dir=self.version.major)
return 0
@@ -387,7 +337,7 @@
if noPrevious or options.no_previous:
self.makeRelease(
extensions=extensions,
- version=options.version,
+ version=self.version,
dir=self.version.major)
else:
if not self.ask("Was %s the previous release?" %
@@ -397,7 +347,7 @@
self.makeRelease(
extensions=extensions,
- version=options.version,
+ version=self.version,
dir=options.buildroot)
return 0
@@ -571,7 +521,7 @@
if not os.path.exists(dir):
os.mkdir(dir)
- package = 'mediawiki-' + version
+ package = 'mediawiki-' + version.raw
# Export the target
self.export(tag, package, buildDir)
@@ -581,7 +531,7 @@
self.patchExport(patch, package)
extExclude = []
- for ext in get_extensions_for_version(version, extensions):
+ for ext in self.get_extensions_for_version(version, extensions):
self.exportExtension(branch, ext, package)
extExclude.append("--exclude")
extExclude.append("extensions/" + ext)
@@ -590,7 +540,7 @@
outFiles = []
outFiles.append(
self.makeTarFile(
- package='mediawiki-core-' + version,
+ package='mediawiki-core-' + version.raw,
targetDir=package,
dir=buildDir,
argAdd=extExclude)
@@ -609,7 +559,7 @@
self.export(get_tag_from_version(prevVersion),
prevDir, buildDir)
- for ext in get_extensions_for_version(prevVersion, extensions):
+ for ext in self.get_extensions_for_version(MwVersion(prevVersion),
extensions):
self.exportExtension(branch, ext, prevDir)
self.makePatch(
@@ -617,7 +567,7 @@
outFiles.append(package + '.patch.gz')
logging.debug('%s.patch.gz written', package)
if os.path.exists(package + '/languages/messages'):
- i18nPatch = 'mediawiki-i18n-' + version + '.patch.gz'
+ i18nPatch = 'mediawiki-i18n-' + version.raw + '.patch.gz'
if (self.makePatch(
buildDir, i18nPatch, prevDir, package, 'i18n')):
outFiles.append(i18nPatch)
@@ -644,7 +594,7 @@
# Generate upload tarball
tar = self.options.tar_command
args = [tar, '-C', buildDir,
- '-cf', uploadDir + '/upload-' + version + '.tar']
+ '-cf', uploadDir + '/upload-' + version.raw + '.tar']
args.extend(uploadFiles)
proc = subprocess.Popen(args)
if proc.wait() != 0:
diff --git a/make-release/make-release.yaml b/make-release/make-release.yaml
index 0bceec3..fd48c77 100644
--- a/make-release/make-release.yaml
+++ b/make-release/make-release.yaml
@@ -1,56 +1,131 @@
# vim: set et ts=4 sw=4: -*- mode: yaml-mode; yaml-indent-offset: 4 -*-
bundles:
- smw:
- - AdminLinks
- - ApprovedRevs
- - Arrays
- - DataTransfer,
- - ExternalData
- - HeaderTabs
- - Maps
- - PageSchemas
- - ReplaceText
- - SemanticCompoundQueries
- - SemanticDrilldown,
- - SemanticForms,
- - SemanticFormsInputs,
- - SemanticImageInput
- - SemanticInternalObjects
- - SemanticMaps
- - SemanticMediaWiki
- - SemanticResultFormats
- - SemanticTasks
- - SemanticWatchlist
- - Validator
- - Widgets
+ mediawiki-1.18: &base
+ - ConfirmEdit
+ - Gadgets
+ - Nuke
+ - ParserFunctions
+ - Renameuser
+ - Vector
+ - WikiEditor
+ mediawiki-1.19: *base
+ mediawiki-1.20: *base
+ mediawiki-1.21:
+ - ConfirmEdit
+ - Gadgets
+ - Nuke
+ - ParserFunctions
+ - PdfHandler
+ - Renameuser
+ - SpamBlacklist
+ - Vector
+ - WikiEditor
+ mediawiki-1.22:
+ - Cite
+ - ConfirmEdit
+ - Gadgets
+ - ImageMap
+ - InputBox
+ - Interwiki
+ - LocalisationUpdate
+ - Nuke
+ - ParserFunctions
+ - PdfHandler
+ - Poem
+ - Renameuser
+ - SimpleAntiSpam
+ - SpamBlacklist
+ - SyntaxHighlight_GeSHi
+ - TitleBlacklist
+ - Vector
+ - WikiEditor
+ mediawiki-1.23: &mw123
+ - Cite
+ - ConfirmEdit
+ - Gadgets
+ - ImageMap
+ - InputBox
+ - Interwiki
+ - LocalisationUpdate
+ - Nuke
+ - ParserFunctions
+ - PdfHandler
+ - Poem
+ - Renameuser
+ - SpamBlacklist
+ - SyntaxHighlight_GeSHi
+ - TitleBlacklist
+ - WikiEditor
+ mediawiki-1.24: *mw123
+ mediawiki-1.25:
+ - Cite
+ - CiteThisPage
+ - ConfirmEdit
+ - Gadgets
+ - ImageMap
+ - InputBox
+ - Interwiki
+ - LocalisationUpdate
+ - Nuke
+ - ParserFunctions
+ - PdfHandler
+ - Poem
+ - Renameuser
+ - SpamBlacklist
+ - SyntaxHighlight_GeSHi
+ - TitleBlacklist
+ - WikiEditor
+ smw:
+ - AdminLinks
+ - ApprovedRevs
+ - Arrays
+ - DataTransfer,
+ - ExternalData
+ - HeaderTabs
+ - Maps
+ - PageSchemas
+ - ReplaceText
+ - SemanticCompoundQueries
+ - SemanticDrilldown,
+ - SemanticForms,
+ - SemanticFormsInputs,
+ - SemanticImageInput
+ - SemanticInternalObjects
+ - SemanticMaps
+ - SemanticMediaWiki
+ - SemanticResultFormats
+ - SemanticTasks
+ - SemanticWatchlist
+ - Validator
+ - Widgets
diff:
- ignore:
- - "*~"
- - ".js*"
- - ".git*"
- - testsuite
- - tests
- - "*.xcf"
- - "#*#"
- - ".#*"
- - .travis.yml
- - messages
- - "*.png"
- - "*.jpg"
- - "*.xcf"
- - "*.gif"
- - "*.svg"
- - "*.tiff"
- - "*.zip"
- - "*.xmp"
+ ignore:
+ - "*~"
+ - ".js*"
+ - ".git*"
+ - testsuite
+ - tests
+ - "*.xcf"
+ - "#*#"
+ - ".#*"
+ - .travis.yml
+ - messages
+ - "*.png"
+ - "*.jpg"
+ - "*.xcf"
+ - "*.gif"
+ - "*.svg"
+ - "*.tiff"
+ - "*.zip"
+ - "*.xmp"
tar:
- ignore:
- - "*~"
- - ".js*"
- - ".git*"
- - testsuite
- - tests
- - "*.xcf"
- - "#*#"
- - ".#*"
- - .travis.yml
+ ignore:
+ - "*~"
+ - ".js*"
+ - ".git*"
+ - testsuite
+ - tests
+ - "*.xcf"
+ - "#*#"
+ - ".#*"
+ - .travis.yml
--
To view, visit https://gerrit.wikimedia.org/r/182997
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic96c1f834d44b601f3bcbd22eeac50728cd27379
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: MarkAHershberger <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits