[Checkins] SVN: zc.recipe.macro/branches/infrae-force-recipe/ - Add an option force-recipe,

Sylvain Viollon sylvain at infrae.com
Mon Aug 11 06:53:40 EDT 2008


Log message for revision 89644:
  
  - Add an option force-recipe,
  
  - Update CHANGES.txt and QUICKSTART.txt,
  
  - Clear a rest bug when running buildout.
  
  

Changed:
  U   zc.recipe.macro/branches/infrae-force-recipe/CHANGES.txt
  U   zc.recipe.macro/branches/infrae-force-recipe/setup.py
  U   zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/QUICKSTART.txt
  U   zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/recipe.py

-=-
Modified: zc.recipe.macro/branches/infrae-force-recipe/CHANGES.txt
===================================================================
--- zc.recipe.macro/branches/infrae-force-recipe/CHANGES.txt	2008-08-11 10:52:41 UTC (rev 89643)
+++ zc.recipe.macro/branches/infrae-force-recipe/CHANGES.txt	2008-08-11 10:53:40 UTC (rev 89644)
@@ -1,6 +1,15 @@
 CHANGES
 =======
 
+1.2.5 (unreleased)
+------------------
+
+- Add a force-recipe, which say that even if the macro define a recipe to
+  use, to use the one defined by result-recipe.
+
+- Correct a rest error, that prevent the package of being installed with
+  docutils 0.4.
+
 1.2.4 (2008-07-18)
 ------------------
 

Modified: zc.recipe.macro/branches/infrae-force-recipe/setup.py
===================================================================
--- zc.recipe.macro/branches/infrae-force-recipe/setup.py	2008-08-11 10:52:41 UTC (rev 89643)
+++ zc.recipe.macro/branches/infrae-force-recipe/setup.py	2008-08-11 10:53:40 UTC (rev 89644)
@@ -86,7 +86,6 @@
     description="Macro-recipe for buildout.",
     long_description=text(
         'src/zc/recipe/macro/QUICKSTART.txt',
-        "=======\nChanges\n=======\n\n",
         'CHANGES.txt',
         out=True),
     keywords="development build macro",

Modified: zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/QUICKSTART.txt
===================================================================
--- zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/QUICKSTART.txt	2008-08-11 10:52:41 UTC (rev 89643)
+++ zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/QUICKSTART.txt	2008-08-11 10:53:40 UTC (rev 89644)
@@ -67,6 +67,10 @@
     question = Why do I rock so hard?
     rocking-style = so hard
 
+result-recipe is going to provide a recipe *only* if the macro doesn't define
+one already. If you want to set the recipe in the result, you have to provide the
+option force-recipe = true as well.
+
 Targets
 -------
 

Modified: zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/recipe.py
===================================================================
--- zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/recipe.py	2008-08-11 10:52:41 UTC (rev 89643)
+++ zc.recipe.macro/branches/infrae-force-recipe/src/zc/recipe/macro/recipe.py	2008-08-11 10:53:40 UTC (rev 89644)
@@ -18,7 +18,7 @@
 from zc.buildout.buildout import Options
 
 
-def evaluate_macro(buildout, name, macro, input, recipe):
+def evaluate_macro(buildout, name, macro, input, recipe, force_recipe):
     def replace_match(match):
         key = match.groups()[0]
         if key in buildout[input]:
@@ -35,7 +35,10 @@
             new_macro[key] = c_re.sub(
                 replace_match, value.replace('$${:__name__}', name))
     if recipe:
-        new_macro['recipe'] = new_macro.get('recipe', recipe)
+        if force_recipe:
+            new_macro['recipe'] = recipe
+        else:
+            new_macro['recipe'] = new_macro.get('recipe', recipe)
     return new_macro
 
 def parse_target(invoker, target):
@@ -52,6 +55,7 @@
 def Macro(buildout, name, options):
     del options['recipe']
     recipe = options.pop('result-recipe', '')
+    force_recipe = options.pop('force-recipe', '')
     macro = options.pop('macro').strip()
     targets = options.pop('targets', name).strip().split()
     macro_summation = {}
@@ -63,7 +67,7 @@
                 buildout,
                 output,
                 evaluate_macro(
-                    buildout, output, macro_summation, input, recipe))
+                    buildout, output, macro_summation, input, recipe, force_recipe))
         if output == name:
             # If we're targetting the invoker
             options._raw.update(opt._raw)



More information about the Checkins mailing list