52 lines
1.7 KiB
TypeScript
52 lines
1.7 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'),
|
|
}
|
|
const correlator = core.getInput('correlator');
|
|
if (correlator) {
|
|
snapshotConfig.correlator = correlator;
|
|
}
|
|
const detectorName = core.getInput('detector-name');
|
|
if (detectorName !== '') {
|
|
snapshotConfig.detector = {
|
|
name: detectorName,
|
|
url: core.getInput('detector-url', { required: true }),
|
|
version: core.getInput('detector-version', { required: true }),
|
|
};
|
|
}
|
|
|
|
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();
|