This commit is contained in:
parent
55470c090d
commit
6947a1adba
1260 changed files with 111297 additions and 0 deletions
73
@capacitor/cli/dist/util/spm.js
vendored
Normal file
73
@capacitor/cli/dist/util/spm.js
vendored
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generatePackageFile = exports.findPackageSwiftFile = exports.checkPackageManager = void 0;
|
||||
const utils_fs_1 = require("@ionic/utils-fs");
|
||||
const path_1 = require("path");
|
||||
const log_1 = require("../log");
|
||||
async function checkPackageManager(config) {
|
||||
const iosDirectory = config.ios.nativeProjectDirAbs;
|
||||
if ((0, utils_fs_1.existsSync)((0, path_1.resolve)(iosDirectory, 'CapApp-SPM'))) {
|
||||
return 'SPM';
|
||||
}
|
||||
return 'Cocoapods';
|
||||
}
|
||||
exports.checkPackageManager = checkPackageManager;
|
||||
async function findPackageSwiftFile(config) {
|
||||
const packageDirectory = (0, path_1.resolve)(config.ios.nativeProjectDirAbs, 'CapApp-SPM');
|
||||
return (0, path_1.resolve)(packageDirectory, 'Package.swift');
|
||||
}
|
||||
exports.findPackageSwiftFile = findPackageSwiftFile;
|
||||
async function generatePackageFile(config, plugins) {
|
||||
const packageSwiftFile = await findPackageSwiftFile(config);
|
||||
try {
|
||||
log_1.logger.warn('SPM Support is still experimental');
|
||||
const textToWrite = generatePackageText(config, plugins);
|
||||
(0, utils_fs_1.writeFileSync)(packageSwiftFile, textToWrite);
|
||||
}
|
||||
catch (err) {
|
||||
log_1.logger.error(`Unable to write to ${packageSwiftFile}. Verify it is not already open. \n Error: ${err}`);
|
||||
}
|
||||
}
|
||||
exports.generatePackageFile = generatePackageFile;
|
||||
function generatePackageText(config, plugins) {
|
||||
var _a, _b, _c;
|
||||
const pbx = (0, utils_fs_1.readFileSync)((0, path_1.join)(config.ios.nativeXcodeProjDirAbs, 'project.pbxproj'), 'utf-8');
|
||||
const searchString = 'IPHONEOS_DEPLOYMENT_TARGET = ';
|
||||
const iosVersion = pbx.substring(pbx.indexOf(searchString) + searchString.length, pbx.indexOf(searchString) + searchString.length + 2);
|
||||
let packageSwiftText = `// swift-tools-version: 5.9
|
||||
import PackageDescription
|
||||
|
||||
// DO NOT MODIFY THIS FILE - managed by Capacitor CLI commands
|
||||
let package = Package(
|
||||
name: "CapApp-SPM",
|
||||
platforms: [.iOS(.v${iosVersion})],
|
||||
products: [
|
||||
.library(
|
||||
name: "CapApp-SPM",
|
||||
targets: ["CapApp-SPM"])
|
||||
],
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", branch: "main")`;
|
||||
for (const plugin of plugins) {
|
||||
const relPath = (0, path_1.relative)(config.ios.nativeXcodeProjDirAbs, plugin.rootPath);
|
||||
packageSwiftText += `,\n .package(name: "${(_a = plugin.ios) === null || _a === void 0 ? void 0 : _a.name}", path: "${relPath}")`;
|
||||
}
|
||||
packageSwiftText += `
|
||||
],
|
||||
targets: [
|
||||
.target(
|
||||
name: "CapApp-SPM",
|
||||
dependencies: [
|
||||
.product(name: "Capacitor", package: "capacitor-swift-pm"),
|
||||
.product(name: "Cordova", package: "capacitor-swift-pm")`;
|
||||
for (const plugin of plugins) {
|
||||
packageSwiftText += `,\n .product(name: "${(_b = plugin.ios) === null || _b === void 0 ? void 0 : _b.name}", package: "${(_c = plugin.ios) === null || _c === void 0 ? void 0 : _c.name}")`;
|
||||
}
|
||||
packageSwiftText += `
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
`;
|
||||
return packageSwiftText;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue