Skip to content

Commit

Permalink
Merge pull request #361 from Yubico/dev-docs
Browse files Browse the repository at this point in the history
Improve developer docs
  • Loading branch information
emlun authored Jun 4, 2024
2 parents 33f31b3 + 45a2bcf commit b7b5893
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 4 deletions.
6 changes: 6 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -849,3 +849,9 @@ built artifacts.
Official Yubico software signing keys are listed on the
https://developers.yubico.com/Software_Projects/Software_Signing.html[Yubico
Developers site].


[#development]
=== Development

See the link:https://github.com/Yubico/java-webauthn-server/blob/main/doc/development.md[developer docs].
35 changes: 31 additions & 4 deletions doc/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@ Developer docs
===


JDK versions
---

The project's official build JDK version is the latest LTS JDK version,
although the project may lag behind the true latest release for a while
until we can upgrade the build definition to match this target.

The official build JDK version currently in effect is encoded in the
["Reproducible binary"](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml)
workflow,
as the JDK version is crucial for successfully reproducing released binaries.
This version is also enforced in the release process in
[`build.gradle`](https://github.com/Yubico/java-webauthn-server/blob/main/build.gradle).

The [primary build workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/build.yml)
should run on all currently maintaned LTS JDK versions,
and ideally also the latest non-LTS JDK version if Gradle and other build dependencies are compatible.

A list of JDK versions and maintenance status can be found [here](https://en.wikipedia.org/wiki/Java_version_history).


Code formatting
---

Use `./gradlew spotlessApply` to run the automatic code formatter.
You can also run it in continuous mode as `./gradlew --continuous spotlessApply`
to reformat whenever a file changes.


Setup for publishing
---

Expand All @@ -16,9 +45,7 @@ ossrhPassword=bmjuyWSIik8P3Nq/ZM2G0Xs0sHEKBg+4q4zTZ8JDDRCr
```


Code formatting
Publishing a release
---

Use `./gradlew spotlessApply` to run the automatic code formatter.
You can also run it in continuous mode as `./gradlew --continuous spotlessApply`
to reformat whenever a file changes.
See the [release checklist](./releasing.md).

1 comment on commit b7b5893

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mutation test results

Package Coverage Stats Prev Prev
Overall 81 % 🔻 1366 🔻 / 1669 🔹 83 % 1387 / 1669
com.yubico.fido.metadata 69 % 🔻 223 🔻 / 323 🔹 74 % 242 / 323
com.yubico.internal.util 45 % 🔻 56 🔻 / 123 🔹 46 % 57 / 123
com.yubico.webauthn 88 % 🔹 647 🔹 / 733 🔹 88 % 647 / 733
com.yubico.webauthn.attestation 92 % 🔹 13 🔹 / 14 🔹 92 % 13 / 14
com.yubico.webauthn.data 93 % 🔹 402 🔻 / 429 🔹 93 % 403 / 429
com.yubico.webauthn.extension.appid 100 % 🏆 13 🔹 / 13 🔹 100 % 13 / 13
com.yubico.webauthn.extension.uvm 50 % 🔹 12 🔹 / 24 🔹 50 % 12 / 24
com.yubico.webauthn.meta 0 % 🔹 0 🔹 / 10 🔹 0 % 0 / 10

Previous run: 33f31b3 - Diff

Detailed reports: workflow run #272

Please sign in to comment.