[Commits] r589 - website

commits at geoext.org commits at geoext.org
Sat May 2 00:53:46 CEST 2009


Author: whit
Date: 2009-05-02 00:53:46 +0200 (Sat, 02 May 2009)
New Revision: 589

Modified:
   website/pavement.py
   website/setup_website
Log:

autobuild at end of setup_websites


Modified: website/pavement.py
===================================================================
--- website/pavement.py	2009-05-01 22:48:51 UTC (rev 588)
+++ website/pavement.py	2009-05-01 22:53:46 UTC (rev 589)
@@ -11,12 +11,13 @@
 from paver.doctools import html
 from paver.easy import path, sh, info
 from paver.easy import task, options, Bunch
+from paver.easy import call_task
 from paver.setuputils import setup
 from paver.tasks import help, needs
 from setuptools import find_packages
 import os
+import re
 
-
 version = '0.0'
 
 setup(name='GeoExtSite',
@@ -39,7 +40,7 @@
                         "PasteDeploy",
                         "Paste",
                         "PasteScript",
-                        "jstools==0.1.3a",
+                        "JSTools>=0.1.2",
                         "repoze.trac"
                         ],
       entry_points="""
@@ -51,7 +52,7 @@
 options(
     virtualenv=Bunch(script_name="setup_website",
                      packages_to_install=['pastescript'],
-                     paver_command_line="build_all"
+                     paver_command_line="after_bootstrap"
                      ),
     sphinx=Bunch(docroot="src/trunk/docsrc",
                  builddir=path(curdir) / "built")
@@ -66,11 +67,25 @@
             docsrc_url=cp.get("urls", "docsrc"))
         
 @task
-#@needs(['setuptool.command.develop', "parse_docs", "build_docs"])
+ at needs(['setuptool.command.develop', "build_docs"])
 def build_all():
-     info("Not yet implemented")
+    info("Not yet implemented")
 
+
 @task
+ at needs(['setuptool.command.develop'])
+def after_bootstrap():
+    """
+    Setup website
+    """
+    load_easypth()
+    call_task("pavement.auto")
+    call_task("pavement.parse_docs")
+    call_task("pavement.build_docs")
+    info("Now run: paster serve etc/dev.ini port=8080")
+
+
+ at task
 def checkup_latest_release():
     latest = options.config.get("releases", "latest")
     svn.checkup("%s/tag/%s" %(options.core_url, latest) , "src/latest_release")
@@ -97,11 +112,33 @@
     svn.checkup("%s/trunk/geoext" %options.core_url, "src/trunk/geoext")
     svn.checkup("%s" %options.docsrc_url, "src/trunk/docsrc")
 
+def find_path(file_list, regex):
+    paths = [p for p in file_list if regex.findall(p)]
+    if len(paths):
+        return path(paths[0])
 
+
+def load_easypth():
+    # could be smarter
+    import sys
+    easy_regex = re.compile(r'/easy-install.pth')
+    st_regex = re.compile(r'/setuptools-.*\.egg')
+    st_path = find_path(sys.path, st_regex)
+    fn = path(st_path).dirname().listdir()
+    epath = find_path(fn, easy_regex)
+    paths = epath.open().readlines()[1:-1]
+    curdir = path(__file__).dirname().abspath()
+    epath.dirname().chdir()
+    for p in paths:
+        sys.path.append(str(path(p.strip()).abspath()))
+    curdir.chdir()
+
+    
 @task
 def parse_docs():
     from jstools.jst import DocParser
     if not path('src/trunk').exists(): # add flag?
+
         svn.checkup("%s/trunk/geoext" %options.core_url, "src/trunk/geoext")
         # @@ will have to change to handle "versions"
         svn.checkup(options.docsrc_url, "src/trunk/docsrc")
@@ -110,7 +147,7 @@
 
 
 @task
- at needs(['parse_docs',
+ at needs(['pavement.parse_docs',
         'paver.doctools.html'])
 def build_docs():
     # will need to get smarter with new releases

Modified: website/setup_website
===================================================================
--- website/setup_website	2009-05-01 22:48:51 UTC (rev 588)
+++ website/setup_website	2009-05-01 22:53:46 UTC (rev 589)
@@ -956,7 +956,8 @@
     else:
         bin_dir = join(home_dir, 'bin')
     subprocess.call([join(bin_dir, 'easy_install'), 'paver==1.0'])
-    subprocess.call([join(bin_dir, 'paver'),'build_all'])
+    subprocess.call([join(bin_dir, 'easy_install'), 'pastescript'])
+    subprocess.call([join(bin_dir, 'paver'),'after_bootstrap'])
 
 ##file site.py
 SITE_PY = """



More information about the Commits mailing list