From 6b035d840cbf2762168cd5036ed2be2b8e6665ed Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 16 Apr 2025 15:14:23 +0200 Subject: [PATCH 1/5] chore: add java oopetris wrapper --- .gitmodules | 6 ++++++ wrapper/java | 1 + 2 files changed, 7 insertions(+) create mode 160000 wrapper/java diff --git a/.gitmodules b/.gitmodules index bec4aeaa..1d9146d1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,9 @@ path = wrapper/python url = https://github.com/Totto16/oopetris_wrapper_python.git ignore = dirty +[submodule "wrapper/java"] + path = wrapper/java + url = https://github.com/Totto16/oopetris_wrapper_java.git + ignore = dirty + + diff --git a/wrapper/java b/wrapper/java new file mode 160000 index 00000000..209d69fe --- /dev/null +++ b/wrapper/java @@ -0,0 +1 @@ +Subproject commit 209d69fee297430461f39d633c7c1160df823816 From d1c3de70f6e319292eb146341cc1a47c5f879bb9 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 16 Apr 2025 15:14:32 +0200 Subject: [PATCH 2/5] chore: update python wrapper --- wrapper/python | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrapper/python b/wrapper/python index be791d08..eef30b68 160000 --- a/wrapper/python +++ b/wrapper/python @@ -1 +1 @@ -Subproject commit be791d089dc22cee0e183ad97044a4cc2482926b +Subproject commit eef30b683085677c33977105b8dcc9aadb30fc9e From 8d4d8ac34aedb6f7784a953fbaa1aae70f815ed9 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 16 Apr 2025 15:15:03 +0200 Subject: [PATCH 3/5] chore: add java wrapper to docs --- wrapper/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrapper/README.md b/wrapper/README.md index 9442f12e..18e25547 100644 --- a/wrapper/README.md +++ b/wrapper/README.md @@ -19,10 +19,10 @@ Current: - C (C++ binding) - Haskell (C binding) - Python (C++ binding) +- Java (C++ binding) Planned: - Lua -- Java - Rust ## Other From 0cf7af91d1e7688ab61ee899506838035ea550b8 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 16 Apr 2025 15:23:25 +0200 Subject: [PATCH 4/5] chore: add OS table for the wrappers --- wrapper/README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/wrapper/README.md b/wrapper/README.md index 18e25547..f0233515 100644 --- a/wrapper/README.md +++ b/wrapper/README.md @@ -2,19 +2,21 @@ ## What is this -This are wrappers of some OOPetris functionaility in other languages. +These are wrappers of some OOPetris functionaility in other languages. They are all in submodules alias in a seperate git repo. They currently wrap this: + - OOPetris Recordings Planned: + - OOPetris AI support ## Languages - Current: + - Node.js (C++ binding) - C (C++ binding) - Haskell (C binding) @@ -22,9 +24,23 @@ Current: - Java (C++ binding) Planned: + - Lua - Rust +## OS Comaptibility table + +| Language | Linux | Windows | macOS | +| :------: | :---: | :-----: | :---: | +| JS | ✅ | ✅ | ✅ | +| C | ✅ | ✅ | ✅ | +| Haskell | ✅ | ✅ | ❌[^1] | +| Python | ✅ | ✅ | ⚠️[^2] | +| Java | ✅ | ✅ | ✅ | + +[^1]: A needed dependency doesn't yet compile on macOS +[^2]: Arm64 has some errors, that are related to the toolchain (pybind11) + ## Other For more information on how to get / build those, refer to the subfolders of the languages From 9d3dc914135957d0cb7f8b7a25842a591803f114 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Wed, 16 Apr 2025 15:34:02 +0200 Subject: [PATCH 5/5] fix: use correct lld@19 config for macos, see also #215 --- .github/workflows/build.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29d8d9f2..fb5df882 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -153,11 +153,10 @@ jobs: if: matrix.config.os == 'macos' run: | brew update - # TODO annotate with lld@19, after that is accepted, we don't want to use lld@20 without manually updating it ! - brew install llvm@19 lld - echo "$(brew --prefix)/opt/llvm/bin" >> $GITHUB_PATH - echo "LDFLAGS=-L$(brew --prefix)/opt/llvm/lib -L$(brew --prefix)/opt/llvm/lib/c++ -Wl,-rpath,$(brew --prefix)/opt/llvm/lib/c++" >> "$GITHUB_ENV" - echo "CPPFLAGS=-I$(brew --prefix)/opt/llvm/include" >> "$GITHUB_ENV" + brew install llvm@19 lld@19 + echo "$(brew --prefix)/opt/llvm@19/bin:$(brew --prefix)/opt/lld@19/bin" >> $GITHUB_PATH + echo "LDFLAGS=-L$(brew --prefix)/opt/llvm@19/lib -L$(brew --prefix)/opt/llvm@19/lib/c++ -Wl,-rpath,$(brew --prefix)/opt/llvm@19/lib/c++ -L$(brew --prefix)/opt/lld@19/lib" >> "$GITHUB_ENV" + echo "CPPFLAGS=-I$(brew --prefix)/opt/llvm@19/include -I$(brew --prefix)/opt/lld@19/include" >> "$GITHUB_ENV" echo "CC=clang" >> "$GITHUB_ENV" echo "CXX=clang++" >> "$GITHUB_ENV" echo "OBJC=clang" >> "$GITHUB_ENV"