Class: Dependabot::Swift::FileFetcher
- Inherits:
-
FileFetchers::Base
- Object
- FileFetchers::Base
- Dependabot::Swift::FileFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/swift/file_fetcher.rb
Constant Summary collapse
- XCODEPROJ_SUFFIX =
".xcodeproj"- XCWORKSPACE_SUFFIX =
".xcworkspace"- XCODE_SPM_PACKAGE_RESOLVED_PATH =
"project.xcworkspace/xcshareddata/swiftpm/Package.resolved"- XCWORKSPACE_PACKAGE_RESOLVED_PATH =
"xcshareddata/swiftpm/Package.resolved"
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.required_files_in?(filenames) ⇒ Boolean
20 21 22 23 24 |
# File 'lib/dependabot/swift/file_fetcher.rb', line 20 def self.required_files_in?(filenames) return true if filenames.include?("Package.swift") filenames.any? { |f| XcodeFileHelpers.xcode_resolved_path?(f) } end |
.required_files_message ⇒ Object
27 28 29 30 |
# File 'lib/dependabot/swift/file_fetcher.rb', line 27 def self. "Repo must contain a Package.swift configuration file or " \ "an .xcodeproj/.xcworkspace directory with a Package.resolved file." end |
Instance Method Details
#fetch_files ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/dependabot/swift/file_fetcher.rb', line 33 def fetch_files fetched_files = T.let([], T::Array[DependencyFile]) manifest = package_manifest if manifest fetched_files << manifest resolved = package_resolved fetched_files << resolved if resolved return fetched_files end # Base class validates returned files against required_files_in? and raises if needed fetch_xcode_spm_files(fetched_files) fetched_files end |