Closed ALRubinger closed 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,
AwsKeyManager
with a test harness. We can set up localstack for this, but it will definitely take non-negligible time to do. @mistermoe OKee, short term salve, new issue #328 for medium term proper fix (tests).
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 76.17%. Comparing base (
281aeb7
) to head (ca0a40a
).
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?
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?
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.
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.
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
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.
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
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
Yep, super happy to have AWS as an optional extension. It's far from the common usage, and adds a lot of weight
Notes to Reviewers
web5-kt
this carries via an API change.In this PR
Reviewers, please assess impact of the following changes introduced by this PR:
artifactId
:web5-keymanager-aws
distribution
AwsKeyManager
into it, along withAwsKeyManagerTest
AwsKeyManager
fromweb5.sdk.crypto
toweb5.sdk.keymanager.aws
. This represents an API change and in strict terms would trigger a major version bump to a2.x.y
series ofweb5-kt
on the next release.crypto
module dependency oncom.amazonaws:aws-java-sdk-kms
, the motivation behind this change and this PR.dependencyManagement
forcommons-codec:commons-codec
, needed in test scope by thecrypto
module which is no longer getting this transitively viacom.amazonaws:aws-java-sdk-kms
dependencyManagament
fororg.apache.httpcomponents:httpcore
and explicit declaration on it indids
module, which is no longer receiving this transitively since removing thecom.amazonaws:aws-java-sdk-kms
viacrypto
.