Mercurial > treepkg
diff recipes/kde/enterprise/generic.py @ 511:e5b66539f893
new variable to set choose the scm for sources and debian dirs
svn_url and git_url are now deprecated in favour of url and scm_type
added a tag detector for git in kde enterprise packager
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Tue, 09 Nov 2010 17:20:47 +0000 |
parents | 31b64ebe4b42 |
children | 0c2cc67a29aa |
line wrap: on
line diff
--- a/recipes/kde/enterprise/generic.py Tue Nov 09 15:26:20 2010 +0000 +++ b/recipes/kde/enterprise/generic.py Tue Nov 09 17:20:47 2010 +0000 @@ -14,6 +14,7 @@ import treepkg.packager import treepkg.subversion as subversion +import treepkg.git as git class SourcePackager(treepkg.packager.SourcePackager): @@ -59,20 +60,39 @@ extra_config_desc = [("tags_url", str, ""), ("tags_pattern", str, ""), ("tags_subdir", str, ""), - ("tags_rules_subdir", str, "")] + ("tags_scm_type", str, scm_type), + ("tags_rules_url", str, None), + ("tags_rules_pattern", str, None), + ("tags_rules_subdir", str, ""), + ("tags_rules_scm_type", str, rules_scm_type)] def __init__(self, *args, **kw): tags_url = kw.pop("tags_url") tags_pattern = kw.pop("tags_pattern") tags_subdir = kw.pop("tags_subdir") + tags_rules_url = kw.pop("tags_rules_url") + tags_rules_pattern = kw.pop("tags_rules_pattern", tags_pattern) tags_rules_subdir = kw.pop("tags_rules_subdir") super(PackageTrack, self).__init__(*args, **kw) - self.tag_detector = subversion.TagDetector(tags_url, tags_pattern, + if tags_scm_type == "git": + self.tag_detector = git.TagDetector(tags_url, tags_pattern) + elif tags_scm_type == "svn": + self.tag_detector = subversion.TagDetector(tags_url, tags_pattern, tags_subdir) - self.tag_rules_detector = subversion.TagDetector(tags_url, tags_pattern, - tags_rules_subdir) + else: + raise packager.PackageError("Unknown scm type \"%s\" for tag" \ + " sources set" % tags_scm_type) + if tags_rules_scm_type == "git": + self.tag_rules_detector = git.TagDetector(tags_rules_url, + tags_rules_pattern) + elif tags_rules_scm_type == "svn": + self.tag_rules_detector = subversion.TagDetector(tags_rules_url, + tags_rules_pattern, tags_rules_subdir) + else: + raise packager.PackageError("Unknown scm type \"%s\" for tag" \ + " rules set" % tags_rules_scm_type) self.found_tag_rules = False - if tags_rules_subdir: + if tags_rules_url: self.found_tag_rules = True def packager_for_new_revision(self):