2017-10-01 21:01:14 +13:00
|
|
|
|
2017-10-02 08:38:33 +13:00
|
|
|
/**
|
|
|
|
|
* Iris builder
|
|
|
|
|
*
|
|
|
|
|
* Collates all static elements into the mopidy_iris Python package folder
|
|
|
|
|
* We also amend all related files with the latest build version
|
|
|
|
|
*
|
|
|
|
|
* To run, execute npm run dev|build|prod|release
|
|
|
|
|
**/
|
|
|
|
|
|
2017-10-01 21:01:14 +13:00
|
|
|
var fs = require('fs');
|
|
|
|
|
var copydir = require('copy-dir');
|
|
|
|
|
|
2017-10-14 20:27:47 +13:00
|
|
|
var version = fs.readFileSync("VERSION.md", "utf8");
|
2018-02-04 07:52:30 +13:00
|
|
|
version = version.replace(/\r?\n?/g, '').trim();
|
2017-10-01 21:01:14 +13:00
|
|
|
var build = Math.floor(Date.now() / 1000);
|
|
|
|
|
console.log('Building version '+version+' ('+build+')');
|
|
|
|
|
|
|
|
|
|
copydir('src/assets', 'mopidy_iris/static/assets', function(error){
|
|
|
|
|
|
|
|
|
|
if (error){
|
|
|
|
|
console.log('Build failed, could not copy assets', error);
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
console.log('Copied assets');
|
|
|
|
|
|
2017-10-01 21:08:40 +13:00
|
|
|
var html_file = "mopidy_iris/static/index.html";
|
2017-10-02 06:03:45 +13:00
|
|
|
var html_file_content = fs.readFileSync("src/index.html", "utf8");
|
2017-10-01 21:08:40 +13:00
|
|
|
html_file_content = html_file_content.replace("VERSION_HERE", version);
|
|
|
|
|
html_file_content = html_file_content.replace("BUILD_HERE", build);
|
|
|
|
|
fs.writeFileSync(html_file, html_file_content, 'utf8');
|
2017-10-01 21:01:14 +13:00
|
|
|
console.log('Setting version in HTML');
|
|
|
|
|
|
|
|
|
|
console.log('Setting version in Python');
|
2017-10-01 21:08:40 +13:00
|
|
|
var init_file = "mopidy_iris/__init__.py";
|
|
|
|
|
var init_file_content = fs.readFileSync(init_file, "utf8");
|
|
|
|
|
init_file_content = init_file_content.replace(/(?:__version__\ \=\ \')(?:.*)'/, "__version__ = '"+version+"'");
|
|
|
|
|
fs.writeFileSync(init_file, init_file_content, 'utf8');
|
2017-10-01 21:01:14 +13:00
|
|
|
|
|
|
|
|
console.log('Setting version in NPM');
|
2017-10-01 21:08:40 +13:00
|
|
|
var package_file = "package.json";
|
|
|
|
|
var package_file_content = fs.readFileSync(package_file, "utf8");
|
|
|
|
|
package_file_content = package_file_content.replace(/(?:\"version\"\:\ \")(?:.*)"/, '"version": "'+version+'"');
|
|
|
|
|
fs.writeFileSync(package_file, package_file_content, 'utf8');
|
2017-10-01 21:01:14 +13:00
|
|
|
|
|
|
|
|
console.log('Done!');
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return false;
|