erlef / rebar3_hex

Rebar3 Hex library
Apache License 2.0
101 stars 49 forks source link

v7.0.0 #221

Closed starbelly closed 2 years ago

starbelly commented 3 years ago

Version 7

This issue enumerates everything that needs to be changed in order to be aligned with mix/hex interface and behavior that would be considered a breaking change. Updating docs on rebar3.org is implicit for each item and required.

Breaking changes

Tasks that should be completed before release

Internal changes that do not have to happen at any particular stage

The following items are to be completed prior to additive changes to ease contributions by others. These need to be further defined (properly defined) in their own respective issues or draft PR(s).

Additive changes - post ver 7.0.0 release

The following items are added here for enumeration purposes. An issue is to be created for each item. These are prioritized and should be completed in order. Items that are nice-to-have are just that, they are not crucial or critical in any form.

starbelly commented 3 years ago

Really need @tsloughter to comment on removal of cut

starbelly commented 3 years ago

Right per the last B&P meeting (May the 4th be with you) we will remove cut as part of V7. We can re-introduce it again later, but it's probably best off being a separate plugin.

tsloughter commented 3 years ago

I'm completely opposed to removing cut. What is the purpose of removal? What is gained?

paulo-ferraz-oliveira commented 3 years ago

If this is restored, could an option exist to not include the v prefix in the tags?

tsloughter commented 3 years ago

Sure.

starbelly commented 3 years ago

@tsloughter The purpose was less to support. As you saw had tried to get feedback from you and not just via this issue, but it's understandable to me why you weren't able to response 👶 So all that said, my feelings on this aren't strong enough, and thus we can just put it back.

starbelly commented 2 years ago

re-work repo task to be aligned with mix hex

This task doesn't actually have to be done for initial v7. Simply, we can rename repos task to org and adjust the interface to align with mix hex (mostly).

The repos task is mix hex is for updating config, which is very useful, but I would opt to do it post v7.

Likewise, the docs task isn't required for v7 initial release either, mix hex doesn't use the docs task for generating. For rebar3_hex generating docs can currently be accomplished with on the publish task with the --dry-run switch. There's a bit to think about, regardless I will move the docs task into "can be done later" section and update the one for repos.

starbelly commented 2 years ago

@tsloughter before I change the repos task to be called organization, are you ok with that? I think it's fine myself, calling it organization doesn't imply that it has to be something on hexpm IMO.

tsloughter commented 2 years ago

Why would it be called organization if its for repos?

starbelly commented 2 years ago

@tsloughter tbh, I don't have strong feelings here... Organization is a repo. The goal is to align with mix hex's api as much as possible, so that would be the argument for renaming it... that said, I don't think we have to align on every single thing either.

Edit:

I guess your train of thought is a repo can be anything, not just hexpm. That would make sense to me. In that case it would be redundant perhaps to even have an organization provider considering repo provides all that. I think it's fine then to keep repo which obviates an organization provider, we just need to doc that if you're looking for an organization task, then repo is what you want.

Edit:

Organization is a repo.

That's not really true actually, but we treat them as repositories (sorta) in rebar3_hex, at least as far as stored configuration goes.

starbelly commented 2 years ago

@tsloughter Here's one other aspect to consider when it comes to the name of the provider... right now, it's only good for organizations. Whether it's hexpm or your own self-hosted instance of hex, it's still only good for orgs. Specifically, you can't authenticate to the main repository (i.e., hexpm) using this command as it requires you to be authenticated as a user.

Basically, what we'll end up saying in the documentation, "This provider is only useful for authenticating and managing organization repositories" and at that point, I just don't think it makes any sense to call it repo.

But maybe there's plans to expand that some how later down the road?

tsloughter commented 2 years ago

oh, just the repo provider name, that should be fine.