mirror of
https://github.com/actions/setup-java
synced 2024-12-22 21:22:41 +00:00
log when we overwrite the file
This commit is contained in:
parent
c1c11bbc1b
commit
bfbec53132
2 changed files with 27 additions and 6 deletions
17
dist/index.js
generated
vendored
17
dist/index.js
generated
vendored
|
@ -4134,7 +4134,8 @@ function configAuthentication(id, username, password) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
if (id && username && password) {
|
if (id && username && password) {
|
||||||
console.log(`creating ${exports.SETTINGS_FILE} with server-id: ${id}, username: ${username}, and a password`);
|
console.log(`creating ${exports.SETTINGS_FILE} with server-id: ${id}, username: ${username}, and a password`);
|
||||||
const directory = path.join(os.homedir(), exports.M2_DIR);
|
const home = process.env['GITHUB_WORKSPACE'] || os.homedir();
|
||||||
|
const directory = path.join(home, exports.M2_DIR);
|
||||||
yield io.mkdirP(directory);
|
yield io.mkdirP(directory);
|
||||||
core.debug(`created directory ${directory}`);
|
core.debug(`created directory ${directory}`);
|
||||||
yield write(directory, generate(id, username, password));
|
yield write(directory, generate(id, username, password));
|
||||||
|
@ -4162,10 +4163,20 @@ function generate(id, username, password) {
|
||||||
exports.generate = generate;
|
exports.generate = generate;
|
||||||
function write(directory, settings) {
|
function write(directory, settings) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const options = { encoding: 'utf-8' };
|
const options = { encoding: 'utf-8', flag: 'wx' }; // 'wx': Like 'w' but fails if path exists
|
||||||
const location = path.join(directory, exports.SETTINGS_FILE);
|
const location = path.join(directory, exports.SETTINGS_FILE);
|
||||||
console.log(`writing ${location}`);
|
console.log(`writing ${location}`);
|
||||||
return fs.writeFileSync(location, settings, options);
|
try {
|
||||||
|
return fs.writeFileSync(location, settings, options);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
if (!e.code)
|
||||||
|
throw e;
|
||||||
|
if (e.code == fs.constants.O_EXCL) {
|
||||||
|
console.log(`overwriting existing file ${location}`);
|
||||||
|
return fs.writeFileSync(location, settings, { encoding: 'utf-8' });
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
16
src/auth.ts
16
src/auth.ts
|
@ -16,7 +16,8 @@ export async function configAuthentication(
|
||||||
console.log(
|
console.log(
|
||||||
`creating ${SETTINGS_FILE} with server-id: ${id}, username: ${username}, and a password`
|
`creating ${SETTINGS_FILE} with server-id: ${id}, username: ${username}, and a password`
|
||||||
);
|
);
|
||||||
const directory: string = path.join(os.homedir(), M2_DIR);
|
const home: string = process.env['GITHUB_WORKSPACE'] || os.homedir();
|
||||||
|
const directory: string = path.join(home, M2_DIR);
|
||||||
await io.mkdirP(directory);
|
await io.mkdirP(directory);
|
||||||
core.debug(`created directory ${directory}`);
|
core.debug(`created directory ${directory}`);
|
||||||
await write(directory, generate(id, username, password));
|
await write(directory, generate(id, username, password));
|
||||||
|
@ -43,8 +44,17 @@ export function generate(id: string, username: string, password: string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function write(directory: string, settings: string) {
|
async function write(directory: string, settings: string) {
|
||||||
const options = {encoding: 'utf-8'};
|
const options = {encoding: 'utf-8', flag: 'wx'}; // 'wx': Like 'w' but fails if path exists
|
||||||
const location = path.join(directory, SETTINGS_FILE);
|
const location = path.join(directory, SETTINGS_FILE);
|
||||||
console.log(`writing ${location}`);
|
console.log(`writing ${location}`);
|
||||||
return fs.writeFileSync(location, settings, options);
|
try {
|
||||||
|
return fs.writeFileSync(location, settings, options);
|
||||||
|
} catch (e) {
|
||||||
|
if (e.code == fs.constants.O_EXCL) {
|
||||||
|
console.log(`overwriting existing file ${location}`);
|
||||||
|
// default flag is 'w'
|
||||||
|
return fs.writeFileSync(location, settings, {encoding: 'utf-8'});
|
||||||
|
}
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue