Files
maven-dependency-submission…/src/index.ts
T
2025-05-13 18:52:21 +00:00

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();