summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--build.ant17
-rw-r--r--res/etc/rhizi-server.conf.example5
-rw-r--r--res/templates/index.html1
-rw-r--r--src/client/app.js3
-rw-r--r--src/server/rz_api.py3
-rw-r--r--src/server/rz_server.py3
7 files changed, 32 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 9d8c2305..667dd003 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@ res/etc/htpasswd
res/etc/htpasswd-init-file
rhizi-server.log
res/etc/rhizi-server.conf
+src/client/main-built.js
+src/client/main-built.js.map
diff --git a/build.ant b/build.ant
index 2c2b9595..8b4a522a 100644
--- a/build.ant
+++ b/build.ant
@@ -3,7 +3,7 @@
Rhizi build targets
-->
-<project name="rhizi-server" default="pkg-deb">
+<project name="rhizi-server" default="pkg-deb" xmlns:if="ant:if">
<macrodef name="rsync">
<attribute name="src" />
@@ -22,12 +22,23 @@
</sequential>
</macrodef>
+ <macrodef name="client-optimize">
+ <attribute name="root" />
+ <attribute name="build" />
+ <sequential>
+ <exec dir="@{root}" executable="/usr/bin/r.js" failonerror="true">
+ <arg line="-o @{build}" />
+ </exec>
+ </sequential>
+ </macrodef>
+
<property name="pkg_name" value="rhizi-server" />
<property name="pkg_version" value="0.1.0" />
<property name="buildDir" value="build/${pkg_name}-${pkg_version}" />
<property name="targetDeploymentDir" value="deploy-local" />
<property name="remoteDeployServer" value="rhizi.net" />
<property name="targetDomain" value="rhizi.net" />
+ <property name="do-client-optimize" value="false" />
<tstamp>
<format property="versionQualifier" pattern="yyyyMMddHHmm" />
@@ -69,6 +80,8 @@
<copy file="res/etc/rhizi-server.conf.example"
tofile="res/etc/rhizi-server.conf" />
+ <client-optimize if:true="${do-client-optimize}" root="src/client/" build="build.js" />
+
<parallel>
<rsync src="${src_client}/" dst="${targetDeploymentDir}/static" />
<rsync src="res/client/" dst="${targetDeploymentDir}/static" />
@@ -93,6 +106,8 @@
<property name="filter_list_str"
value="-f '- __pycache__/' -f '- *.pyc'" />
+ <client-optimize if:true="${do-client-optimize}" root="src/client/" build="build.js" />
+
<!-- -l: traverse bin/ -> ../src-py link -->
<rsync src="${targetDeploymentDir}/"
extraopts="-lL --delete ${filter_list_str}"
diff --git a/res/etc/rhizi-server.conf.example b/res/etc/rhizi-server.conf.example
index d1281c58..bb535348 100644
--- a/res/etc/rhizi-server.conf.example
+++ b/res/etc/rhizi-server.conf.example
@@ -49,6 +49,11 @@ access_control = False
user_db_path = ./user_db.db
# -----------------------------------------------------------------------------
+# Client settings
+#
+optimized_main = False
+
+# -----------------------------------------------------------------------------
# Other
#
DEBUG = True
diff --git a/res/templates/index.html b/res/templates/index.html
index 72415881..28cbaf51 100644
--- a/res/templates/index.html
+++ b/res/templates/index.html
@@ -11,6 +11,7 @@ var rz_config = { // set as a global variable
'backend_enabled': true,
'backend__maintain_ws_connection': true,
'feedback_url': '/feedback',
+ 'optimized_main': {{ rz_config__optimized_main }},
};
</script>
<script data-main='/static/app.js' src="/static/lib/require.js"></script>
diff --git a/src/client/app.js b/src/client/app.js
index 3c5d4328..a3e294ac 100644
--- a/src/client/app.js
+++ b/src/client/app.js
@@ -19,6 +19,9 @@
}
}
+ if (rz_config.optimized_main) {
+ config.paths.main = 'main-built';
+ }
config.urlArgs = (typeof local_config != 'undefined') && local_config.urlArgs;
if (window.is_node) {
diff --git a/src/server/rz_api.py b/src/server/rz_api.py
index 738174ec..e53f19cd 100644
--- a/src/server/rz_api.py
+++ b/src/server/rz_api.py
@@ -154,4 +154,5 @@ def index():
return render_template('index.html',
rz_username=rz_username,
rz_config__hostname=hostname,
- rz_config__port=port)
+ rz_config__port=port,
+ rz_config__optimized_main='true' if current_app.rz_config.optimized_main else 'false')
diff --git a/src/server/rz_server.py b/src/server/rz_server.py
index 20f0b30f..6868317f 100644
--- a/src/server/rz_server.py
+++ b/src/server/rz_server.py
@@ -57,6 +57,9 @@ class Config(object):
cfg['static_url_path'] = '/static'
cfg['user_db_path'] = os.path.join(cfg['config_dir'], 'user_db.db')
+ # client configuration
+ cfg['optimized_main'] = False
+
# Mail settings
cfg['mail_hostname'] = 'localhost'
cfg['mail_port'] = 25