Skip to content

Commit 0613867

Browse files
authored
Configuring wrappers as Swift Package (#1160)
1 parent 06b63c1 commit 0613867

15 files changed

+146
-103
lines changed

wrappers/swift/.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
out
1+
out
2+
.build/

wrappers/swift/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ enable_language(Swift)
1515

1616
# Set flags and paths
1717
set(CMAKE_CXX_STANDARD 11)
18-
set(CMAKE_Swift_FLAGS "${CMAKE_Swift_FLAGS} -import-objc-header Swift_Wrapper-Bridging-Header.h")
18+
set(CMAKE_Swift_FLAGS "${CMAKE_Swift_FLAGS} -import-objc-header ObjCModule-Bridging-Header.h")
1919
set(INSTALLED_LIB_PATH "/usr/local/lib")
2020

2121
# Add system libs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//
2+
// Copyright (c) Microsoft Corporation. All rights reserved.
3+
// SPDX-License-Identifier: Apache-2.0
4+
//
5+
6+
// Contains all the Obj-C header files which are exposed to Swift
7+
8+
#import <Foundation/Foundation.h>
9+
10+
#import "../../obj-c/ODWDiagnosticDataViewer.h"
11+
#import "../../obj-c/ODWEventProperties.h"
12+
#import "../../obj-c/ODWLogConfiguration.h"
13+
#import "../../obj-c/ODWLogger.h"
14+
#import "../../obj-c/ODWLogManager.h"
15+
#import "../../obj-c/ODWPrivacyGuard.h"
16+
#import "../../obj-c/ODWPrivacyGuardInitConfig.h"
17+
#import "../../obj-c/ODWSemanticContext.h"
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module ObjCModule {
2+
header "../Headers/ObjCModule-Bridging-Header.h"
3+
export *
4+
}

wrappers/swift/Package.swift

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// swift-tools-version: 5.7
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "OneDSSwiftWrapper",
8+
products: [
9+
// Products define the executables and libraries a package produces, and make them visible to other packages.
10+
.library(
11+
name: "OneDSSwift",
12+
targets: ["OneDSSwift"]),
13+
],
14+
dependencies: [
15+
// Dependencies declare other packages that this package depends on.
16+
// .package(url: /* package url */, from: "1.0.0"),
17+
],
18+
targets: [
19+
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
20+
// Targets can depend on other targets in this package, and on products in packages this package depends on.
21+
.target(
22+
name: "OneDSSwift",
23+
dependencies: [],
24+
cSettings: [
25+
.headerSearchPath("../../Modules/")
26+
]),
27+
]
28+
)

wrappers/swift/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SwiftWrapper
2+
3+
Package contains Swift wrappers for 1DSSDK

wrappers/swift/DiagnosticDataViewer.swift renamed to wrappers/swift/Sources/OneDSSwift/DiagnosticDataViewer.swift

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
// SPDX-License-Identifier: Apache-2.0
44
//
55

6+
import ObjCModule
7+
68
/// Wrapper class over `ODWDiagnosticDataViewer` representing Diagnostic Data Viewer Hook.
79
public final class DiagnosticDataViewer {
810

0 commit comments

Comments
 (0)