Skip to content

Add an email member to Developer #4655

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ShreckYe
Copy link
Contributor

@ShreckYe ShreckYe commented Mar 5, 2025

Similar to #4654. The email member is available in Maven, Gradle, and sbt. Shall we add it here too?

In sbt's official code, however, it's unclear to me why they pass the (GitHub) ID to the email member.

Compared to #4654, I don't think there is a way to make this change in a backward-compatible way with the default arguments though.

This is just a proposal so the changes are far from complete. Please let me know whether it's necessary.

Copy link
Member

@lefou lefou left a comment

Choose a reason for hiding this comment

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

Instead, we should encode an email with the mailto scheme into an url.

To be clear, we want to add the email, but once we have the email, the url need to become optional, but there is no elegant way to make email and url optional but enforce to have at least one.

@ShreckYe
Copy link
Contributor Author

ShreckYe commented Mar 5, 2025

So by "elegant" do you mean all 3 cases (email only, url only, both email and url) should be supported, they shouldn't be encoded with an extra sum type or Either, and the constraint should happen at compile-time instead of runtime?

@lefou
Copy link
Member

lefou commented Mar 5, 2025

So by "elegant" do you mean all 3 cases (email only, url only, both email and url) should be supported, they shouldn't be encoded with an extra sum type or Either, and the constraint should happen at compile-time instead of runtime?

That's what I meant. But looking at https://maven.apache.org/pom.html#Developers, non of these fields are really required and it's up to the specific repository to accept or reject a pom.

In that case, we should also add all the other missing fields like roles, timezone and properties.

@ShreckYe
Copy link
Contributor Author

ShreckYe commented Mar 5, 2025

Got it. Thanks. Feel free to close this PR.

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.

2 participants