1
0
Fork 0
mirror of https://code.forgejo.org/actions/checkout.git synced 2024-11-27 14:39:16 +01:00

adding listener

This commit is contained in:
Vallie Joseph 2022-11-30 20:03:42 +00:00
parent ad19603e6b
commit 5788ebd085
2 changed files with 37 additions and 24 deletions

29
dist/index.js vendored
View file

@ -7399,7 +7399,12 @@ class GitCommandManager {
else {
args.push('--branches');
}
const output = yield this.execGit(args);
const listeners = {
stderr: (data) => {
core.debug(data.toString());
}
};
const output = yield this.execGit(args, false, false, listeners);
for (let branch of output.stdout.trim().split('\n')) {
branch = branch.trim();
if (branch) {
@ -7661,7 +7666,7 @@ class GitCommandManager {
return result;
});
}
execGit(args, allowAllExitCodes = false, silent = false) {
execGit(args, allowAllExitCodes = false, silent = false, customListeners = {}) {
return __awaiter(this, void 0, void 0, function* () {
fshelper.directoryExistsSync(this.workingDirectory, true);
const result = new GitOutput();
@ -7672,20 +7677,22 @@ class GitCommandManager {
for (const key of Object.keys(this.gitEnv)) {
env[key] = this.gitEnv[key];
}
const stdout = ['ardvark'];
const defaultListener = {
stdout: (data) => {
stdout.push(data.toString());
}
};
// const listeners = Object.keys(customListeners) < 0 ? customListeners : {stdout: (data: Buffer) => {
// stdout.push(data.toString())
// }}
const listenersD = Object.assign(Object.assign({}, customListeners), defaultListener);
const stdout = [];
const options = {
cwd: this.workingDirectory,
env,
silent,
ignoreReturnCode: allowAllExitCodes,
listeners: {
stdout: (data) => {
stdout.push(data.toString());
},
stderr: (data) => {
stdout.push(data.toString());
}
}
listeners: listenersD
};
result.exitCode = yield exec.exec(`"${this.gitPath}"`, args, options);
result.stdout = stdout.join('');

View file

@ -104,7 +104,12 @@ class GitCommandManager {
args.push('--branches')
}
const output = await this.execGit(args)
const listeners = {
stderr: (data: Buffer) => {
core.debug(data.toString())
}
}
const output = await this.execGit(args, false, false, listeners)
for (let branch of output.stdout.trim().split('\n')) {
branch = branch.trim()
@ -395,7 +400,8 @@ class GitCommandManager {
private async execGit(
args: string[],
allowAllExitCodes = false,
silent = false
silent = false,
customListeners = {}
): Promise<GitOutput> {
fshelper.directoryExistsSync(this.workingDirectory, true)
@ -408,22 +414,22 @@ class GitCommandManager {
for (const key of Object.keys(this.gitEnv)) {
env[key] = this.gitEnv[key]
}
const stdout: string[] = ['ardvark']
const defaultListener = {
stdout: (data: Buffer) => {
stdout.push(data.toString())
}
}
// const listeners = Object.keys(customListeners) < 0 ? customListeners : {stdout: (data: Buffer) => {
// stdout.push(data.toString())
// }}
const listenersD = {...customListeners, ...defaultListener}
const stdout: string[] = []
const options = {
cwd: this.workingDirectory,
env,
silent,
ignoreReturnCode: allowAllExitCodes,
listeners: {
stdout: (data: Buffer) => {
stdout.push(data.toString())
},
stderr: (data: Buffer) => {
stdout.push(data.toString())
}
}
listeners: listenersD
}
result.exitCode = await exec.exec(`"${this.gitPath}"`, args, options)