This is an automated email from the ASF dual-hosted git repository. bce pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/beam-swift.git
commit 63de428f0c6f1e95fb3f8972a4a2bd5ea9fe11f9 Author: Byron Ellis <[email protected]> AuthorDate: Mon Oct 2 15:06:21 2023 -0700 Initial Package Creation --- .gitignore | 8 ++++ Package.swift | 69 +++++++++++++++++++++++++++++ Sources/ApacheBeam/ApacheBeam.swift | 21 +++++++++ Tests/ApacheBeamTests/ApacheBeamTests.swift | 31 +++++++++++++ 4 files changed, 129 insertions(+) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..5270af2 --- /dev/null +++ b/Package.swift @@ -0,0 +1,69 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import CompilerPluginSupport +import PackageDescription + +let dependencies: [Package.Dependency] = [ + // Core Dependencies + .package(url: "https://github.com/grpc/grpc-swift.git", from: "1.19.0"), + .package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"), + .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0"), + + // Additional Transform Dependencies + .package(url: "https://github.com/awslabs/aws-sdk-swift.git", from: "0.23.0"), + .package(url: "https://github.com/googleapis/google-auth-library-swift",from:"0.0.0"), + + // Swift Macro Support + .package(url: "https://github.com/apple/swift-syntax.git", branch: "main"), + + // Swift Package Manager Plugins + .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), + .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.52.3"), +] + + +let package = Package( + name: "ApacheBeam", + products: [ + // Products define the executables and libraries a package produces, making them visible to other packages. + .library( + name: "ApacheBeam", + targets: ["ApacheBeam"]), + ], + dependencies: dependencies, + 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. + .target( + name: "ApacheBeam", + dependencies: [ + .product(name: "GRPC",package:"grpc-swift"), + .product(name: "Logging",package:"swift-log"), + .product(name: "AWSS3",package:"aws-sdk-swift"), + .product(name: "OAuth2", package:"google-auth-library-swift"), + .product(name: "ArgumentParser", package:"swift-argument-parser") + ] + ), + .testTarget( + name: "ApacheBeamTests", + dependencies: ["ApacheBeam"]), + ] +) diff --git a/Sources/ApacheBeam/ApacheBeam.swift b/Sources/ApacheBeam/ApacheBeam.swift new file mode 100644 index 0000000..6ae2981 --- /dev/null +++ b/Sources/ApacheBeam/ApacheBeam.swift @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +enum ApacheBeamError: Error { + case runtimeError(String) +} diff --git a/Tests/ApacheBeamTests/ApacheBeamTests.swift b/Tests/ApacheBeamTests/ApacheBeamTests.swift new file mode 100644 index 0000000..100676f --- /dev/null +++ b/Tests/ApacheBeamTests/ApacheBeamTests.swift @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@testable import ApacheBeam +import XCTest + +final class ApacheBeamTests: XCTestCase { + //TODO: Remove this someday + func testDummy() throws { + // XCTest Documentation + // https://developer.apple.com/documentation/xctest + + // Defining Test Cases and Test Methods + // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods + } +}
