Exemplo n.º 1
0
/**
 * Looks for a pom.xml or build.gradle file, and returns its parsed contents, or else a default package contents if none path
 */
async function readPomOrGradle(folderPath) {
    let pkg = getDefaultPackageInfo(); //default
    let foundPath;
    let pomPath = path.join(folderPath, 'pom.xml');
    let gradlePath = path.join(folderPath, 'build.gradle');
    if (await fse.pathExists(pomPath)) {
        foundPath = pomPath;
        let json = await new Promise((resolve, reject) => {
            // tslint:disable-next-line:no-unsafe-any
            pomParser.parse({
                filePath: pomPath
            }, (error, response) => {
                if (error) {
                    reject(`Failed to parse pom.xml: ${error}`);
                    return;
                }
                resolve(response.pomObject);
            });
        });
        json = json || {};
        if (json.project && json.project.version) {
            pkg.version = json.project.version;
        }
        if (json.project && json.project.artifactid) {
            pkg.artifactName = `target/${json.project.artifactid}-${pkg.version}.jar`;
        }
    }
    else if (await fse.pathExists(gradlePath)) {
        foundPath = gradlePath;
        const json = await gradleParser.parseFile(gradlePath);
        if (json.jar && json.jar.version) {
            pkg.version = json.jar.version;
        }
        else if (json.version) {
            pkg.version = json.version;
        }
        if (json.jar && json.jar.archiveName) {
            pkg.artifactName = `build/libs/${json.jar.archiveName}`;
        }
        else {
            const baseName = json.jar && json.jar.baseName ? json.jar.baseName : json.archivesBaseName || path.basename(folderPath);
            pkg.artifactName = `build/libs/${baseName}-${pkg.version}.jar`;
        }
    }
    return { foundPath, packageInfo: pkg };
}
Exemplo n.º 2
0
 return __awaiter(this, void 0, void 0, function* () {
     var pkg = getDefaultPackageJson(); //default
     if (fs.existsSync(path.join(folder.uri.fsPath, 'pom.xml'))) {
         const json = yield new Promise((resolve, reject) => {
             pomParser.parse({
                 filePath: path.join(folder.uri.fsPath, 'pom.xml')
             }, (error, response) => {
                 if (error) {
                     reject(`Failed to parse pom.xml: ${error}`);
                     return;
                 }
                 resolve(response.pomObject);
             });
         });
         if (json.project.version) {
             pkg.version = json.project.version;
         }
         if (json.project.artifactid) {
             pkg.artifactName = `target/${json.project.artifactid}-${pkg.version}.jar`;
         }
     }
     else if (fs.existsSync(path.join(folder.uri.fsPath, 'build.gradle'))) {
         const json = yield gradleParser.parseFile(path.join(folder.uri.fsPath, 'build.gradle'));
         if (json.jar && json.jar.version) {
             pkg.version = json.jar.version;
         }
         else if (json.version) {
             pkg.version = json.version;
         }
         if (json.jar && json.jar.archiveName) {
             pkg.artifactName = `build/libs/${json.jar.archiveName}`;
         }
         else {
             const baseName = json.jar && json.jar.baseName ? json.jar.baseName : json.archivesBaseName || folder.name;
             pkg.artifactName = `build/libs/${baseName}-${pkg.version}.jar`;
         }
     }
     return pkg;
 });