Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract extensions into crates #19

Merged
merged 1 commit into from
Mar 15, 2024

Conversation

robin-nitrokey
Copy link
Member

Previously, this repository contained one crate with all extension definitions and the backend implementation. This is problematic if semantic versioning is used as a breaking change in the backend or in a single extension would also affect all users of any other extension.

This patch moves the extensions into separate crates that can be versioned independently so that clients only have to depend on the extension crates they really need.

Copy link
Collaborator

@sosthene-nitrokey sosthene-nitrokey left a comment

Choose a reason for hiding this comment

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

I would probably have the extensions in a extensions directory rather than each having a top-level directory. This makes the repo easier to understand.

Cargo.toml Outdated Show resolved Hide resolved
robin-nitrokey added a commit to Nitrokey/trussed-se050-backend that referenced this pull request Mar 13, 2024
Similar to the changes in trussed-staging#19 [0], this patch moves the
extension that was previously defined in the backend crate into a
separate extension crate.

[0] trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/admin-app that referenced this pull request Mar 13, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with the extension crates trussed-manage and
trussed-se050-manage.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
robin-nitrokey added a commit to Nitrokey/fido-authenticator that referenced this pull request Mar 13, 2024
This patch adapts to the extraction of the extensions from trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/opcard-rs that referenced this pull request Mar 13, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/piv-authenticator that referenced this pull request Mar 13, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/nitrokey-3-firmware that referenced this pull request Mar 13, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with extension crates extracted from these
crates.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
robin-nitrokey added a commit to Nitrokey/nitrokey-3-firmware that referenced this pull request Mar 13, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with extension crates extracted from these
crates.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
@robin-nitrokey
Copy link
Member Author

Updated based on the comments on Nitrokey/trussed-se050-backend#13. @sosthene-nitrokey Can you please have another look?

Previously, this repository contained one crate with all extension
definitions and the backend implementation.  This is problematic if
semantic versioning is used as a breaking change in the backend or in a
single extension would also affect all users of any other extension.

This patch moves the extensions into separate crates that can be
versioned independently so that clients only have to depend on the
extension crates they really need.

Fixes: trussed-dev#3
@robin-nitrokey robin-nitrokey linked an issue Mar 15, 2024 that may be closed by this pull request
@robin-nitrokey robin-nitrokey merged commit 06bf42c into trussed-dev:main Mar 15, 2024
2 checks passed
@robin-nitrokey robin-nitrokey deleted the extensions branch March 15, 2024 09:56
robin-nitrokey added a commit to Nitrokey/trussed-se050-backend that referenced this pull request Mar 15, 2024
Similar to the changes in trussed-staging#19 [0], this patch moves the
extension that was previously defined in the backend crate into a
separate extension crate.

[0] trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/trussed-se050-backend that referenced this pull request Mar 15, 2024
Similar to the changes in trussed-staging#19 [0], this patch moves the
extension that was previously defined in the backend crate into a
separate extension crate.

[0] trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/admin-app that referenced this pull request Mar 15, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with the extension crates trussed-manage and
trussed-se050-manage.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
robin-nitrokey added a commit to Nitrokey/fido-authenticator that referenced this pull request Mar 15, 2024
This patch adapts to the extraction of the extensions from trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/opcard-rs that referenced this pull request Mar 15, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/piv-authenticator that referenced this pull request Mar 15, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/nitrokey-3-firmware that referenced this pull request Mar 15, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with extension crates extracted from these
crates.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
robin-nitrokey added a commit to Nitrokey/nitrokey-3-firmware that referenced this pull request Mar 15, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with extension crates extracted from these
crates.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
robin-nitrokey added a commit to Nitrokey/opcard-rs that referenced this pull request Mar 15, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
robin-nitrokey added a commit to Nitrokey/nitrokey-3-firmware that referenced this pull request Mar 22, 2024
This patch replaces the dependencies on trussed-staging and
trussed-se050-backend with extension crates extracted from these
crates.  See the these PRs for more information:
- trussed-dev/trussed-staging#19
- Nitrokey/trussed-se050-backend#13
sosthene-nitrokey pushed a commit to Nitrokey/opcard-rs that referenced this pull request Apr 22, 2024
This patch adapts to the extraction of extension crates from
trussed-staging, see:
        trussed-dev/trussed-staging#19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider splitting into multiple crates
3 participants