Merge pull request #2558 from vector-im/dbkr/build_vector_dir
Build all of the vector dir in the build process
6
.gitignore
vendored
|
@ -6,11 +6,7 @@
|
||||||
/lib
|
/lib
|
||||||
/node_modules
|
/node_modules
|
||||||
/packages/
|
/packages/
|
||||||
/vector/bundle.*
|
/webapp
|
||||||
/vector/emojione/
|
|
||||||
/vector/config.json
|
|
||||||
/vector/index.html
|
|
||||||
/vector/olm.*
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
electron/dist
|
electron/dist
|
||||||
|
|
|
@ -160,7 +160,7 @@ electron.app.on('ready', () => {
|
||||||
icon: `${__dirname}/../img/riot.ico`,
|
icon: `${__dirname}/../img/riot.ico`,
|
||||||
width: 1024, height: 768,
|
width: 1024, height: 768,
|
||||||
});
|
});
|
||||||
mainWindow.loadURL(`file://${__dirname}/../../vector/index.html`);
|
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
|
||||||
electron.Menu.setApplicationMenu(VectorMenu);
|
electron.Menu.setApplicationMenu(VectorMenu);
|
||||||
|
|
||||||
mainWindow.on('closed', () => {
|
mainWindow.on('closed', () => {
|
||||||
|
|
18
package.json
|
@ -27,23 +27,27 @@
|
||||||
"matrix-react-parent": "matrix-react-sdk",
|
"matrix-react-parent": "matrix-react-sdk",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"reskindex": "reskindex -h src/header",
|
"reskindex": "reskindex -h src/header",
|
||||||
"build:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/",
|
"build:res": "cpx \"{src/skins/vector/fonts,src/skins/vector/img}/**\" webapp/ && cpx \"{res/media,res/vector-icons}/**\" webapp/",
|
||||||
|
"build:config": "cpx config.json webapp/",
|
||||||
|
"build:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/",
|
||||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||||
"build:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css --no-watch",
|
"build:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css --no-watch",
|
||||||
"build:compile": "babel --source-maps -d lib src",
|
"build:compile": "babel --source-maps -d lib src",
|
||||||
"build:bundle": "NODE_ENV=production webpack -p --progress",
|
"build:bundle": "NODE_ENV=production webpack -p --progress",
|
||||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
||||||
"build:electron": "build -lwm",
|
"build:electron": "build -lwm",
|
||||||
"build": "node scripts/babelcheck.js && npm run build:emojione && npm run build:css && npm run build:bundle",
|
"build": "node scripts/babelcheck.js && npm run build:res && npm run build:config && npm run build:emojione && npm run build:css && npm run build:bundle",
|
||||||
"build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev",
|
"build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev",
|
||||||
"dist": "scripts/package.sh",
|
"dist": "scripts/package.sh",
|
||||||
"start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/ -w",
|
"start:res": "parallelshell \"cpx -w \\\"{src/skins/vector/fonts,src/skins/vector/img}/**\\\" webapp/\" \"cpx -w \\\"{res/media,res/vector-icons}/**\\\" webapp/\"",
|
||||||
|
"start:config": "cpx -w config.json webapp/",
|
||||||
|
"start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/ -w",
|
||||||
"start:js": "webpack-dev-server -w --progress",
|
"start:js": "webpack-dev-server -w --progress",
|
||||||
"start:js:prod": "NODE_ENV=production webpack-dev-server -w --progress",
|
"start:js:prod": "NODE_ENV=production webpack-dev-server -w --progress",
|
||||||
"start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
|
"start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
|
||||||
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:js\" \"npm run start:skins:css\"",
|
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:res\" \"npm run start:config\" \"npm run start:js\" \"npm run start:skins:css\"",
|
||||||
"start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\"",
|
"start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\"",
|
||||||
"clean": "rimraf build lib vector/olm.* vector/bundle.* vector/emojione vector/index.html",
|
"clean": "rimraf build lib webapp",
|
||||||
"prepublish": "npm run build:compile",
|
"prepublish": "npm run build:compile",
|
||||||
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
||||||
"test:multi": "karma start"
|
"test:multi": "karma start"
|
||||||
|
@ -128,12 +132,12 @@
|
||||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||||
"asar": false,
|
"asar": false,
|
||||||
"dereference": true,
|
"dereference": true,
|
||||||
"//files": "We bundle everything, so we only need to include vector/",
|
"//files": "We bundle everything, so we only need to include webapp/",
|
||||||
"files": [
|
"files": [
|
||||||
"!**/*",
|
"!**/*",
|
||||||
"electron/src/**",
|
"electron/src/**",
|
||||||
"electron/img/**",
|
"electron/img/**",
|
||||||
"vector/**",
|
"webapp/**",
|
||||||
"package.json"
|
"package.json"
|
||||||
],
|
],
|
||||||
"squirrelWindows": {
|
"squirrelWindows": {
|
||||||
|
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 8 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
|
@ -25,11 +25,7 @@ cp -r olm/package node_modules/olm
|
||||||
# run the mocha tests
|
# run the mocha tests
|
||||||
npm run test
|
npm run test
|
||||||
|
|
||||||
# build our artifacts; dumps them in ./vector
|
rm dist/vector-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
|
||||||
npm run build:dev
|
|
||||||
|
|
||||||
# gzip up ./vector
|
|
||||||
rm vector-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
|
|
||||||
|
|
||||||
# node_modules deps from 'npm install' don't have a .git dir so can't
|
# node_modules deps from 'npm install' don't have a .git dir so can't
|
||||||
# rev-parse; but they do set the commit in package.json under 'gitHead' which
|
# rev-parse; but they do set the commit in package.json under 'gitHead' which
|
||||||
|
@ -39,4 +35,4 @@ JSSDK_SHA=$(grep 'gitHead' node_modules/matrix-js-sdk/package.json | cut -d \" -
|
||||||
|
|
||||||
VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop
|
VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop
|
||||||
|
|
||||||
tar -zcvhf vector-$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA.tar.gz vector #g[z]ip, [c]reate archive, [v]erbose, [f]ilename, [h]ard-dereference (do not archive symlinks)
|
DIST_VERSION=vector-$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh -d
|
|
@ -2,15 +2,21 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
dev=""
|
||||||
|
if [ "$1" == '-d' ]; then
|
||||||
|
dev=":dev"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$DIST_VERSION" ]; then
|
if [ -n "$DIST_VERSION" ]; then
|
||||||
version=$DIST_VERSION
|
version=$DIST_VERSION
|
||||||
else
|
else
|
||||||
version=`git describe --dirty --tags || echo unknown`
|
version=`git describe --dirty --tags || echo unknown`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
npm run build
|
npm run clean
|
||||||
|
npm run build$dev
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
cp -r vector vector-$version
|
cp -r webapp vector-$version
|
||||||
echo $version > vector-$version/version
|
echo $version > vector-$version/version
|
||||||
tar chvzf dist/vector-$version.tar.gz vector-$version
|
tar chvzf dist/vector-$version.tar.gz vector-$version
|
||||||
rm -r vector-$version
|
rm -r vector-$version
|
||||||
|
|
|
@ -110,20 +110,17 @@ def on_receive_jenkins_poke():
|
||||||
filename = download_file(tar_gz_url)
|
filename = download_file(tar_gz_url)
|
||||||
print("Downloaded file: %s" % filename)
|
print("Downloaded file: %s" % filename)
|
||||||
name_str = filename.replace(".tar.gz", "")
|
name_str = filename.replace(".tar.gz", "")
|
||||||
untar_location = os.path.join(arg_extract_path, name_str)
|
untar_to(filename, arg_extract_path)
|
||||||
untar_to(filename, untar_location)
|
|
||||||
|
extracted_dir = os.path.join(arg_extract_path, name_str)
|
||||||
|
|
||||||
if arg_should_clean:
|
if arg_should_clean:
|
||||||
os.remove(filename)
|
os.remove(filename)
|
||||||
|
|
||||||
# stamp the version somewhere JS can get to it
|
create_symlink(source=extracted_dir, linkname=arg_symlink)
|
||||||
with open(os.path.join(untar_location, "vector/version"), "w") as stamp_file:
|
|
||||||
stamp_file.write(name_str)
|
|
||||||
|
|
||||||
create_symlink(source=os.path.join(untar_location, "vector"), linkname=arg_symlink)
|
|
||||||
|
|
||||||
if arg_config_location:
|
if arg_config_location:
|
||||||
create_symlink(source=arg_config_location, linkname=os.path.join(untar_location, "vector", 'config.json'))
|
create_symlink(source=arg_config_location, linkname=os.path.join(extracted_dir, 'config.json'))
|
||||||
|
|
||||||
return jsonify({})
|
return jsonify({})
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../src/skins/vector/fonts
|
|
|
@ -1 +0,0 @@
|
||||||
../src/skins/vector/img/
|
|
|
@ -39,7 +39,7 @@ module.exports = {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.join(__dirname, "vector"),
|
path: path.join(__dirname, "webapp"),
|
||||||
filename: "[name].[chunkhash].js",
|
filename: "[name].[chunkhash].js",
|
||||||
devtoolModuleFilenameTemplate: function(info) {
|
devtoolModuleFilenameTemplate: function(info) {
|
||||||
// Reading input source maps gives only relative paths here for
|
// Reading input source maps gives only relative paths here for
|
||||||
|
@ -98,8 +98,8 @@ module.exports = {
|
||||||
|
|
||||||
// configuration for the webpack-dev-server
|
// configuration for the webpack-dev-server
|
||||||
devServer: {
|
devServer: {
|
||||||
// serve unwebpacked assets from vector.
|
// serve unwebpacked assets from webapp.
|
||||||
contentBase: './vector',
|
contentBase: './webapp',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|