Mercurial > treepkg
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 |