summaryrefslogtreecommitdiff
authorGiulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-04-17 15:45:39 (UTC)
committer Giulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-04-17 15:45:39 (UTC)
commit48c9280c9a255f2a85ad5729830df884e64a9c5d (patch) (side-by-side diff)
tree14787438153cdc0b4b445c66f046bccf3dd99ee2
parent4ce8041b11afc7f02c678565e0e96e59a5a557b6 (diff)
downloadclipperz-48c9280c9a255f2a85ad5729830df884e64a9c5d.zip
clipperz-48c9280c9a255f2a85ad5729830df884e64a9c5d.tar.gz
clipperz-48c9280c9a255f2a85ad5729830df884e64a9c5d.tar.bz2
Updated build script to handle 'checksum' target
The build script can now be invoked, for example, with the following options: > ./scripts/build checksum --frontend beta gamma
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--backend/checksum/properties/checksum.properties.json4
-rwxr-xr-x[-rw-r--r--]scripts/builder/backendBuilder.py2
-rwxr-xr-xscripts/builder/backends/checksumBuilder.py50
-rwxr-xr-x[-rw-r--r--]scripts/builder/backends/devBuilder.py8
-rwxr-xr-xscripts/builder/main.py7
-rwxr-xr-x[-rw-r--r--]scripts/builder/repository.py0
6 files changed, 62 insertions, 9 deletions
diff --git a/backend/checksum/properties/checksum.properties.json b/backend/checksum/properties/checksum.properties.json
new file mode 100644
index 0000000..1c2dae5
--- a/dev/null
+++ b/backend/checksum/properties/checksum.properties.json
@@ -0,0 +1,4 @@
+{
+ "request.path": "json",
+ "should.pay.toll": "true"
+} \ No newline at end of file
diff --git a/scripts/builder/backendBuilder.py b/scripts/builder/backendBuilder.py
index 20b4bd0..b4ee990 100644..100755
--- a/scripts/builder/backendBuilder.py
+++ b/scripts/builder/backendBuilder.py
@@ -80,19 +80,21 @@ class BackendBuilder(object):
x = iter(value)
return ' '.join([reduce(add, tup) for tup in izip(x, x, x, x)])
def logChecksums (self, content, message):
md5Digest = self.formatMAC(hashlib.md5(content.encode('utf-8')).hexdigest())
shaDigest = self.formatMAC(hashlib.sha1(content.encode('utf-8')).hexdigest())
sha256Digest = self.formatMAC(hashlib.sha256(content.encode('utf-8')).hexdigest())
+ print "-----"
print message + ": " + md5Digest + " (md5)"
print message + ": " + shaDigest + " (sha1)"
print message + ": " + sha256Digest + " (sha256)"
+ print "====="
def shouldCompileCode (self):
return ('debug' in self.versions) or ('install' in self.versions)
def run (self):
print self.name() + " - RUN"
diff --git a/scripts/builder/backends/checksumBuilder.py b/scripts/builder/backends/checksumBuilder.py
new file mode 100755
index 0000000..5f44c8a
--- a/dev/null
+++ b/scripts/builder/backends/checksumBuilder.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+import os
+import shutil
+import subprocess
+import main
+
+from backendBuilder import BackendBuilder
+
+class ChecksumBuilder(BackendBuilder):
+
+ def name(self):
+ return "Checksum builder"
+
+
+ def relativePath(self):
+ return 'checksum'
+
+
+ def compileCode (self):
+ pass
+
+
+ def createPackage (self):
+ src = self.tempFolder()
+ dst = self.targetFolder()
+
+ shutil.copytree(src, dst)
+
+
+ def run (self):
+ print self.name() + " - RUN (checksum)"
+
+ for frontend in self.frontends:
+ if (frontend.module == frontend.submodule):
+ submoduleExtension = ''
+ else:
+ submoduleExtension = '.' + frontend.submodule
+
+ main.createFolder(os.path.join(self.frontEndTempFolder(), frontend.module))
+
+ index = self.configureIndexContent(frontend.assemble())
+ self.writeToFolder(self.frontEndTempFolder(), os.path.join(frontend.module, 'index' + submoduleExtension + '.html'), index)
+ self.logChecksums(index, "[" + self.name() + " - " + frontend.module + "] index" + submoduleExtension + ".html checksum")
+ print ""
+
+ self.createPackage()
+
+
diff --git a/scripts/builder/backends/devBuilder.py b/scripts/builder/backends/devBuilder.py
index 671765e..354e014 100644..100755
--- a/scripts/builder/backends/devBuilder.py
+++ b/scripts/builder/backends/devBuilder.py
@@ -13,24 +13,16 @@ class DevBuilder(BackendBuilder):
def name(self):
return "Dev builder"
def relativePath(self):
return 'dev'
-# def frontEndTempFolder (self):
-# return os.path.join(self.tempFolder(), 'src', 'main', 'webapp')
-
-
-# def targetFolder (self):
-# return self.projectTargetDir
-
-
def compileCode (self):
pass
def createPackage (self):
src = self.tempFolder()
dst = self.targetFolder()
diff --git a/scripts/builder/main.py b/scripts/builder/main.py
index b9fe04a..ecdbf6a 100755
--- a/scripts/builder/main.py
+++ b/scripts/builder/main.py
@@ -147,17 +147,17 @@ def main ():
parameters = list(itertools.islice(sys.argv, 1, None))
sys.path.append(os.path.join(scriptDir(), 'backends'))
sys.path.append(os.path.join(scriptDir(), 'frontends'))
currentRepository = repository.repositoryWithPath(projectBaseDir())
clean()
versions = list(itertools.takewhile(lambda x: not x.startswith('--'), parameters))
- settings['versions'] = versions; #['debug', 'install', 'development']
+ settings['versions'] = versions; #['debug', 'install', 'development', 'checksum']
parameters = deque(itertools.dropwhile(lambda x: not x.startswith('--'), parameters))
if len(parameters) > 0:
parameter = parameters.popleft()
if parameter == "--ALL":
settings['frontends'] = allFrontends()
settings['backends'] = allBackends()
else:
@@ -170,16 +170,21 @@ def main ():
settings['frontends'] = values
parameters = deque(itertools.dropwhile(lambda x: not x.startswith('--'), parameters))
if parameters:
parameter = parameters.popleft()
else:
parameter = None
+ if 'checksum' in settings['versions']:
+ if not 'backends' in settings:
+ settings['backends'] = []
+ settings['backends'].append('checksum')
+
if (not settings.has_key('versions')):
usage("missing 'versions'")
if (not settings.has_key('frontends')):
usage("missing 'frontends'")
if (not settings.has_key('backends')):
usage("missing 'backends'")
build(settings, currentRepository)
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py
index 2d4a12b..2d4a12b 100644..100755
--- a/scripts/builder/repository.py
+++ b/scripts/builder/repository.py