Change script paths to langs directory

This commit is contained in:
Ross Savage
2024-05-21 15:38:13 +02:00
parent c6c5755973
commit 337b52d40e
19 changed files with 136 additions and 136 deletions

View File

@@ -96,15 +96,15 @@ jobs:
if: ${{ inputs.swift }}
working-directory: lib/bindings
run: |
cargo run --features=uniffi/cli --bin uniffi-bindgen generate src/breez_liquid_sdk.udl --no-format --language swift --out-dir swift/Sources/BreezLiquidSDK
mv swift/Sources/BreezLiquidSDK/breez_liquid_sdk.swift swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
cargo run --features=uniffi/cli --bin uniffi-bindgen generate src/breez_liquid_sdk.udl --no-format --language swift --out-dir langs/swift/Sources/BreezLiquidSDK
mv langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdk.swift langs/swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
- name: Archive Swift binding
if: ${{ inputs.swift }}
uses: actions/upload-artifact@v3
with:
name: bindings-swift
path: lib/bindings/swift/Sources/BreezLiquidSDK/*
path: lib/bindings/langs/swift/Sources/BreezLiquidSDK/*
- name: Build Python binding
if: ${{ inputs.python }}
@@ -117,7 +117,7 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: bindings-python
path: lib/bindings/ffi/python/breez_liquid_sdk.py
path: lib/bindings/ffi/langs/python/breez_liquid_sdk.py
# - name: Build C# binding
# if: ${{ inputs.csharp }}

View File

@@ -115,33 +115,33 @@ jobs:
run-bootstrap: false
- name: Initialize the workspace
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
run: |
just clean
just init
- name: Install flutter_rust_bridge_codegen dependencies
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
run: just frb
- name: Generate Dart/Flutter bindings
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
continue-on-error: true
run: |
just codegen
- name: Generate FFI bindings
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
continue-on-error: true
run: |
just ffigen
- name: Static Analysis
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
run: melos analyze
- name: Check Formatting
working-directory: lib/bindings/flutter/
working-directory: lib/bindings/langs/flutter/
run: melos check-format
- name: Check git status

View File

@@ -45,12 +45,12 @@ jobs:
- uses: actions/download-artifact@v3
with:
name: bindings-android-jniLibs
path: lib/bindings/android/lib/src/main/jniLibs
path: lib/bindings/langs/android/lib/src/main/jniLibs
- uses: actions/download-artifact@v3
with:
name: bindings-kotlin
path: lib/bindings/android/lib/src/main/kotlin
path: lib/bindings/langs/android/lib/src/main/kotlin
- name: Build Android project
working-directory: lib/bindings/android
@@ -62,7 +62,7 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: android-release.aar
path: lib/bindings/android/lib/build/outputs/aar/lib-release.aar
path: lib/bindings/langs/android/lib/build/outputs/aar/lib-release.aar
- name: Publish artifacts
if: ${{ inputs.publish }}
@@ -84,7 +84,7 @@ jobs:
# We're waiting for at most 60s before triggering the Jitpack build to give our Maven repo
# some time to process the just uploaded files (the Jitpack build is dependent upon them being available).
# If anything fails here, we'll still finish sucessfully as this is an optional optimization.
timeout 60 bash -c 'while [[ "$(curl --output /dev/null --silent --head --write-out ''%{http_code}'' https://mvn.breez.technology/releases/breez_liquid_sdk/android/${{ inputs.package-version }}/android-${{ inputs.package-version }}.pom)" != "200" ]]; do echo "Waiting for package to be published on mvn.breez.technology..." && sleep 5; done && echo "Package found."' || echo "Package not found." && true
timeout 60 bash -c 'while [[ "$(curl --output /dev/null --silent --head --write-out ''%{http_code}'' https://mvn.breez.technology/releases/breez_liquid_sdk/bindings-android/${{ inputs.package-version }}/android-${{ inputs.package-version }}.pom)" != "200" ]]; do echo "Waiting for package to be published on mvn.breez.technology..." && sleep 5; done && echo "Package found."' || echo "Package not found." && true
echo "Attempting to trigger Jitpack build..."
curl -s -m 30 https://jitpack.io/api/builds/com.github.breez/breez-liquid-sdk/${{ inputs.package-version }} || true
echo "Done"

View File

@@ -42,41 +42,41 @@ jobs:
- uses: actions/download-artifact@v3
with:
name: bindings-csharp
path: lib/bindings/csharp/src
path: lib/bindings/langs/csharp/src
- uses: actions/download-artifact@v3
with:
name: bindings-aarch64-apple-darwin
path: lib/bindings/csharp/src/runtimes/osx-arm64/native
path: lib/bindings/langs/csharp/src/runtimes/osx-arm64/native
- uses: actions/download-artifact@v3
with:
name: bindings-x86_64-apple-darwin
path: lib/bindings/csharp/src/runtimes/osx-x64/native
path: lib/bindings/langs/csharp/src/runtimes/osx-x64/native
- uses: actions/download-artifact@v3
with:
name: bindings-aarch64-unknown-linux-gnu
path: lib/bindings/csharp/src/runtimes/linux-arm64/native
path: lib/bindings/langs/csharp/src/runtimes/linux-arm64/native
- uses: actions/download-artifact@v3
with:
name: bindings-x86_64-unknown-linux-gnu
path: lib/bindings/csharp/src/runtimes/linux-x64/native
path: lib/bindings/langs/csharp/src/runtimes/linux-x64/native
- uses: actions/download-artifact@v3
with:
name: bindings-x86_64-pc-windows-msvc
path: lib/bindings/csharp/src/runtimes/win-x64/native
path: lib/bindings/langs/csharp/src/runtimes/win-x64/native
- uses: actions/download-artifact@v3
with:
name: bindings-i686-pc-windows-msvc
path: lib/bindings/csharp/src/runtimes/win-x86/native
path: lib/bindings/langs/csharp/src/runtimes/win-x86/native
- name: Update package version
if: ${{ inputs.package-version }}
working-directory: lib/bindings/csharp/src
working-directory: lib/bindings/langs/csharp/src
run: sed -i.bak -e 's/<Version>.*<\/Version>/<Version>${{ inputs.package-version }}<\/Version>/' Breez.Liquid.Sdk.csproj
- name: Setup dotnet
@@ -85,18 +85,18 @@ jobs:
dotnet-version: '6.0.x'
- name: Build the project
working-directory: lib/bindings/csharp/src
working-directory: lib/bindings/langs/csharp/src
run: dotnet build Breez.Liquid.Sdk.csproj
- name: Create the package
working-directory: lib/bindings/csharp/src
working-directory: lib/bindings/langs/csharp/src
run: dotnet pack --configuration Release Breez.Liquid.Sdk.csproj
- name: Archive the package
uses: actions/upload-artifact@v3
with:
name: Breez.Liquid.Sdk.${{ inputs.package-version || '0.0.1' }}.nupkg
path: lib/bindings/csharp/src/bin/Release/Breez.Liquid.Sdk.*.nupkg
path: lib/bindings/langs/csharp/src/bin/Release/Breez.Liquid.Sdk.*.nupkg
test-package:
needs: build-package
@@ -121,7 +121,7 @@ jobs:
if: ${{ !inputs.skip-tests }}
with:
name: Breez.Liquid.Sdk.${{ inputs.package-version || '0.0.1' }}.nupkg
path: lib/bindings/csharp/src/bin/Release
path: lib/bindings/langs/csharp/src/bin/Release
- name: Setup dotnet
if: ${{ !inputs.skip-tests }}
@@ -131,7 +131,7 @@ jobs:
- name: test package
if: ${{ !inputs.skip-tests }}
working-directory: lib/bindings/csharp/test
working-directory: lib/bindings/langs/csharp/test
run: dotnet run
publish-package:

View File

@@ -53,19 +53,19 @@ jobs:
rm -r ios
rm -r android
rm -r lib
cp -r ../build/lib/bindings/flutter/ios .
cp -r ../build/lib/bindings/langs/flutter/ios .
mv ios/breez_liquid_sdk.podspec.production ios/breez_liquid_sdk.podspec
cp -r ../build/lib/bindings/flutter/android .
mv android/build.gradle.production android/build.gradle
cp -r ../build/lib/bindings/flutter/lib .
cp ../build/lib/bindings/flutter/pubspec.yaml .
cp ../build/lib/bindings/flutter/pubspec.lock .
cp -r ../build/lib/bindings/langs/flutter/android .
mv langs/android/build.gradle.production langs/android/build.gradle
cp -r ../build/lib/bindings/langs/flutter/lib .
cp ../build/lib/bindings/langs/flutter/pubspec.yaml .
cp ../build/lib/bindings/langs/flutter/pubspec.lock .
- name: Copy docs
working-directory: dist
run: |
cp ../build/lib/bindings/flutter/README.pub.md README.md || true
cp ../build/lib/bindings/flutter/CHANGELOG.md . || true
cp ../build/lib/bindings/langs/flutter/README.pub.md README.md || true
cp ../build/lib/bindings/langs/flutter/CHANGELOG.md . || true
- uses: actions/download-artifact@v3
with:
@@ -76,10 +76,10 @@ jobs:
working-directory: dist
run: |
sed -i.bak -e 's/version:.*/version: ${{ inputs.package-version }}/' pubspec.yaml
sed -i.bak -e "s/^version .*/version '${{ inputs.package-version }}'/" android/build.gradle
sed -i.bak -e "s/^version .*/version '${{ inputs.package-version }}'/" langs/android/build.gradle
sed -i.bak -e "s/^tag_version = .*/tag_version = '${{ inputs.package-version }}'/" ios/breez_liquid_sdk.podspec
rm pubspec.yaml.bak
rm android/build.gradle.bak
rm langs/android/build.gradle.bak
rm ios/breez_liquid_sdk.podspec.bak
- name: Archive flutter release

View File

@@ -45,32 +45,32 @@ jobs:
- uses: actions/download-artifact@v3
with:
name: bindings-android-jniLibs
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/jniLibs
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/jniLibs
- uses: actions/download-artifact@v3
with:
name: bindings-kotlin-multiplatform
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/src
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src
- name: Copy jvmMain
working-directory: lib/bindings
run: |
cp -r kotlin-multiplatform/breez-liquid-sdk-kmp/src/jvmMain/kotlin kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/
cp -r langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/jvmMain/kotlin langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/
- uses: actions/download-artifact@v3
with:
name: bindings-aarch64-apple-ios
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64
- uses: actions/download-artifact@v3
with:
name: bindings-aarch64-apple-ios-sim
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64
- uses: actions/download-artifact@v3
with:
name: bindings-x86_64-apple-ios
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64
- name: Build Kotlin Multiplatform project
working-directory: lib/bindings/kotlin-multiplatform
@@ -82,7 +82,7 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: kotlin-multiplatform-release.aar
path: lib/bindings/kotlin-multiplatform/breez-liquid-sdk-kmp/build/outputs/aar/breez-liquid-sdk-kmp-release.aar
path: lib/bindings/langs/kotlin-multiplatform/breez-liquid-sdk-kmp/build/outputs/aar/breez-liquid-sdk-kmp-release.aar
- name: Publish artifacts
if: ${{ inputs.publish }}

View File

@@ -45,16 +45,16 @@ jobs:
- uses: actions/download-artifact@v3
with:
name: bindings-darwin-universal
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- uses: actions/download-artifact@v3
with:
name: bindings-python
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- name: Clean up downloaded files
run: |
rm -f lib/bindings/python/src/breez_liquid_sdk/*.a
rm -f lib/bindings/langs/python/src/breez_liquid_sdk/*.a
ls -R lib/bindings/python
- name: Update package version
@@ -71,14 +71,14 @@ jobs:
run: python3 setup.py bdist_wheel --plat-name macosx_11_0_universal2 --verbose
- name: List wheel contents
working-directory: lib/bindings/python/dist
working-directory: lib/bindings/langs/python/dist
run: python3 -m zipfile --list *.whl || true
- name: Archive the wheel
uses: actions/upload-artifact@v3
with:
name: python-wheel-${{ matrix.python }}-macos
path: lib/bindings/python/dist/*.whl
path: lib/bindings/langs/python/dist/*.whl
build-linux-wheels:
runs-on: ubuntu-20.04
@@ -101,12 +101,12 @@ jobs:
- uses: actions/download-artifact@v3
with:
name: bindings-${{ matrix.arch }}-unknown-linux-gnu
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- uses: actions/download-artifact@v3
with:
name: bindings-python
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- name: Update package version
if: ${{ inputs.package-version }}
@@ -124,7 +124,7 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: python-wheel-${{ matrix.python }}-manylinux_2_31_${{ matrix.arch }}
path: lib/bindings/python/dist/*.whl
path: lib/bindings/langs/python/dist/*.whl
build-windows-wheels:
runs-on: windows-latest
@@ -148,22 +148,22 @@ jobs:
if: matrix.arch == 'win_amd64'
with:
name: bindings-x86_64-pc-windows-msvc
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- uses: actions/download-artifact@v3
if: matrix.arch == 'win32'
with:
name: bindings-i686-pc-windows-msvc
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- uses: actions/download-artifact@v3
with:
name: bindings-python
path: lib/bindings/python/src/breez_liquid_sdk
path: lib/bindings/langs/python/src/breez_liquid_sdk
- name: Copy VC redistributable DLLs for Windows
if: matrix.arch == 'win_amd64'
working-directory: lib/bindings/python/src/breez_liquid_sdk
working-directory: lib/bindings/langs/python/src/breez_liquid_sdk
run: |
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\msvcp140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140.dll') .
@@ -171,7 +171,7 @@ jobs:
- name: Copy VC redistributable DLLs for Windows
if: matrix.arch == 'win32'
working-directory: lib/bindings/python/src/breez_liquid_sdk
working-directory: lib/bindings/langs/python/src/breez_liquid_sdk
run: |
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x86\*\msvcp140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x86\*\vcruntime140.dll') .
@@ -192,7 +192,7 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: python-wheel-${{ matrix.python }}-${{ matrix.arch }}
path: lib/bindings/python/dist/*.whl
path: lib/bindings/langs/python/dist/*.whl
publish-package:
runs-on: ubuntu-latest
@@ -207,7 +207,7 @@ jobs:
- name: Download wheels
uses: actions/download-artifact@v3
with:
path: lib/bindings/python/dist/
path: lib/bindings/langs/python/dist/
- name: Clean downloaded contents
working-directory: lib/bindings/python
@@ -222,4 +222,4 @@ jobs:
verbose: true
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: lib/bindings/python/dist/*/
packages_dir: lib/bindings/langs/python/dist/*/

View File

@@ -72,16 +72,16 @@ jobs:
- name: Copy swift bindings
run: |
mkdir -p build/lib/bindings/swift/Sources/BreezLiquidSDK
cp swift/BreezLiquidSDK.swift build/lib/bindings/swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
cp swift/breez_liquid_sdkFFI.h build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/Headers
cp swift/breez_liquid_sdkFFI.h build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/Headers
cp swift/breez_liquid_sdkFFI.h build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/Headers
mkdir -p build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp aarch64-apple-ios/libbreez_liquid_sdk_bindings.a build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
mkdir -p build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ios-universal-sim/libbreez_liquid_sdk_bindings.a build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp darwin-universal/libbreez_liquid_sdk_bindings.a build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
mkdir -p build/lib/bindings/langs/swift/Sources/BreezLiquidSDK
cp langs/swift/BreezLiquidSDK.swift build/lib/bindings/langs/swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
cp langs/swift/breez_liquid_sdkFFI.h build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/Headers
cp langs/swift/breez_liquid_sdkFFI.h build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/Headers
cp langs/swift/breez_liquid_sdkFFI.h build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/Headers
mkdir -p build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp aarch64-apple-ios/libbreez_liquid_sdk_bindings.a build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
mkdir -p build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ios-universal-sim/libbreez_liquid_sdk_bindings.a build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp darwin-universal/libbreez_liquid_sdk_bindings.a build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
- name: Compress XCFramework
working-directory: build/lib/bindings/swift
@@ -92,7 +92,7 @@ jobs:
- name: Update Swift Package definition
working-directory: build/lib/bindings/swift
run: |
sed 's#.binaryTarget(name: "breez_liquid_sdkFFI", path: "./breez_liquid_sdkFFI.xcframework"),#.binaryTarget(name: "breez_liquid_sdkFFI", url: "https://github.com/breez/breez-liquid-sdk-swift/releases/download/${{ inputs.package-version || '0.0.1' }}/breez_liquid_sdkFFI.xcframework.zip", checksum: "${{ env.XCF_CHECKSUM }}"),#;/.testTarget(name: "BreezLiquidSDKTests", dependencies: \["BreezLiquidSDK"\]),/d' Package.swift > ../../../../dist/Package.swift
sed 's#.binaryTarget(name: "breez_liquid_sdkFFI", path: "./breez_liquid_sdkFFI.xcframework"),#.binaryTarget(name: "breez_liquid_sdkFFI", url: "https://github.com/breez/breez-liquid-sdk-langs/swift/releases/download/${{ inputs.package-version || '0.0.1' }}/breez_liquid_sdkFFI.xcframework.zip", checksum: "${{ env.XCF_CHECKSUM }}"),#;/.testTarget(name: "BreezLiquidSDKTests", dependencies: \["BreezLiquidSDK"\]),/d' Package.swift > ../../../../dist/Package.swift
cp -r Sources ../../../../dist
- name: Update Cocoapods definitions
@@ -120,7 +120,7 @@ jobs:
if: ${{ inputs.publish }}
uses: ncipollo/release-action@v1
with:
artifacts: "build/lib/bindings/swift/breez_liquid_sdkFFI.xcframework.zip"
artifacts: "build/lib/bindings/langs/swift/breez_liquid_sdkFFI.xcframework.zip"
tag: ${{ inputs.package-version || '0.0.1' }}
token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ inputs.package-version || '0.0.1' }}

View File

@@ -1,6 +1,6 @@
rust_input: ../../core/src/bindings.rs
dart_output: ../../../packages/dart/lib/src
rust_output: ../../core/src/frb/bridge.rs
rust_input: ../../../core/src/bindings.rs
dart_output: ../../../../packages/dart/lib/src
rust_output: ../../../core/src/frb/bridge.rs
c_output: breez_liquid_sdk/include/breez_liquid_sdk.h
web: false
full_dep: true

View File

@@ -1,4 +1,4 @@
curr_version := "breez_liquid-v" + `awk '/^version: /{print $2}' ../../../packages/dart/pubspec.yaml`
curr_version := "breez_liquid-v" + `awk '/^version: /{print $2}' ../../../../packages/dart/pubspec.yaml`
frb_bin := "flutter_rust_bridge_codegen generate"
export CARGO_TERM_COLOR := "always"
@@ -31,17 +31,17 @@ gen: codegen && ffigen
# Generate Dart/Flutter bindings && softlink C headers
codegen:
{{frb_bin}}
cd ../../../packages/dart/lib/src && dart format -l 110 .
-ln -sf $(pwd)/breez_liquid_sdk/include/breez_liquid_sdk.h ../../../packages/flutter/ios/Classes/breez_liquid_sdk.h
-ln -sf $(pwd)/breez_liquid_sdk/include/breez_liquid_sdk.h ../../../packages/flutter/macos/Classes/breez_liquid_sdk.h
cd ../../../../packages/dart/lib/src && dart format -l 110 .
-ln -sf $(pwd)/breez_liquid_sdk/include/breez_liquid_sdk.h ../../../../packages/flutter/ios/Classes/breez_liquid_sdk.h
-ln -sf $(pwd)/breez_liquid_sdk/include/breez_liquid_sdk.h ../../../../packages/flutter/macos/Classes/breez_liquid_sdk.h
# Generate FFI bindings
ffigen:
cd ../../../packages/flutter/ && flutter pub run ffigen --config ffigen.yaml && dart format -l 110 ./lib/flutter_breez_liquid_bindings_generated.dart
cd ../../../../packages/flutter/ && flutter pub run ffigen --config ffigen.yaml && dart format -l 110 ./lib/flutter_breez_liquid_bindings_generated.dart
# Builds the local library for testing
build *args:
cargo build --package breez-liquid-sdk --manifest-path ../../core/Cargo.toml --features frb {{args}}
cargo build --package breez-liquid-sdk --manifest-path ../../../core/Cargo.toml --features frb {{args}}
build-apple *args:
dart scripts/build_apple.dart {{args}}
@@ -69,11 +69,11 @@ test-dart build='true':
# Softlinks library archives from platform-build to their expected locations
link:
-ln -sf $(pwd)/platform-build/breez_liquid_sdk.xcframework.zip ../../../packages/flutter/macos/Frameworks/{{curr_version}}.zip
-ln -sf $(pwd)/platform-build/breez_liquid_sdk.xcframework.zip ../../../packages/flutter/ios/Frameworks/{{curr_version}}.zip
-ln -sf $(pwd)/platform-build/other.tar.gz ../../../packages/flutter/linux/{{curr_version}}.tar.gz
-ln -sf $(pwd)/platform-build/other.tar.gz ../../../packages/flutter/windows/{{curr_version}}.tar.gz
-ln -sf $(pwd)/platform-build/android.tar.gz ../../../packages/flutter/android/{{curr_version}}.tar.gz
-ln -sf $(pwd)/platform-build/breez_liquid_sdk.xcframework.zip ../../../../packages/flutter/macos/Frameworks/{{curr_version}}.zip
-ln -sf $(pwd)/platform-build/breez_liquid_sdk.xcframework.zip ../../../../packages/flutter/ios/Frameworks/{{curr_version}}.zip
-ln -sf $(pwd)/platform-build/other.tar.gz ../../../../packages/flutter/linux/{{curr_version}}.tar.gz
-ln -sf $(pwd)/platform-build/other.tar.gz ../../../../packages/flutter/windows/{{curr_version}}.tar.gz
-ln -sf $(pwd)/platform-build/android.tar.gz ../../../../packages/flutter/android/{{curr_version}}.tar.gz
# (melos) use instead of flutter pub get
init *args:

View File

@@ -10,10 +10,10 @@ ignore:
commands:
bootstrap:
hooks:
post: cargo check --manifest-path ../../core/Cargo.toml --features frb
post: cargo check --manifest-path ../../../core/Cargo.toml --features frb
clean:
hooks:
pre: cargo clean --manifest-path ../../core/Cargo.toml --features frb
pre: cargo clean --manifest-path ../../../core/Cargo.toml --features frb
version:
hooks:
preCommit: bash scripts/version.sh

View File

@@ -19,7 +19,7 @@ rustup target add \
# Build the android libraries in the jniLibs directory
cargo ndk -o $JNI_DIR \
--manifest-path ../../../core/Cargo.toml \
--manifest-path ../../../../core/Cargo.toml \
-t aarch64-linux-android \
-t armv7-linux-androideabi \
-t i686-linux-android \

View File

@@ -68,7 +68,7 @@ Future<void> mainImpl(List<String> args) async {
Directory.current = buildDir;
final outputs = targets.map((target) {
return observer.mark('../../../target/$target/$profile/$libName');
return observer.mark('../../../../target/$target/$profile/$libName');
}).toList();
for (final target in targets) {
@@ -96,21 +96,21 @@ Future<void> mainImpl(List<String> args) async {
'-library $lipoOut -headers $headers '
'-output $framework');
} else {
final armIos = '../../../target/aarch64-apple-ios/$profile/$libName';
final armIos = '../../../../target/aarch64-apple-ios/$profile/$libName';
var shouldBuildFramework = !fileExists(frameworkZip) || observer.hasChanged(armIos);
if (!fileExists(iosSimLipo) ||
outputs.where((output) => output.contains('ios')).any(observer.hasChanged)) {
shouldBuildFramework = true;
await run('lipo -create -output $iosSimLipo '
'../../../target/aarch64-apple-ios-sim/$profile/$libName '
'../../../target/x86_64-apple-ios/$profile/$libName ');
'../../../../target/aarch64-apple-ios-sim/$profile/$libName '
'../../../../target/x86_64-apple-ios/$profile/$libName ');
}
if (!fileExists(macLipo) ||
outputs.where((output) => output.contains('darwin')).any(observer.hasChanged)) {
shouldBuildFramework = true;
await run('lipo -create -output $macLipo '
'../../../target/aarch64-apple-darwin/$profile/$libName '
'../../../target/x86_64-apple-darwin/$profile/$libName');
'../../../../target/aarch64-apple-darwin/$profile/$libName '
'../../../../target/x86_64-apple-darwin/$profile/$libName');
}
if (shouldBuildFramework) {
await run('xcodebuild -create-xcframework '

View File

@@ -48,7 +48,7 @@ Future<void> mainImpl(List<String> args) async {
await run('rustup target add $triple');
await run('${target.compiler} --target $triple $profileArg', args: compilerOpts);
await run('mkdir -p $flutterIdentifier');
await run('cp ../../../target/$triple/$profile/${target.libName} $flutterIdentifier/');
await run('cp ../../../../target/$triple/$profile/${target.libName} $flutterIdentifier/');
}
final hasLinux = targets.any((target) => !target.isWindows);

View File

@@ -19,7 +19,7 @@ zig_build () {
rustup target add "$TARGET"
cargo zigbuild --package breez-liquid-sdk --target "$TARGET" --profile $PROFILE
mkdir "$PLATFORM_NAME"
cp "../../../target/$TARGET/$PROFILE/$LIBNAME" "$PLATFORM_NAME/"
cp "../../../../target/$TARGET/$PROFILE/$LIBNAME" "$PLATFORM_NAME/"
}
win_build () {
@@ -30,7 +30,7 @@ win_build () {
rustup target add "$TARGET"
cargo xwin build --package breez-liquid-sdk --target "$TARGET" --profile $PROFILE
mkdir "$PLATFORM_NAME"
cp "../../../target/$TARGET/$PROFILE/$LIBNAME" "$PLATFORM_NAME/"
cp "../../../../target/$TARGET/$PROFILE/$LIBNAME" "$PLATFORM_NAME/"
}
PROFILE=frb-min

View File

@@ -1,13 +1,13 @@
.PHONY: init
init:
make -C ../ init
make -C ../../ init
darwin:
make -C ../ python-darwin
cp ../ffi/python/breez_liquid_sdk.py src/breez_liquid_sdk
cp ../ffi/python/libbreez_liquid_sdk_bindings.dylib src/breez_liquid_sdk
make -C ../../ python-darwin
cp ../../ffi/python/breez_liquid_sdk.py src/breez_liquid_sdk
cp ../../ffi/python/libbreez_liquid_sdk_bindings.dylib src/breez_liquid_sdk
linux:
make -C ../ python-linux
cp ../ffi/python/breez_liquid_sdk.py src/breez_liquid_sdk
cp ../ffi/python/libbreez_liquid_sdk_bindings.so src/breez_liquid_sdk
make -C ../../ python-linux
cp ../../ffi/python/breez_liquid_sdk.py src/breez_liquid_sdk
cp ../../ffi/python/libbreez_liquid_sdk_bindings.so src/breez_liquid_sdk

View File

@@ -16,7 +16,7 @@ pub(crate) struct Cli {
fn main() {
let cli = Cli::parse();
let cli_binding_dir = cli.binding_dir.unwrap_or("../".into());
let cli_binding_dir = cli.binding_dir.unwrap_or("../../".into());
let cli_out_dir = cli.out_dir.unwrap_or("./".into());
let binding_dir = Utf8Path::new(cli_binding_dir.as_str());
let udl_file = binding_dir.join(Utf8Path::new("src/breez_liquid_sdk.udl"));

View File

@@ -56,11 +56,11 @@ x86_64-linux-android: $(SOURCES) ndk-home
cp -a $(ANDROID_NDK_HOME)/toolchains/llvm/prebuilt/$(OS_NAME)-x86_64/sysroot/usr/lib/x86_64-linux-android/libc++_shared.so ffi/kotlin/jniLibs/x86_64/
bindings-android: android
cp -r ffi/kotlin/jniLibs android/lib/src/main
cp -r ffi/kotlin/breez_liquid_sdk android/lib/src/main/kotlin/
cp -r ffi/kotlin/jniLibs langs/android/lib/src/main
cp -r ffi/kotlin/breez_liquid_sdk langs/android/lib/src/main/kotlin/
cd android && ./gradlew assemble
mkdir -p ffi/android
cp android/lib/build/outputs/aar/lib-release.aar ffi/android
cp langs/android/lib/build/outputs/aar/lib-release.aar ffi/android
## Kotlin
.PHONY: kotlin
@@ -69,20 +69,20 @@ kotlin: $(SOURCES)
cargo run --features=uniffi/cli --bin uniffi-bindgen generate src/breez_liquid_sdk.udl --no-format --language kotlin -o ffi/kotlin
bindings-kotlin-multiplatform: ios-universal android
mkdir -p kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain
cp -r ffi/kotlin/jniLibs/ kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/jniLibs/
cp -r ffi/kmp/* kotlin-multiplatform/breez-liquid-sdk-kmp/src/
mkdir -p langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain
cp -r ffi/kotlin/jniLibs/ langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/jniLibs/
cp -r ffi/kmp/* langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/
cp -r kotlin-multiplatform/breez-liquid-sdk-kmp/src/jvmMain/kotlin kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/
cp -r langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/jvmMain/kotlin langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/androidMain/
mkdir -p kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64/
mkdir -p kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64/
mkdir -p kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64/
mkdir -p langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64/
mkdir -p langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64/
mkdir -p langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64/
cp ../target/aarch64-apple-ios/release/libbreez_liquid_sdk_bindings.a kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64/
cp ../target/aarch64-apple-ios-sim/release/libbreez_liquid_sdk_bindings.a kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64/
cp ../target/x86_64-apple-ios/release/libbreez_liquid_sdk_bindings.a kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64/
cd kotlin-multiplatform && ./gradlew :breez-liquid-sdk-kmp:assemble
cp ../target/aarch64-apple-ios/release/libbreez_liquid_sdk_bindings.a langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-arm64/
cp ../target/aarch64-apple-ios-sim/release/libbreez_liquid_sdk_bindings.a langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-arm64/
cp ../target/x86_64-apple-ios/release/libbreez_liquid_sdk_bindings.a langs/kotlin-multiplatform/breez-liquid-sdk-kmp/src/lib/ios-simulator-x64/
cd langs/kotlin-multiplatform && ./gradlew :breez-liquid-sdk-kmp:assemble
## Apple
ios-universal: $(SOURCES)
@@ -115,17 +115,17 @@ swift-darwin: darwin-universal
cd ffi/swift-darwin && "swiftc" "-emit-module" "-module-name" "breez_liquid_sdk_bindings" "-Xcc" "-fmodule-map-file=$(CURRENT_DIR)/ffi/swift-darwin/breez_liquid_sdkFFI.modulemap" "-I" "." "-L" "." "-lbreez_liquid_sdk_bindings" breez_liquid_sdk.swift
bindings-swift: ios-universal darwin-universal
mkdir -p swift/Sources/BreezLiquidSDK
cargo run --features=uniffi/cli --bin uniffi-bindgen generate src/breez_liquid_sdk.udl --no-format --language swift -o swift/Sources/BreezLiquidSDK
mv swift/Sources/BreezLiquidSDK/breez_liquid_sdk.swift swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
cp swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/Headers
cp swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/Headers
cp swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/Headers
cp ../target/aarch64-apple-ios/release/libbreez_liquid_sdk_bindings.a swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ../target/ios-universal-sim/release/libbreez_liquid_sdk_bindings.a swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ../target/darwin-universal/release/libbreez_liquid_sdk_bindings.a swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
rm swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h
rm swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.modulemap
mkdir -p langs/swift/Sources/BreezLiquidSDK
cargo run --features=uniffi/cli --bin uniffi-bindgen generate src/breez_liquid_sdk.udl --no-format --language swift -o langs/swift/Sources/BreezLiquidSDK
mv langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdk.swift langs/swift/Sources/BreezLiquidSDK/BreezLiquidSDK.swift
cp langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/Headers
cp langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/Headers
cp langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h langs/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/Headers
cp ../target/aarch64-apple-ios/release/libbreez_liquid_sdk_bindings.a langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ../target/ios-universal-sim/release/libbreez_liquid_sdk_bindings.a langs/swift/breez_liquid_sdkFFI.xcframework/ios-arm64_x86_64-simulator/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
cp ../target/darwin-universal/release/libbreez_liquid_sdk_bindings.a langs/swift/breez_liquid_sdkFFI.xcframework/macos-arm64_x86_64/breez_liquid_sdkFFI.framework/breez_liquid_sdkFFI
rm langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.h
rm langs/swift/Sources/BreezLiquidSDK/breez_liquid_sdkFFI.modulemap
## Python
python-linux: $(SOURCES)
@@ -140,4 +140,4 @@ python-darwin: darwin-universal
## React Native
.PHONY: react-native
react-native:
make -C react-native codegen
make -C langs/react-native codegen

View File

@@ -10,9 +10,9 @@ all: android ios react-native
react-native:
make -C ../../lib/bindings react-native
cp -r ../../lib/bindings/react-native/android/* android/
cp -r ../../lib/bindings/react-native/ios/* ios/
cp -r ../../lib/bindings/react-native/ts/src/* src/
cp -r ../../lib/bindings/langs/react-native/android/* android/
cp -r ../../lib/bindings/langs/react-native/ios/* ios/
cp -r ../../lib/bindings/langs/react-native/ts/src/* src/
android-make:
make -C ../../lib/bindings android
@@ -35,7 +35,7 @@ ios-make:
ios-copy:
rm -rf ios/bindings-swift
cp -r ../../lib/bindings/swift ios/bindings-swift
cp -r ../../lib/bindings/langs/swift ios/bindings-swift
rm -f ios/bindings-swift/Package.swift
ios: ios-make ios-copy