async function getMavenModuleFromPom()

in src/commands/deploy/java/tryGetMavenModule.ts [30:49]


async function getMavenModuleFromPom(pomFile: string): Promise<MavenModule | undefined> {
    const pomContent: Buffer = await fse.readFile(pomFile);
    try {
        const pom = parser.parse(pomContent.toString()) as MavenPom;
        const pj = pom.project;
        if (pj && pj.artifactId) {
            const version = pj.version || pj.parent?.version;
            const defaultName = version ? `${pj.artifactId}-${version}` : pj.artifactId;
            const artifactFinalName = `${pj.build?.finalName ?? defaultName}.${pj.packaging || 'jar'}`;
            return {
                path: path.dirname(pomFile),
                artifactId: pom.project.artifactId,
                artifactFinalName
            };
        }
    } catch (e) {
        return undefined;
    }
    return undefined;
}