You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by bo...@apache.org on 2010/07/08 05:41:33 UTC

svn commit: r961567 - in /gump/live: ./ python/gump/actor/mvnrepoproxy/proxycontrol.py python/gump/core/build/mvn.py python/gump/core/update/bzr.py python/gump/core/update/darcs.py python/gump/core/update/hg.py

Author: bodewig
Date: Thu Jul  8 03:41:33 2010
New Revision: 961567

URL: http://svn.apache.org/viewvc?rev=961567&view=rev
Log:
configure maven proxy mirrors in a single place

Modified:
    gump/live/   (props changed)
    gump/live/python/gump/actor/mvnrepoproxy/proxycontrol.py
    gump/live/python/gump/core/build/mvn.py
    gump/live/python/gump/core/update/bzr.py   (props changed)
    gump/live/python/gump/core/update/darcs.py   (props changed)
    gump/live/python/gump/core/update/hg.py   (props changed)

Propchange: gump/live/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul  8 03:41:33 2010
@@ -1 +1 @@
-/gump/trunk:746160,746727,746892,747270,747272-747273,747656,748010,748018,748028,748661,748967,760784-761159,815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960295,960297,960300,960303
+/gump/trunk:746160,746727,746892,747270,747272-747273,747656,748010,748018,748028,748661,748967,760784-761159,815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960260,960295,960297,960300,960303,961244

Modified: gump/live/python/gump/actor/mvnrepoproxy/proxycontrol.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/actor/mvnrepoproxy/proxycontrol.py?rev=961567&r1=961566&r2=961567&view=diff
==============================================================================
--- gump/live/python/gump/actor/mvnrepoproxy/proxycontrol.py (original)
+++ gump/live/python/gump/actor/mvnrepoproxy/proxycontrol.py Thu Jul  8 03:41:33 2010
@@ -17,6 +17,7 @@
 
 import os
 import os.path
+import tempfile
 import time
 import urllib
 
@@ -25,6 +26,17 @@ from gump.core.model.output import OUTPU
 from gump.core.run.actor import AbstractRunActor, FinalizeRunEvent, \
     InitializeRunEvent
 
+# list of tuples listing all repositories we want to mirror
+#   each tuple consists of a name, the path prefix that identifies the
+#   repository and the real repository URL without that prefix
+#   (properly escaped to be used in a Java .properties file
+PROXY_CONFIG = [
+    ('central', '/maven2', 'http\://repo1.maven.org'),
+    ('apache.snapshots', '/repo/m2-snapshot-repository',
+     'http\://people.apache.org'),
+    ('maven2-repository.dev.java.net', '/maven/2', 'http\://download.java.net')
+    ]
+
 class MvnRepositoryProxyController(AbstractRunActor):
     """
        Starts/Stops the proxy, adds artifacts to it when a project has
@@ -69,14 +81,23 @@ class MvnRepositoryProxyController(Abstr
 
     def spawnProxy(self):
         log.info('Starting mvn repository proxy')
+ 
+        propsfile = tempfile.NamedTemporaryFile(mode = 'w+',
+                                                suffix = '.properties')
+        log.info('Writing ' + propsfile.name)
+        for (_name, prefix, url) in PROXY_CONFIG:
+            propsfile.write("%s=%s\n" % (prefix, url))
+        propsfile.flush()
+
         try:
             proxyJar = os.path.join(os.environ.get('MVN_PROXY_HOME'),
                                     'repoproxy.jar')
-            log.info('Running: %s -jar %s %s'
-                     % (self.java, proxyJar, self.workspace.mvnRepoProxyPort))
+            log.info('Running: %s -jar %s %s %s'
+                     % (self.java, proxyJar, self.workspace.mvnRepoProxyPort,
+                        propsfile.name))
             # TODO emulate spawnlp on non-Unix platforms
             os.spawnlp(os.P_NOWAIT, self.java, self.java, '-jar', proxyJar,
-                       self.workspace.mvnRepoProxyPort)
+                       self.workspace.mvnRepoProxyPort, propsfile.name)
             # Hang back for a bit while the proxy starts up
             for _pWait in range(10):
                 try:
@@ -89,6 +110,7 @@ class MvnRepositoryProxyController(Abstr
                     continue
         except:
             log.error('--- Failed to start proxy', exc_info=1)
+        propsfile.close()
 
     def saveLogAndStop(self):
         proxyLogFileName = 'proxyLog.html'

Modified: gump/live/python/gump/core/build/mvn.py
URL: http://svn.apache.org/viewvc/gump/live/python/gump/core/build/mvn.py?rev=961567&r1=961566&r2=961567&view=diff
==============================================================================
--- gump/live/python/gump/core/build/mvn.py (original)
+++ gump/live/python/gump/core/build/mvn.py Thu Jul  8 03:41:33 2010
@@ -19,6 +19,7 @@
 import os.path
 
 from gump import log
+from gump.actor.mvnrepoproxy.proxycontrol import PROXY_CONFIG
 from gump.core.model.workspace import CommandWorkItem, \
     REASON_BUILD_FAILED, REASON_BUILD_TIMEDOUT, REASON_PREBUILD_FAILED, \
     STATE_FAILED, STATE_SUCCESS,  WORK_TYPE_BUILD
@@ -40,7 +41,7 @@ def write_mirror_entry(props, prefix, mi
     <mirror>
       <id>gump-%s</id>
       <name>Gump proxying %s</name>
-      <url>http://localhost:%s/%s</url>
+      <url>http://localhost:%s%s</url>
       <mirrorOf>%s</mirrorOf>
     </mirror>""" % (mirror_of, mirror_of, port, prefix, mirror_of) )
 
@@ -251,14 +252,9 @@ class Maven2Builder(RunSpecific):
                        localRepositoryDir))
         if not self.run.getEnvironment().noMvnRepoProxy:
             props.write("<mirrors>")
-            write_mirror_entry(props, 'maven2', 'central', \
-                                   self.run.getWorkspace().mvnRepoProxyPort)
-            write_mirror_entry(props, 'repo/m2-snapshot-repository', \
-                                   'apache.snapshots', \
-                                   self.run.getWorkspace().mvnRepoProxyPort)
-            write_mirror_entry(props, 'maven/2', \
-                                   'maven2-repository.dev.java.net', \
-                                   self.run.getWorkspace().mvnRepoProxyPort)
+            for (name, prefix, _url) in PROXY_CONFIG:
+                write_mirror_entry(props, prefix, name, \
+                                       self.run.getWorkspace().mvnRepoProxyPort)
             props.write("</mirrors>")
 
         props.write("</settings>")

Propchange: gump/live/python/gump/core/update/bzr.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul  8 03:41:33 2010
@@ -1 +1 @@
-/gump/trunk/python/gump/core/update/bzr.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960295,960297,960300,960303
+/gump/trunk/python/gump/core/update/bzr.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960260,960295,960297,960300,960303,961244

Propchange: gump/live/python/gump/core/update/darcs.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul  8 03:41:33 2010
@@ -1 +1 @@
-/gump/trunk/python/gump/core/update/darcs.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960295,960297,960300,960303
+/gump/trunk/python/gump/core/update/darcs.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960260,960295,960297,960300,960303,961244

Propchange: gump/live/python/gump/core/update/hg.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul  8 03:41:33 2010
@@ -1 +1 @@
-/gump/trunk/python/gump/core/update/hg.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960295,960297,960300,960303
+/gump/trunk/python/gump/core/update/hg.py:815848,953630-954169,955387,955837,956771,957107,957408,958453,958915,959344,959847,960260,960295,960297,960300,960303,961244