UNPKG

@react-native-community/bob

Version:
89 lines (66 loc) 3.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = build; var _path = _interopRequireDefault(require("path")); var _chalk = _interopRequireDefault(require("chalk")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _del = _interopRequireDefault(require("del")); var _androidAssemble = _interopRequireDefault(require("../utils/androidAssemble")); var _jetifier = _interopRequireDefault(require("../utils/jetifier")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const defaultOptions = { androidPath: 'android', androidBundleName: 'android.aar', reverseJetify: false }; async function createGradleFile(file) { await _fsExtra.default.createFile(file); await _fsExtra.default.writeFile(file, 'configurations.maybeCreate("default")\nartifacts.add("default", file(\'android.aar\'))'); } async function build({ root, output, options, report }) { const targetOptions = { ...defaultOptions, ...options }; report.info(`Cleaning up previous build at ${_chalk.default.blue(_path.default.relative(root, output))}`); await (0, _del.default)([output]); await (0, _androidAssemble.default)({ root, androidPath: targetOptions.androidPath, report }); report.info(`Creating new output directory at ${_chalk.default.blue(_path.default.relative(root, output))}`); await _fsExtra.default.mkdir(output); const sourceAar = _path.default.join(targetOptions.androidPath, 'build', 'outputs', 'aar', targetOptions.androidBundleName); const targetAar = _path.default.join(output, targetOptions.androidBundleName); report.info(`Copying AAR from ${_chalk.default.blue(_path.default.relative(root, sourceAar))} to ${_chalk.default.blue(_path.default.relative(root, targetAar))}`); await _fsExtra.default.copyFile(sourceAar, targetAar); const gradleFile = _path.default.join(output, 'build.gradle'); report.info(`Creating AAR Gradle file at ${_chalk.default.blue(_path.default.relative(root, gradleFile))}`); await createGradleFile(gradleFile); if (targetOptions.reverseJetify) { const supportOutputPath = _path.default.join(output, 'support'); report.info(`Creating new support output directory at ${_chalk.default.blue(_path.default.relative(root, supportOutputPath))}`); await _fsExtra.default.mkdir(supportOutputPath); const supportAar = _path.default.join(supportOutputPath, targetOptions.androidBundleName); report.info(`Using Jetifier to convert AAR from AndroidX to Support AAR at ${_chalk.default.blue(_path.default.relative(root, supportAar))}`); await (0, _jetifier.default)({ root, report, input: targetAar, output: supportAar, reverse: true }); const supportGradleFile = _path.default.join(supportOutputPath, 'build.gradle'); report.info(`Creating Support AAR Gradle file at ${_chalk.default.blue(_path.default.relative(root, supportGradleFile))}`); await createGradleFile(supportGradleFile); } report.success(`Wrote files to ${_chalk.default.blue(_path.default.relative(root, output))}`); } //# sourceMappingURL=aar.js.map