comparison 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
comparison
equal deleted inserted replaced
510:1f04bd88fca3 511:e5b66539f893
12 import time 12 import time
13 import logging 13 import logging
14 14
15 import treepkg.packager 15 import treepkg.packager
16 import treepkg.subversion as subversion 16 import treepkg.subversion as subversion
17 import treepkg.git as git
17 18
18 19
19 class SourcePackager(treepkg.packager.SourcePackager): 20 class SourcePackager(treepkg.packager.SourcePackager):
20 21
21 def __init__(self, *args, **kw): 22 def __init__(self, *args, **kw):
57 revision_packager_cls = RevisionPackager 58 revision_packager_cls = RevisionPackager
58 59
59 extra_config_desc = [("tags_url", str, ""), 60 extra_config_desc = [("tags_url", str, ""),
60 ("tags_pattern", str, ""), 61 ("tags_pattern", str, ""),
61 ("tags_subdir", str, ""), 62 ("tags_subdir", str, ""),
62 ("tags_rules_subdir", str, "")] 63 ("tags_scm_type", str, scm_type),
64 ("tags_rules_url", str, None),
65 ("tags_rules_pattern", str, None),
66 ("tags_rules_subdir", str, ""),
67 ("tags_rules_scm_type", str, rules_scm_type)]
63 68
64 def __init__(self, *args, **kw): 69 def __init__(self, *args, **kw):
65 tags_url = kw.pop("tags_url") 70 tags_url = kw.pop("tags_url")
66 tags_pattern = kw.pop("tags_pattern") 71 tags_pattern = kw.pop("tags_pattern")
67 tags_subdir = kw.pop("tags_subdir") 72 tags_subdir = kw.pop("tags_subdir")
73 tags_rules_url = kw.pop("tags_rules_url")
74 tags_rules_pattern = kw.pop("tags_rules_pattern", tags_pattern)
68 tags_rules_subdir = kw.pop("tags_rules_subdir") 75 tags_rules_subdir = kw.pop("tags_rules_subdir")
69 super(PackageTrack, self).__init__(*args, **kw) 76 super(PackageTrack, self).__init__(*args, **kw)
70 self.tag_detector = subversion.TagDetector(tags_url, tags_pattern, 77 if tags_scm_type == "git":
78 self.tag_detector = git.TagDetector(tags_url, tags_pattern)
79 elif tags_scm_type == "svn":
80 self.tag_detector = subversion.TagDetector(tags_url, tags_pattern,
71 tags_subdir) 81 tags_subdir)
72 self.tag_rules_detector = subversion.TagDetector(tags_url, tags_pattern, 82 else:
73 tags_rules_subdir) 83 raise packager.PackageError("Unknown scm type \"%s\" for tag" \
84 " sources set" % tags_scm_type)
85 if tags_rules_scm_type == "git":
86 self.tag_rules_detector = git.TagDetector(tags_rules_url,
87 tags_rules_pattern)
88 elif tags_rules_scm_type == "svn":
89 self.tag_rules_detector = subversion.TagDetector(tags_rules_url,
90 tags_rules_pattern, tags_rules_subdir)
91 else:
92 raise packager.PackageError("Unknown scm type \"%s\" for tag" \
93 " rules set" % tags_rules_scm_type)
74 self.found_tag_rules = False 94 self.found_tag_rules = False
75 if tags_rules_subdir: 95 if tags_rules_url:
76 self.found_tag_rules = True 96 self.found_tag_rules = True
77 97
78 def packager_for_new_revision(self): 98 def packager_for_new_revision(self):
79 logging.info("Checking tags") 99 logging.info("Checking tags")
80 self.tag_url = None 100 self.tag_url = None
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)