-
Notifications
You must be signed in to change notification settings - Fork 657
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
Set up Connect SDK Module #9203
Conversation
Risky Change This is considered a risky change because it adjusts the sample app build.gradle, please review carefully. By adding the label |
Accepted risky change due to test run failure: https://github.com/stripe/stripe-android/actions/runs/10743658522/job/29798864778?pr=9203 I'm changing the build.gradle file, but it's to exempt the new sample app from the |
Diffuse output:
APK
|
* If you are interested in using a feature marked for private beta, send an email to | ||
* [private-beta-element@stripe.com](mailto:private-beta-element@stripe.com). | ||
*/ | ||
@RequiresOptIn(message = "This API is under construction. If you're interested in using it, email private-beta-element@stripe.com.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make the javadoc and the message here specific to the connect SDK private beta? A good example of this is the ExperimentalCustomerSessionApi annotation. (You could also get rid of the javadoc entirely if you want, I think)
package com.stripe.android.connectsdk | ||
|
||
@PrivateBetaConnectSDK | ||
class EmbeddedComponentManager internal constructor() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally, we annotate these with @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) before they're released. That will ensure that these are not actually included in our public API yet. Then, whenever you're ready to ship private beta, you can send out a PR which just removes the annotation and adds a changelog entry about the new feature/product being available. I'd recommend that approach here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great idea! I like this approach a lot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agreed!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would expect this to be ~empty until you launch private beta. I left a comment below which I think will help with that.
There's some stuff that shows up here which is unavoidable and just generated code, e.g. the ComposableSingleton, but hopefully most stuff won't be visible here yet!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's still a decent amount of generated stuff in there unfortunately (like the ComposableSingleton), but it's empty in terms of things consumers can actually call in practice 🙂
@amk-stripe thanks for the feedback, ready for re-review! |
Summary
Set up the scaffolding for the Connect SDK. This PR sets up two new modules:
stripe-connect
: the module for the Connect SDK. This is what clients will call to use the Connect Embedded Components.stripe-connect-example
: the module containing the demo app showing off how to use the Connect SDK.Motivation
Prepare for adding APIs implementation to the new Connect SDK.
Testing