Skip to content

Commit

Permalink
Merge branch 'soroban' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
overcat authored Sep 12, 2023
2 parents adad474 + 9d21b19 commit 6304b09
Show file tree
Hide file tree
Showing 556 changed files with 42,097 additions and 2,600 deletions.
73 changes: 0 additions & 73 deletions .circleci/config.yml

This file was deleted.

160 changes: 160 additions & 0 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
name: "Test and Deploy"

on:
push:
branches:
- master
- soroban
pull_request:
release:
types:
- created

env:
JAVA_VERSION: '11'
JAVA_DISTRIBUTION: 'microsoft'

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: Test
run: ./gradlew check

shadow_jar:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: Build JAR
run: ./gradlew shadowJar
- name: Persist JAR Artifact
uses: actions/upload-artifact@v3
with:
name: jar
path: build/libs/stellar-sdk.jar

javadoc:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: Generate Documentation
run: ./gradlew javadoc
- name: Persist Documentation
uses: actions/upload-artifact@v3
with:
name: javadoc
path: javadoc

javadoc_jar:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: Generate javadocJar
run: ./gradlew javadocJar
- name: Persist javadocJar
uses: actions/upload-artifact@v3
with:
name: javadoc_jar
path: build/libs/stellar-sdk-javadoc.jar

android-test:
needs: shadow_jar
runs-on: macos-13
name: android-test (api ${{ matrix.emulator.api-level }})
strategy:
fail-fast: false
matrix:
# minSdk and targetSdk, see ${project_root}/android_test/app/build.gradle.kts
# TODO: Investigate why it is unstable on API 33.
emulator: [
{ api-level: 26, target: google_apis },
{ api-level: 33, target: playstore }
]
steps:
- name: checkout
uses: actions/checkout@v3
- name: Download JAR Artifact
uses: actions/download-artifact@v2
with:
name: jar
path: android_test/app/libs/
- uses: actions/setup-java@v3
with:
java-version: 17 # TODO: Android Gradle plugin requires Java 11, consider replacing other parts with Java 17.
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
working-directory: ./android_test
api-level: ${{ matrix.emulator.api-level }}
target: ${{ matrix.emulator.target }}
script: ./gradlew connectedCheck
arch: x86_64
profile: 'pixel_2'

deploy:
needs: [ javadoc, shadow_jar, javadoc_jar ] # TODO: add android-test when it is stable.
permissions:
contents: write
if: github.event_name == 'release' && github.event.action == 'created'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download JAR Artifact
uses: actions/download-artifact@v2
with:
name: jar
path: jar
- name: Download Java Documentation
uses: actions/download-artifact@v2
with:
name: javadoc
path: javadoc
- name: Download javadocJar
uses: actions/download-artifact@v2
with:
name: javadoc_jar
path: javadoc_jar
- name: Archive Documentation
run: tar -czf stellar-sdk-javadoc.tar.gz javadoc
- name: Upload artifacts to GitHub Release
uses: softprops/action-gh-release@v1
with:
files: |
jar/stellar-sdk.jar
javadoc_jar/stellar-sdk-javadoc.jar
stellar-sdk-javadoc.tar.gz
- name: Upload Documentation to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: javadoc

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,36 @@ As this project is pre 1.0, breaking changes may happen for minor version bumps.

## Pending

## 0.41.0-beta.3
* Fix the bug in Transaction.isSorobanTransaction to accommodate BumpFootprintExpirationOperation. ([#518](https://github.com/stellar/java-stellar-sdk/pull/518))

## 0.41.0-beta.2
* Migrate from CircleCI to GitHub Actions. ([#512](https://github.com/stellar/java-stellar-sdk/pull/512))

## 0.41.0-beta.1
* Use JDK 11 for CI builds. ([#511](https://github.com/stellar/java-stellar-sdk/issues/511))

## 0.41.0-beta.0
* Add support for Soroban Preview 10. ([#490](https://github.com/stellar/java-stellar-sdk/issues/490))
* Correct the data type of certain fields to store the expected design values. ([#497](https://github.com/stellar/java-stellar-sdk/pull/497))
* Add source account comparison to `ClawbackClaimableBalanceOperation`, `LiquidityPoolWithdrawOperation`, and `LiquidityPoolDepositOperation` for equality check. ([#484](https://github.com/stellar/java-stellar-sdk/pull/484))
* Add basic implementation of `liquidity_pools?account` ([#426](https://github.com/stellar/java-stellar-sdk/pull/426))

### Breaking changes
* `Utils.claimableBalanceIdToXDR` and `Utils.xdrToClaimableBalanceId` have been removed. ([#503](https://github.com/stellar/java-stellar-sdk/pull/503))
* The types of the following fields have changed. ([#498](https://github.com/stellar/java-stellar-sdk/pull/498))
| field | before | now |
| ----------------------------------------- | ------ | ---------- |
| LedgerBounds.minLedger | int | long |
| LedgerBounds.maxLedger | int | long |
| MemoId.id | long | BigInteger |
| TimeBounds.minTime | long | BigInteger |
| TimeBounds.maxTime | long | BigInteger |
| TransactionBuilder.baseFee | int | long |
| TransactionPreconditions.TIMEOUT_INFINITE | long | BigInteger |
| TransactionPreconditions.minSeqAge | Long | BigInteger |
| TransactionPreconditions.minSeqLedgerGap | int | long |

## 0.40.1
* Fix the issue of unable to parse liquidity_pool_revoked effect properly. ([#521](https://github.com/stellar/java-stellar-sdk/pull/521))
* Define cursor, order and limit in AssetsRequestBuilder object. ([#522](https://github.com/stellar/java-stellar-sdk/pull/522))
Expand Down
37 changes: 37 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
XDRS = xdr/Stellar-SCP.x \
xdr/Stellar-ledger-entries.x \
xdr/Stellar-ledger.x \
xdr/Stellar-overlay.x \
xdr/Stellar-transaction.x \
xdr/Stellar-types.x \
xdr/Stellar-contract-env-meta.x \
xdr/Stellar-contract-meta.x \
xdr/Stellar-contract-spec.x \
xdr/Stellar-contract.x \
xdr/Stellar-internal.x \
xdr/Stellar-contract-config-setting.x

XDRGEN_COMMIT=472eac8c5609d310d48bd8eed68aa24d2626df53
XDRNEXT_COMMIT=e372df9f677961aac04c5a4cc80a3667f310b29f

.PHONY: xdr xdr-clean xdr-update

xdr-generate: $(XDRS)
docker run -it --rm -v $$PWD:/wd -w /wd ruby /bin/bash -c '\
gem install specific_install -v 0.3.8 && \
gem specific_install https://github.com/stellar/xdrgen.git -b $(XDRGEN_COMMIT) && \
xdrgen \
--language java \
--namespace org.stellar.sdk.xdr \
--output src/main/java/org/stellar/sdk/xdr/ \
$(XDRS)'
./gradlew :spotlessApply

xdr/%.x:
curl -Lsf -o $@ https://raw.githubusercontent.com/stellar/stellar-xdr/$(XDRNEXT_COMMIT)/$(@F)

xdr-clean:
rm xdr/*.x || true
rm src/main/java/org/stellar/sdk/xdr/*.java || true

xdr-update: xdr-clean xdr-generate
16 changes: 0 additions & 16 deletions after_deploy.sh

This file was deleted.

15 changes: 15 additions & 0 deletions android_test/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
4 changes: 4 additions & 0 deletions android_test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Android Test
This folder contains a simple project for testing whether stellar-sdk can be successfully integrated into an Android project.

This project is based on a template project created using Android Studio, and I have tried my best not to make any excessive modifications.
1 change: 1 addition & 0 deletions android_test/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading

0 comments on commit 6304b09

Please sign in to comment.