in git/services/versionInfo.js [80:127]
function getSnapshotVersion() {
let version;
for(let i = previousVersions.length - 1; i >= 0; i--) {
if (satisfiesVersion(previousVersions[i])) {
version = previousVersions[i];
break;
}
}
if (!version) {
// a snapshot version before the first tag on the branch
if (currentPackage.version !== undefined) {
version = semver(currentPackage.version);
} else if (currentPackage.branchPattern !== undefined) {
version = semver(currentPackage.branchPattern.replace('*','0-beta.1'));
} else {
version = semver('0.1.0-beta.1');
}
}
// We need to clone to ensure that we are not modifying another version
version = semver(version.raw);
const jenkinsBuild = process.env.TRAVIS_BUILD_NUMBER || process.env.BUILD_NUMBER;
if (!version.prerelease || !version.prerelease.length) {
// last release was a non beta release. Increment the patch level to
// indicate the next release that we will be doing.
// E.g. last release was 1.3.0, then the snapshot will be
// 1.3.1-build.1, which is lesser than 1.3.1 according to semver!
// If the last release was a beta release we don't update the
// beta number by purpose, as otherwise the semver comparison
// does not work any more when the next beta is released.
// E.g. don't generate 1.3.0-beta.2.build.1
// as this is bigger than 1.3.0-beta.2 according to semver
version.patch++;
}
version.prerelease = jenkinsBuild ? ['build', jenkinsBuild] : ['local'];
version.build = getBuild();
version.codeName = 'snapshot';
version.isSnapshot = true;
version.format();
version.full = version.version + '+' + version.build;
version.branch = 'master';
return version;
}