@@ -6,6 +6,7 @@ public enum CapacitorPluginError: Error {
66 case objcFileCount( Int )
77 case objcHeaderCount( Int )
88 case oldPluginMissing
9+ case cantFindPluginSwift( String )
910
1011 public var message : String {
1112 switch self {
@@ -15,6 +16,8 @@ public enum CapacitorPluginError: Error {
1516 return " Can't find OldPlugin "
1617 case . objcHeaderCount( let numberOfFiles) :
1718 return " Found \( numberOfFiles) Objective-C Header files, expected \( numberOfFiles) "
19+ case . cantFindPluginSwift( let name) :
20+ return " Can't find \( name) or Plugin.swift in directory "
1821 }
1922 }
2023}
@@ -73,12 +76,30 @@ public class CapacitorPluginPackage {
7376 return url
7477 }
7578
76- public func findSwiftPluginFile( ) throws ( CapacitorPluginError) -> URL {
79+ public func findSwiftPluginFile( ) throws ( CapacitorPluginError) -> URL {
7780 guard let oldPlugin else { throw . oldPluginMissing }
7881
7982 let fileName = " \( oldPlugin. capacitorPlugin. identifier) .swift "
8083
81- return URL ( filePath: fileName, directoryHint: . notDirectory, relativeTo: pluginSrcDirectoryURL)
84+ let fileURL = URL ( filePath: fileName,
85+ directoryHint: . notDirectory,
86+ relativeTo: pluginSrcDirectoryURL)
87+
88+ if ( try ? fileURL. checkResourceIsReachable ( ) ) == true {
89+ return fileURL
90+ } else {
91+ print ( " Warning: file \( fileURL. path ( ) ) not found, trying Plugin.swift " )
92+ }
93+
94+ let backupFileURL = URL ( filePath: " Plugin.swift " ,
95+ directoryHint: . notDirectory,
96+ relativeTo: pluginSrcDirectoryURL)
97+
98+ if ( try ? backupFileURL. checkResourceIsReachable ( ) ) == true {
99+ return backupFileURL
100+ }
101+
102+ throw . cantFindPluginSwift( fileName)
82103 }
83104
84105 public func findPodspecFile( ) throws -> URL {
0 commit comments