summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-03-24 10:49:57 +0100
committerGitHub <noreply@github.com>2017-03-24 10:49:57 +0100
commitf94bc6f8bb8d0b86441362c21d49304f31a02c0c (patch)
tree443d4ea3091ef63c827bd243a5e720728b238a68 /build
parentdf4d1f7b78d54448061c6bc27c1aff4275c9cdf3 (diff)
parent03d688d6acdaecdb59e04a8acef6d63edc174e37 (diff)
downloadnextcloud-server-f94bc6f8bb8d0b86441362c21d49304f31a02c0c.tar.gz
nextcloud-server-f94bc6f8bb8d0b86441362c21d49304f31a02c0c.zip
Merge pull request #4013 from nextcloud/bundle_vendor_js
Bundle vendor js
Diffstat (limited to 'build')
-rw-r--r--build/mergejs.php35
-rwxr-xr-xbuild/mergejschecker.sh25
2 files changed, 60 insertions, 0 deletions
diff --git a/build/mergejs.php b/build/mergejs.php
new file mode 100644
index 00000000000..5ffca9d496f
--- /dev/null
+++ b/build/mergejs.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * @copyright 2017, Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+/*
+ * Stupid simple code to merge all the default vendor javascript into 1
+ */
+$data = json_decode(file_get_contents(__DIR__.'/../core/js/core.json'), true);
+$vendors = $data['vendor'];
+
+$vendorjs = fopen(__DIR__.'/../core/vendor/core.js', 'w');
+foreach($vendors as $vendor) {
+ fwrite($vendorjs, file_get_contents(__DIR__.'/../core/vendor/'.$vendor));
+}
+fclose($vendorjs);
diff --git a/build/mergejschecker.sh b/build/mergejschecker.sh
new file mode 100755
index 00000000000..aee2629956b
--- /dev/null
+++ b/build/mergejschecker.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+#Regenerate the vendors core.js
+echo
+echo "Regenerating core/vendor/core.js"
+
+d=`dirname $(readlink -f $0)`
+
+php $d/mergejs.php
+
+files=`git diff --name-only`
+
+for file in $files
+do
+ if [[ $file == core/vendor/core.js ]]
+ then
+ echo "The merged vendor file is not up to date"
+ echo "Please run: php build/mergejs.php"
+ echo "And commit the result"
+ break
+ fi
+done
+
+echo "Vendor js merged as expected. Carry on"
+exit 0