diff --git a/cli/src/util/cordova-ios.ts b/cli/src/util/cordova-ios.ts index 040116257..371bd96d3 100644 --- a/cli/src/util/cordova-ios.ts +++ b/cli/src/util/cordova-ios.ts @@ -14,6 +14,7 @@ import { getPluginType, } from '../plugin'; import type { Plugin } from '../plugin'; +import { setAllStringIn } from '../tasks/migrate'; import { extractTemplate } from '../util/template'; const platform = 'ios'; @@ -352,7 +353,21 @@ export async function generateCordovaPackageFile(p: Plugin, config: Config): Pro publicHeadersPath: "."`; } - const content = `// swift-tools-version: 5.9 + const platformTag = getPluginPlatform(p, platform); + + if (platformTag.$?.package) { + const packageSwiftPath = join(p.rootPath, 'Package.swift'); + let content = await readFile(packageSwiftPath, { encoding: 'utf-8' }); + content = content.replace(`apache`, `ionic-team`).replaceAll(`cordova-ios`, `capacitor-swift-pm`); + content = setAllStringIn( + content, + `url: "https://github.com/ionic-team/capacitor-swift-pm.git",`, + `)`, + ` from: "${iosPlatformVersion}"`, + ); + await writeFile(packageSwiftPath, content); + } else { + const content = `// swift-tools-version: 5.9 import PackageDescription @@ -378,5 +393,6 @@ let package = Package( ) ] )`; - await writeFile(join(config.ios.cordovaPluginsDirAbs, 'sources', p.name, 'Package.swift'), content); + await writeFile(join(config.ios.cordovaPluginsDirAbs, 'sources', p.name, 'Package.swift'), content); + } }