UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

43 lines 1.7 kB
"use strict"; /* * Copyright © 2020 Atomist, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.packageInfo = void 0; const antlr_1 = require("@atomist/antlr"); const astUtils_1 = require("@atomist/automation-client/lib/tree/ast/astUtils"); const BoundedElement_1 = require("../../util/BoundedElement"); const javaPathExpressions_1 = require("./javaPathExpressions"); /** * Return the imports already in this project * @param {Project} p * @param {string} path * @return {Promise<Import[]>} */ async function packageInfo(p, path) { const packages = await astUtils_1.gather(p, { parseWith: antlr_1.Java9FileParser, globPatterns: path, pathExpression: javaPathExpressions_1.JavaPackage, mapper: m => { return Object.assign({ // TODO this is inelegant pending recursive Antlr grammar fix fqn: m.$value.replace(/.*package (.*);/, "$1") }, BoundedElement_1.toBoundedElement(m)); }, }); return packages.length === 1 ? packages[0] : undefined; } exports.packageInfo = packageInfo; //# sourceMappingURL=packageInfo.js.map