mirror of
https://github.com/PaulHatch/semantic-version.git
synced 2025-12-27 04:58:17 +00:00
WIP
This commit is contained in:
parent
03c07f3281
commit
98eb075f32
2 changed files with 16 additions and 15 deletions
|
|
@ -4,7 +4,7 @@ import { VersionType } from './providers/VersionType';
|
|||
import { UserInfo } from './providers/UserInfo';
|
||||
import { VersionInformation } from './providers/VersionInformation';
|
||||
import { DebugManager } from './DebugManager';
|
||||
|
||||
import * as core from '@actions/core';
|
||||
export async function runAction(configurationProvider: ConfigurationProvider): Promise<VersionResult> {
|
||||
|
||||
const currentCommitResolver = configurationProvider.GetCurrentCommitResolver();
|
||||
|
|
@ -19,7 +19,7 @@ export async function runAction(configurationProvider: ConfigurationProvider): P
|
|||
|
||||
if (await currentCommitResolver.IsEmptyRepoAsync()) {
|
||||
|
||||
console.log("VAGO REPO WAS EMPTY, returning default version information");
|
||||
core.info("VAGO REPO WAS EMPTY, returning default version information");
|
||||
const versionInfo = new VersionInformation(0, 0, 0, 0, VersionType.None, [], false, false);
|
||||
return new VersionResult(
|
||||
versionInfo.major,
|
||||
|
|
@ -40,14 +40,14 @@ export async function runAction(configurationProvider: ConfigurationProvider): P
|
|||
}
|
||||
|
||||
const currentCommit = await currentCommitResolver.ResolveAsync();
|
||||
console.log("VAGO CURRENT COMMIT: " + currentCommit);
|
||||
core.info("VAGO CURRENT COMMIT: " + currentCommit);
|
||||
const lastRelease = await lastReleaseResolver.ResolveAsync(currentCommit, tagFormatter);
|
||||
console.log("VAGO LAST RELEASE: " + lastRelease.hash + " " + lastRelease.major + "." + lastRelease.minor + "." + lastRelease.patch);
|
||||
core.info("VAGO LAST RELEASE: " + lastRelease.hash + " " + lastRelease.major + "." + lastRelease.minor + "." + lastRelease.patch);
|
||||
const commitSet = await commitsProvider.GetCommitsAsync(lastRelease.hash, currentCommit);
|
||||
console.log("VAGO commit set le:" + commitSet.commits.length)
|
||||
console.log("VAGO commit set changed: " + commitSet.changed.toString());
|
||||
core.info("VAGO commit set le:" + commitSet.commits.length)
|
||||
core.info("VAGO commit set changed: " + commitSet.changed.toString());
|
||||
const classification = await versionClassifier.ClassifyAsync(lastRelease, commitSet);
|
||||
console.log("VAGO classification: " + JSON.stringify(classification));
|
||||
core.info("VAGO classification: " + JSON.stringify(classification));
|
||||
|
||||
const { isTagged } = lastRelease;
|
||||
const { major, minor, patch, increment, type, changed } = classification;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import { ReleaseInformation } from "./ReleaseInformation";
|
|||
import { VersionClassification } from "./VersionClassification";
|
||||
import { VersionClassifier } from "./VersionClassifier";
|
||||
import { VersionType } from "./VersionType";
|
||||
import * as core from '@actions/core';
|
||||
|
||||
export class DefaultVersionClassifier implements VersionClassifier {
|
||||
|
||||
|
|
@ -91,15 +92,15 @@ export class DefaultVersionClassifier implements VersionClassifier {
|
|||
}
|
||||
|
||||
public async ClassifyAsync(lastRelease: ReleaseInformation, commitSet: CommitInfoSet): Promise<VersionClassification> {
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync called");
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync called");
|
||||
const { type, increment, changed } = this.resolveCommitType(commitSet);
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: type: " + VersionType[type] + ", increment: " + increment + ", changed: " + changed);
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: type: " + VersionType[type] + ", increment: " + increment + ", changed: " + changed);
|
||||
|
||||
const { major, minor, patch } = this.getNextVersion(lastRelease, type);
|
||||
console.log("VAGOO DefaultVersionClassifier.ClassifyAsync: major: " + major + ", minor: " + minor + ", patch: " + patch);
|
||||
core.info("VAGOO DefaultVersionClassifier.ClassifyAsync: major: " + major + ", minor: " + minor + ", patch: " + patch);
|
||||
|
||||
if (lastRelease.currentPatch !== null) {
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentPatch is not null, using it to determine version classification");
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentPatch is not null, using it to determine version classification");
|
||||
// If the current commit is tagged, we must use that version. Here we check if the version we have resolved from the
|
||||
// previous commits is the same as the current version. If it is, we will use the increment value, otherwise we reset
|
||||
// to zero. For example:
|
||||
|
|
@ -111,10 +112,10 @@ export class DefaultVersionClassifier implements VersionClassifier {
|
|||
|
||||
const versionsMatch = lastRelease.currentMajor === major && lastRelease.currentMinor === minor && lastRelease.currentPatch === patch;
|
||||
const currentIncrement = versionsMatch ? increment : 0;
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: versionsMatch: " + versionsMatch + ", currentIncrement: " + currentIncrement);
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentMajor: " + <number>lastRelease.currentMajor);
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentMinor: " + <number>lastRelease.currentMinor);
|
||||
console.log("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentPatch: " + <number>lastRelease.currentPatch);
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: versionsMatch: " + versionsMatch + ", currentIncrement: " + currentIncrement);
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentMajor: " + <number>lastRelease.currentMajor);
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentMinor: " + <number>lastRelease.currentMinor);
|
||||
core.info("VAGO DefaultVersionClassifier.ClassifyAsync: lastRelease.currentPatch: " + <number>lastRelease.currentPatch);
|
||||
return new VersionClassification(VersionType.None, currentIncrement, false, <number>lastRelease.currentMajor, <number>lastRelease.currentMinor, <number>lastRelease.currentPatch);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue