TBD54566975 / web5-kt

Apache License 2.0
7 stars 9 forks source link

Issue #322: Move AwsKeyManager to its own module #327

Closed ALRubinger closed 1 week ago

ALRubinger commented 1 week ago

Notes to Reviewers

In this PR

Reviewers, please assess impact of the following changes introduced by this PR:

mistermoe commented 1 week ago

@ALRubinger lmk what you think about this rationale:

i think we should go with:

Remove the kover-maven-plugin enforcement on this module alone so that the build passes even without coverage (recommend against this)

reason being,

ALRubinger commented 1 week ago

@mistermoe OKee, short term salve, new issue #328 for medium term proper fix (tests).

codecov[bot] commented 1 week ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.17%. Comparing base (281aeb7) to head (ca0a40a).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #327 +/- ## ========================================== + Coverage 73.60% 76.17% +2.57% ========================================== Files 45 44 -1 Lines 2163 2090 -73 Branches 402 399 -3 ========================================== Hits 1592 1592 + Misses 376 303 -73 Partials 195 195 ``` | [Components](https://app.codecov.io/gh/TBD54566975/web5-kt/pull/327/components?src=pr&el=components&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=TBD54566975) | Coverage Δ | | |---|---|---| | [credentials](https://app.codecov.io/gh/TBD54566975/web5-kt/pull/327/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=TBD54566975) | `81.31% <ø> (ø)` | | | [crypto](https://app.codecov.io/gh/TBD54566975/web5-kt/pull/327/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=TBD54566975) | `61.67% <ø> (+12.50%)` | :arrow_up: | | [dids](https://app.codecov.io/gh/TBD54566975/web5-kt/pull/327/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=TBD54566975) | `80.50% <ø> (ø)` | | | [common](https://app.codecov.io/gh/TBD54566975/web5-kt/pull/327/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=TBD54566975) | `65.21% <ø> (ø)` | |
michaelneale commented 1 week ago

I like this. And I don't think Aws key manager was used in anger just yet? so risk of api change for it is low. With the distribution, does this make pulling in aws stuff optional now?

ALRubinger commented 1 week ago

I like this. And I don't think Aws key manager was used in anger just yet? so risk of api change for it is low. With the distribution, does this make pulling in aws stuff optional now?

  1. So I did add this to the distribution pom, so it's included by default when bringing in everything. If we want to treat this as an extension, it doesn't need to be in the distro. What this enables so far is for folks to bring in things piecemeal ie. dids, crypto, etc.

  2. Technically it is a published API change which would trigger a major version update, but we could make statements about web5-kt thus far that treat the entire 1.x.y series as open to breaking API changes like this while the project reaches API stability over time. Project leads can make that call, but yeah - as a dev if upgraded within a major version and it broke the API I'd be confused as to why.

mistermoe commented 1 week ago

I think we should exclude it from the default distro @ALRubinger, and treat it as an extension. Using AwsKeyManager is quite the commitment. Removing it from the web5 distro should, I think, make web5-kt default rollup distro usable on android? You and @michaelneale would know much better than I

michaelneale commented 1 week ago

I would be ok with removing it I think as part of distro - if that is ok? and we can document how to bring it in if you need it.

ALRubinger commented 1 week ago

Great; I've got no opinions on it - really is about what the expectations are for the distro. An Android distro would exclude it anyway and add in new Android things.

I just pushed a commit to exclude it for now and we'll have to document alongside DevRel how to add this in when wanting AwsKeyManager support as an extension of sorts. cc: @blackgirlbytes @acekyd @angiejones

michaelneale commented 1 week ago

yeah I think when we are ready to have flavoured distros like android/cloud can look at it then? but for now I think clear docs and examples are great. Anyone doing AWS dev AND using java would have no issues copy/paste into their pom/gradle I think

tomdaffurn commented 1 week ago

Yep, super happy to have AWS as an optional extension. It's far from the common usage, and adds a lot of weight