From 4508462ee15a76e529d53407da39767e13c5d6f5 Mon Sep 17 00:00:00 2001 From: Doug Gregor Date: Mon, 7 Oct 2024 10:50:20 -0700 Subject: [PATCH 1/2] Re-export JavaRuntime from the JavaKit module There's no way to use JavaKit without the JavaRuntime module, so ensure that it's always available. --- Sources/Java2Swift/JavaToSwift.swift | 1 - .../JavaKit/BridgedValues/JavaValue+Array.swift | 1 - .../JavaKit/BridgedValues/JavaValue+Bool.swift | 1 - .../BridgedValues/JavaValue+FloatingPoint.swift | 1 - .../BridgedValues/JavaValue+Integers.swift | 1 - .../JavaKit/BridgedValues/JavaValue+String.swift | 1 - Sources/JavaKit/JavaRuntime+Reexport.swift | 15 +++++++++++++++ Sources/JavaKitVM/JavaVirtualMachine.swift | 1 - Tests/JavaKitTests/BasicRuntimeTests.swift | 1 - USER_GUIDE.md | 2 -- 10 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 Sources/JavaKit/JavaRuntime+Reexport.swift diff --git a/Sources/Java2Swift/JavaToSwift.swift b/Sources/Java2Swift/JavaToSwift.swift index 87fcc7e7..fb24e091 100644 --- a/Sources/Java2Swift/JavaToSwift.swift +++ b/Sources/Java2Swift/JavaToSwift.swift @@ -19,7 +19,6 @@ import JavaKitJar import JavaKitNetwork import JavaKitReflection import JavaKitVM -import JavaRuntime import SwiftSyntax import SwiftSyntaxBuilder diff --git a/Sources/JavaKit/BridgedValues/JavaValue+Array.swift b/Sources/JavaKit/BridgedValues/JavaValue+Array.swift index dce723d1..26996578 100644 --- a/Sources/JavaKit/BridgedValues/JavaValue+Array.swift +++ b/Sources/JavaKit/BridgedValues/JavaValue+Array.swift @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// -import JavaRuntime import JavaTypes extension Array: JavaValue where Element: JavaValue { diff --git a/Sources/JavaKit/BridgedValues/JavaValue+Bool.swift b/Sources/JavaKit/BridgedValues/JavaValue+Bool.swift index c1599076..3e64f38e 100644 --- a/Sources/JavaKit/BridgedValues/JavaValue+Bool.swift +++ b/Sources/JavaKit/BridgedValues/JavaValue+Bool.swift @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// -import JavaRuntime import JavaTypes extension Bool: JavaValue { diff --git a/Sources/JavaKit/BridgedValues/JavaValue+FloatingPoint.swift b/Sources/JavaKit/BridgedValues/JavaValue+FloatingPoint.swift index f90c5019..32f4bd0a 100644 --- a/Sources/JavaKit/BridgedValues/JavaValue+FloatingPoint.swift +++ b/Sources/JavaKit/BridgedValues/JavaValue+FloatingPoint.swift @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// -import JavaRuntime import JavaTypes extension Float: JavaValue { diff --git a/Sources/JavaKit/BridgedValues/JavaValue+Integers.swift b/Sources/JavaKit/BridgedValues/JavaValue+Integers.swift index 39dca985..01a7bdba 100644 --- a/Sources/JavaKit/BridgedValues/JavaValue+Integers.swift +++ b/Sources/JavaKit/BridgedValues/JavaValue+Integers.swift @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// -import JavaRuntime import JavaTypes extension Int8: JavaValue { diff --git a/Sources/JavaKit/BridgedValues/JavaValue+String.swift b/Sources/JavaKit/BridgedValues/JavaValue+String.swift index 028cf390..5c9ca117 100644 --- a/Sources/JavaKit/BridgedValues/JavaValue+String.swift +++ b/Sources/JavaKit/BridgedValues/JavaValue+String.swift @@ -12,7 +12,6 @@ // //===----------------------------------------------------------------------===// -import JavaRuntime import JavaTypes extension String: JavaValue { diff --git a/Sources/JavaKit/JavaRuntime+Reexport.swift b/Sources/JavaKit/JavaRuntime+Reexport.swift new file mode 100644 index 00000000..e65d4e18 --- /dev/null +++ b/Sources/JavaKit/JavaRuntime+Reexport.swift @@ -0,0 +1,15 @@ +//===----------------------------------------------------------------------===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2024 Apple Inc. and the Swift.org project authors +// Licensed under Apache License v2.0 +// +// See LICENSE.txt for license information +// See CONTRIBUTORS.txt for the list of Swift.org project authors +// +// SPDX-License-Identifier: Apache-2.0 +// +//===----------------------------------------------------------------------===// + +@_exported import JavaRuntime diff --git a/Sources/JavaKitVM/JavaVirtualMachine.swift b/Sources/JavaKitVM/JavaVirtualMachine.swift index 1d144157..d1cc97ec 100644 --- a/Sources/JavaKitVM/JavaVirtualMachine.swift +++ b/Sources/JavaKitVM/JavaVirtualMachine.swift @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// import JavaKit -import JavaRuntime typealias JavaVMPointer = UnsafeMutablePointer diff --git a/Tests/JavaKitTests/BasicRuntimeTests.swift b/Tests/JavaKitTests/BasicRuntimeTests.swift index 4dd5d196..b05579ae 100644 --- a/Tests/JavaKitTests/BasicRuntimeTests.swift +++ b/Tests/JavaKitTests/BasicRuntimeTests.swift @@ -15,7 +15,6 @@ import JavaKit import JavaKitNetwork import JavaKitVM -import JavaRuntime import Testing @MainActor diff --git a/USER_GUIDE.md b/USER_GUIDE.md index 6420ec4e..fba674c2 100644 --- a/USER_GUIDE.md +++ b/USER_GUIDE.md @@ -57,7 +57,6 @@ Now, in the `HelloSwift` Swift library, define a `struct` that provides the `mai ```swift import JavaKit -import JavaRuntime @JavaClass("org.swift.javakit.HelloSwiftMain") struct HelloSwiftMain { @@ -87,7 +86,6 @@ The easiest way to build a command-line program in Swift is with the [Swift argu ```swift import ArgumentParser import JavaKit -import JavaRuntime @JavaClass("org.swift.javakit.HelloSwiftMain") struct HelloSwiftMain: ParsableCommand { From 39d76f81b1611a346e104d910ca1570e23a97d76 Mon Sep 17 00:00:00 2001 From: Doug Gregor Date: Mon, 7 Oct 2024 10:53:44 -0700 Subject: [PATCH 2/2] Only build the JavaKitExample shared library itself as a dynamic library Everything else can be static --- Package.swift | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Package.swift b/Package.swift index dea2b000..84efccda 100644 --- a/Package.swift +++ b/Package.swift @@ -52,25 +52,21 @@ let package = Package( products: [ .library( name: "JavaKit", - type: .dynamic, targets: ["JavaKit"] ), .library( name: "JavaKitJar", - type: .dynamic, targets: ["JavaKitReflection"] ), .library( name: "JavaKitNetwork", - type: .dynamic, targets: ["JavaKitReflection"] ), .library( name: "JavaKitReflection", - type: .dynamic, targets: ["JavaKitReflection"] ), @@ -82,19 +78,16 @@ let package = Package( .library( name: "JavaKitVM", - type: .dynamic, targets: ["JavaKitVM"] ), .library( name: "JavaTypes", - type: .dynamic, targets: ["JavaTypes"] ), .library( name: "JExtractSwift", - type: .dynamic, targets: ["JExtractSwift"] ),