Skip to content

Commit

Permalink
Update Release script to provide better automated creation of nightly…
Browse files Browse the repository at this point in the history
… builds (#1664)
  • Loading branch information
MSNev committed Sep 9, 2021
1 parent a5b6e05 commit e347add
Showing 1 changed file with 54 additions and 28 deletions.
82 changes: 54 additions & 28 deletions tools/release-tools/setVersion.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ let buildNum = null;
let preRel = null;
let isRelease = false;
let testOnly = null;
let updateAll = true;
let isReact = false;
let isReactNative = false;

Expand Down Expand Up @@ -58,6 +59,10 @@ function setPreRelVer(name) {
newVer = defaultVer.substring(0, idx);
preRel = defaultVer.substring(idx);
}

if (newVer) {
updateAll = false; // We have mixed versions so we can't update all of them if we have a version#
}
}

return true;
Expand Down Expand Up @@ -95,10 +100,6 @@ function parseArgs() {
return false;
}
} else if (!isRelease && !preRel && theArg === "-release") {
if (!setPreRelVer("release")) {
return false;
}

isRelease = true;
preRel = "";
} else if (!isRelease && !preRel && theArg === "-pre") {
Expand All @@ -112,18 +113,21 @@ function parseArgs() {
idx++;
} else if (theArg === "-test") {
testOnly = true;
} else if (!newVer && !autoInc) {
} else if (!isRelease && !newVer && !autoInc) {
let theParts = theArg.split(".");
if(theParts.length < 3) {
console.error("!!! The provided version [" + theArg + "] appears invalid");
return false;
}

newVer = theArg;
updateAll = false; // We have mixed versions so we can't update all of them if we have a version#
} else if (!isReact && theArg === "-react") {
isReact = true;
updateAll = false;
} else if (!isReactNative && theArg === "-reactNative") {
isReactNative = true;
updateAll = false;
} else {
console.error("!!! Invalid Argument [" + theArg + "] detected");
return false;
Expand Down Expand Up @@ -156,7 +160,7 @@ function updateVersions() {
let newVersion = calculateVersion(rootVersion.version);
if (newVersion) {
console.log("New version [" + theVersion.release + "] => [" + newVersion + "]");
if (!isReact && !isReactNative) {
if (updateAll || (!isReact && !isReactNative)) {
theVersion.release = newVersion;
}
}
Expand Down Expand Up @@ -239,6 +243,9 @@ function calculateVersion(rootVersion) {
parts[0]++;
parts[1] = 0;
parts[2] = 0;
} else if (isRelease) {
// Don't update the numbers just remove the preRel
postfix = "";
}

newVersion = parts[0] + "." + parts[1] + "." + parts[2];
Expand Down Expand Up @@ -287,18 +294,24 @@ function getVersionDetails(theVersion) {
}

function shouldUpdatePackage(name) {
if (name.indexOf("-react-js") !== -1) {
return isReact;
}
if (!updateAll) {
if (name.indexOf("-react-js") !== -1) {
return isReact;
}

if (name.indexOf("-react-native") !== -1) {
return isReactNative;
if (name.indexOf("-react-native") !== -1) {
return isReactNative;
}

return !isReact && !isReactNative;
}

return !isReact && !isReactNative;
return updateAll;
}

function shouldProcess(name) {
let updateDefPkgs = updateAll || (!isReact && !isReactNative);

if (name.indexOf("node_modules/") !== -1) {
return false;
}
Expand All @@ -312,38 +325,39 @@ function shouldProcess(name) {
}

if (name.indexOf("-react-js") !== -1) {
return isReact;
return updateAll || isReact;
}

if (name.indexOf("-react-native") !== -1) {
return isReactNative;
return updateAll || isReactNative;
}

if (name.indexOf("-angularplugin") !== -1) {
return false;
}

if (name.indexOf("AISKU/") !== -1) {
return !isReact && !isReactNative;
return updateDefPkgs;
}

if (name.indexOf("AISKULight/") !== -1) {
return !isReact && !isReactNative;
return updateDefPkgs;
}

if (name.indexOf("channels/") !== -1) {
return !isReact && !isReactNative;
return updateDefPkgs;
}

if (name.indexOf("extensions/") !== -1) {
return !isReact && !isReactNative;
return updateDefPkgs;
}

if (name.indexOf("shared/") !== -1) {
return !isReact && !isReactNative;
return updateDefPkgs;
}

if (name === "package.json") {
return !isReact && !isReactNative;
return updateDefPkgs;
}

return false;
Expand Down Expand Up @@ -377,15 +391,27 @@ function updateDependencies(target, orgVersion, newVersion) {
Object.keys(target).forEach((value) => {
if (value.indexOf("@microsoft/applicationinsights-") !== -1 &&
value.indexOf("@microsoft/applicationinsights-rollup") === -1) {

let version = target[value];
if (version === orgVersion) {
target[value] = newVersion;
}
else if (version === "^" + orgVersion) {
target[value] = "^" + newVersion;
}
else if (version === "~" + orgVersion) {
target[value] = "~" + newVersion;
if (theVersion.pkgs[value]) {
let pkgVersion = theVersion.pkgs[value].release;
if (version.startsWith("^")) {
target[value] = "^" + pkgVersion;
} else if (version.startsWith("~")) {
target[value] = "~" + pkgVersion;
} else {
target[value] = pkgVersion;
}
} else {
if (version === orgVersion) {
target[value] = newVersion;
}
else if (version === "^" + orgVersion) {
target[value] = "^" + newVersion;
}
else if (version === "~" + orgVersion) {
target[value] = "~" + newVersion;
}
}
}
});
Expand Down

0 comments on commit e347add

Please sign in to comment.