39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import * as core from '@actions/core';
|
|
import {Snapshot, submitSnapshot} from '@github/dependency-submission-toolkit';
|
|
import { SnapshotConfig, generateSnapshot } from './snapshot-generator';
|
|
|
|
async function run() {
|
|
let snapshot: Snapshot | undefined;
|
|
|
|
try {
|
|
const directory = core.getInput('directory', { required: true });
|
|
const mavenConfig = {
|
|
ignoreMavenWrapper: core.getBooleanInput('ignore-maven-wrapper'),
|
|
settingsFile: core.getInput('settings-file'),
|
|
mavenArgs: core.getInput('maven-args') || '',
|
|
}
|
|
const snapshotConfig: SnapshotConfig = {
|
|
includeManifestFile: core.getBooleanInput('snapshot-include-file-name'),
|
|
manifestFile: core.getInput('snapshot-dependency-file-name'),
|
|
sha: core.getInput('snapshot-sha'),
|
|
ref: core.getInput('snapshot-ref'),
|
|
}
|
|
|
|
snapshot = await generateSnapshot(directory, mavenConfig, snapshotConfig);
|
|
} catch (err: any) {
|
|
core.error(err);
|
|
core.setFailed(`Failed to generate a dependency snapshot, check logs for more details, ${err}`);
|
|
}
|
|
|
|
if (snapshot) {
|
|
core.startGroup(`Dependency Snapshot`);
|
|
core.info(snapshot.prettyJSON())
|
|
core.endGroup();
|
|
|
|
core.info(`Submitting Snapshot...`)
|
|
await submitSnapshot(snapshot);
|
|
core.info(`completed.`)
|
|
}
|
|
}
|
|
|
|
run(); |