func repositoryURL()

in Sources/PackageRegistryCompatibilityTestSuite/TestConfigurationGenerator.swift [248:266]


        func repositoryURL(package: PackageDescriptor) throws -> String? {
            if package.repositoryURL != nil { return package.repositoryURL }

            guard let metadataKey = configuration.repositoryURLMetadataKey else { return nil }

            for release in package.releases {
                guard let metadataPath = release.metadataPath else { continue }

                guard let metadata = try JSONSerialization.jsonObject(with: Data(contentsOf: metadataPath.asURL), options: []) as? [String: Any] else {
                    throw TestError("Metadata file at \(metadataPath) contains invalid JSON")
                }

                if let repositoryURL = metadata[metadataKey] as? String {
                    return repositoryURL
                }
            }

            return nil
        }