mirror of
https://github.com/espocrm/espocrm.git
synced 2026-06-27 22:46:04 +00:00
diff closest
This commit is contained in:
@@ -381,7 +381,7 @@ module.exports = grunt => {
|
||||
});
|
||||
|
||||
grunt.registerTask('upgrade', () => {
|
||||
cp.execSync("node diff --all --vendor", {stdio: 'inherit'});
|
||||
cp.execSync("node diff --closest", {stdio: 'inherit'});
|
||||
});
|
||||
|
||||
grunt.registerTask('unit-tests-run', () => {
|
||||
|
||||
30
diff.js
30
diff.js
@@ -47,6 +47,7 @@ let isDev = false;
|
||||
let isAll = false;
|
||||
let withVendor = true;
|
||||
let forceScripts = false;
|
||||
let isClosest = false;
|
||||
|
||||
if (process.argv.length > 1) {
|
||||
for (let i in process.argv) {
|
||||
@@ -67,6 +68,10 @@ if (process.argv.length > 1) {
|
||||
forceScripts = true;
|
||||
}
|
||||
|
||||
if (process.argv[i] === '--closest') {
|
||||
isClosest = true;
|
||||
}
|
||||
|
||||
if (~process.argv[i].indexOf('--acceptedVersion=')) {
|
||||
acceptedVersionName = process.argv[i].substr(('--acceptedVersion=').length);
|
||||
}
|
||||
@@ -75,22 +80,33 @@ if (process.argv.length > 1) {
|
||||
|
||||
let espoPath = path.dirname(fs.realpathSync(__filename));
|
||||
|
||||
if (isAll || isClosest) {
|
||||
acceptedVersionName = null;
|
||||
}
|
||||
|
||||
let diff = new Diff(espoPath, {
|
||||
isAll: isAll,
|
||||
isDev: isDev,
|
||||
withVendor: withVendor,
|
||||
forceScripts: forceScripts,
|
||||
acceptedVersionName: !isAll ? acceptedVersionName : null,
|
||||
acceptedVersionName: acceptedVersionName,
|
||||
});
|
||||
|
||||
if (isAll) {
|
||||
diff.buildAllUpgradePackages();
|
||||
}
|
||||
(() => {
|
||||
if (isAll) {
|
||||
diff.buildAllUpgradePackages();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (isClosest) {
|
||||
diff.buildClosestUpgradePackages();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isAll) {
|
||||
if (!versionFrom) {
|
||||
throw new Error("No 'version' specified.");
|
||||
}
|
||||
|
||||
diff.buildUpgradePackage(versionFrom);
|
||||
}
|
||||
})();
|
||||
|
||||
20
js/diff.js
20
js/diff.js
@@ -27,14 +27,12 @@
|
||||
************************************************************************/
|
||||
|
||||
const fs = require('fs');
|
||||
const sys = require('util');
|
||||
const cp = require('child_process');
|
||||
const archiver = require('archiver');
|
||||
const process = require('process');
|
||||
const buildUtils = require('./build-utils');
|
||||
|
||||
const exec = cp.exec;
|
||||
const execSync = cp.execSync;
|
||||
|
||||
/**
|
||||
* Builds upgrade packages.
|
||||
@@ -59,13 +57,19 @@ class Diff
|
||||
return tagList;
|
||||
}
|
||||
|
||||
buildClosestUpgradePackages() {
|
||||
let versionFromList = this._getPreviousVersionList(true);
|
||||
|
||||
this.buildMultipleUpgradePackages(versionFromList);
|
||||
}
|
||||
|
||||
buildAllUpgradePackages() {
|
||||
let versionFromList = this._getPreviousVersionList();
|
||||
|
||||
this.buildMultipleUpgradePackages(versionFromList);
|
||||
}
|
||||
|
||||
_getPreviousVersionList() {
|
||||
_getPreviousVersionList(closest) {
|
||||
let dirInitial = process.cwd();
|
||||
|
||||
let version = (require(this.espoPath + '/package.json') || {}).version;
|
||||
@@ -105,6 +109,12 @@ class Diff
|
||||
for (let i = 0; i < tagList.length; i++) {
|
||||
let tag = tagList[i];
|
||||
|
||||
let patchVersionNumberI = tag.split('.')[2];
|
||||
|
||||
if (closest && parseInt(patchVersionNumberI) !== parseInt(hotfixVersionNumber) - 1) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (tag === version) {
|
||||
continue;
|
||||
}
|
||||
@@ -112,8 +122,6 @@ class Diff
|
||||
if (!~tag.indexOf('beta') && !~tag.indexOf('alpha')) {
|
||||
versionFromList.push(tag);
|
||||
|
||||
let patchVersionNumberI = tag.split('.')[2];
|
||||
|
||||
if (patchVersionNumberI === '0') {
|
||||
break;
|
||||
}
|
||||
@@ -156,7 +164,7 @@ class Diff
|
||||
return new Promise(resolve => {
|
||||
let acceptedVersionName = params.acceptedVersionName || versionFrom;
|
||||
let isDev = params.isDev;
|
||||
let withVendor = params.withVendor;
|
||||
let withVendor = params.withVendor ?? true;
|
||||
let forceScripts = params.forceScripts;
|
||||
|
||||
let version = (require(espoPath + '/package.json') || {}).version;
|
||||
|
||||
Reference in New Issue
Block a user