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):
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)