Skip to content

Commit 8de85be

Browse files
authored
Merge pull request #266 from swiftlang/wip-readme
2 parents 60d0b00 + b7781cb commit 8de85be

File tree

1 file changed

+7
-23
lines changed

1 file changed

+7
-23
lines changed

README.md

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,9 @@ To build and use this project, currently, you will need to download a custom too
2222

2323
**Required toolchain download:**
2424

25-
- Go to https://www.swift.org/download/
26-
- Find the "latest" `Trunk Development (main)` toolchain for your OS
27-
28-
If these are too old, you can resort to one of these fallback toolchains:
29-
30-
Fallback development toolchain on **macOS**:
31-
32-
- https://ci.swift.org/job/swift-PR-toolchain-macos/1539/artifact/branch-main/swift-PR-76905-1539-osx.tar.gz
33-
34-
Fallback development toolchain on **Linux (Ubuntu 22.04)**:
35-
36-
```
37-
URL=$(curl -s "https://ci.swift.org/job/oss-swift-package-ubuntu-22_04/lastSuccessfulBuild/consoleText" | grep 'Toolchain: ' | sed 's/Toolchain: //g')
38-
wget ${URL}
39-
```
40-
41-
or just use the provided docker image (explained below).
42-
43-
https://www.swift.org/download/
25+
Currently this project supports Swift `6.0.x` and we are working on supporting later releases.
4426

27+
You can use Swiftly ([macOS](https://www.swift.org/install/macos/swiftly/) / [linux](https://www.swift.org/install/linux/swiftly/)) the Swift toolchain installer to install the necessary Swift versions.
4528

4629
### Required JDK versions
4730

@@ -50,16 +33,18 @@ This project consists of different modules which have different Swift and Java r
5033
**JavaKit** – the Swift macros allowing the invocation of Java libraries from Swift
5134

5235
- **JDK 17+**, any recent JDK installation should be sufficient, as only general reflection and JNI APIs are used by this integration
53-
- **Swift 6.0+**, because the library uses modern Swift macros
36+
- **Swift 6.0.x**, because the library uses modern Swift macros
5437

5538
**jextract-swift** – the source generator that ingests .swiftinterface files and makes them available to be called from generated Java sources
5639

57-
- **Swift 6.x development snapshots**, because of dependence on rich swift interface files
40+
- **Swift 6.0.x development snapshots**, because of dependence on rich swift interface files
5841
- **JDK 22+** because of dependence on [JEP-454: Foreign Function & Memory API](https://openjdk.org/jeps/454)
5942
- We are validating the implementation using the currently supported non-LTE release, which at present means JDK-23.
6043

6144
The extract tool may become able to generate legacy compatible sources, which would not require JEP-454 and would instead rely on existing JNI facilities. Currently though, efforts are focused on the forward-looking implementation using modern foreign function and memory APIs.
6245

46+
Support for more recent Swift versions will be provided, for now please stick to 6.0 while evaluating this early version of swift-java.
47+
6348
## Development and Testing
6449

6550
This project contains multiple builds, living side by side together.
@@ -89,8 +74,7 @@ To run a simple app showcasing a Swift process calling into a Java library you c
8974

9075
```bash
9176
cd Samples/JavaKitSampleApp
92-
swift build
93-
java -cp .build/plugins/outputs/javakitsampleapp/JavaKitExample/destination/JavaCompilerPlugin/Java -Djava.library.path=.build/debug com.example.swift.JavaKitSampleMain
77+
./ci-validate.sh # which is just `swift build` and a `java -cp ...` invocation of the compiled program
9478
```
9579

9680
#### jextract (Java -> Swift)

0 commit comments

Comments
 (0)