// swift-tools-version: 6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription import struct Foundation.URL let package = Package( name: "Palindrome", platforms: [.macOS(.v15)], dependencies: [ .package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", branch: "main") ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite. // Targets can depend on other targets in this package and products from dependencies. .executableTarget( name: "Palindrome", dependencies: [ .product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime") ] ) ] ) if let localDepsPath = Context.environment["LAMBDA_USE_LOCAL_DEPS"], localDepsPath != "", let v = try? URL(fileURLWithPath: localDepsPath).resourceValues(forKeys: [.isDirectoryKey]), v.isDirectory == true { // when we use the local runtime as deps, let's remove the dependency added above let indexToRemove = package.dependencies.firstIndex { dependency in if case .sourceControl( name: _, location: "https://github.com/swift-server/swift-aws-lambda-runtime.git", requirement: _ ) = dependency.kind { return true } return false } if let indexToRemove { package.dependencies.remove(at: indexToRemove) } // then we add the dependency on LAMBDA_USE_LOCAL_DEPS' path (typically ../..) print("[INFO] Compiling against swift-aws-lambda-runtime located at \(localDepsPath)") package.dependencies += [ .package(name: "swift-aws-lambda-runtime", path: localDepsPath) ] }