We use VisualStudio version 13.4.1 for development - that is the version that our linters require.
You must also use dotnet
6. You can check your dotnet
version with:
dotnet --version
6.0.400
- Clone the repository
cd
into the repository- Open the package and this will install the dependencies
dotnet build
dotnet lint
dotnet build
dotnet test --verbosity normal --filter "TestU"
For integration tests, we use a rippled
node in standalone mode to test XRPLSwift code against. To set this up, you can either run rippled
locally, or set up the Docker container xrpllabsofficial/xrpld:1.12.0
for this purpose. The latter will require you to install Docker.
# sets up the rippled standalone Docker container - you can skip this step if you already have it set up
docker run -p 6006:6006 --interactive -t --volume $PWD/.ci-config:/config/ xrpllabsofficial/xrpld:1.12.0 -a --start
dotnet build
dotnet test--verbosity normal --filter "TestI"
You can see the complete reference documentation at XrplCSharp
docs. You can also generate them locally using cd DocFx && docfx
This updates docs/
at the top level, where GitHub Pages looks for the docs.
Use this repo to generate a new DefinitionsJson
file from the rippled source code. Instructions are available in that README.
- Your changes should have unit and/or integration tests.
- Your changes should pass the linter.
- Your code should pass all the tests on Github (which check the linter, unit and integration tests on Swift 5 tests).
- Open a PR against
main
and ensure that all CI passes. - Get a full code review from one of the maintainers.
- Merge your changes.
- Ensure that all tests passed on the last CI that ran on
main
.
NOW WE ARE READY TO PUBLISH! No new code changes happen manually now.
- Checkout
main
andgit pull
. - Create a new branch to capture updates that take place during this process.
git checkout -b <BRANCH_NAME>
- Update the version in the
XrplCSharp.csproj
file and all of the sub packages.
- Create a new PR from this branch into
main
and merge it. - Checkout
main
andgit pull
- Deploy using nuget
- Create a new PR from
main
branch intonuget_publish
and merge it. Action
for publish will start automaticaly. Wait for the publication to complete in theAction
section.
the package will be placed in nuget and git.Nuget(git owner @dangell7 )
before push you need to create nuget api key in project settings, if you still not have it)
NOW YOU HAVE PUBLISHED! But you're not done; we have to notify people!
- Pull the most recent changes to main locally.
- Run
git tag <tagname> -m <tagname>
, where<tagname>
is the new package and version (e.g.0.0.1
), for each version released. - Run
git push --follow-tags
, to push the tags to Github. - On Github, click the "releases" link on the right-hand side of the page.
- Click "Draft a new release"
- Click "Choose a tag", and choose a tag that you just created.
- Edit the name of the release to match the tag (IE <version>) and edit the description as you see fit.
- Repeat steps 19-21 for each release.
- Send an email to xrpl-announce.
We have a low-traffic mailing list for announcements of new XrplCSharp
releases. (About 1 email every couple of weeks)
If you're using the XRP Ledger in production, you should run a rippled server and subscribe to the ripple-server mailing list as well.