-
Notifications
You must be signed in to change notification settings - Fork 312
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
Clarify requirements for packages being added to the set #288
Conversation
CONTRIBUTING.md
Outdated
- _You should use `pulp publish` to publish your package._ | ||
The reason is that since there are two distribution methods for packages (the Bower registry and the package sets), we rely on the Bower registry to act as a "central registry of package names" for both methods, in order to prevent divergence in the ecosystem (e.g. having two different codebases for a package called "prelude") | ||
- `bower i -p` should run successfully | ||
All packages that are included here must first be published via `bower` with no exceptions. We want to avoid a similar situation that happened in Haskell: a split ecosystem. (If you're unfamiliar with this situation, read [Why not both](https://medium.com/@fommil/why-not-both-8adadb71a5ed) for some context. Their `cabal` is similar to our `bower` and their `stack` is similar to `spago`/`psc-package`.) |
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.
All packages that are included here must first be published via `bower` with no exceptions. We want to avoid a similar situation that happened in Haskell: a split ecosystem. (If you're unfamiliar with this situation, read [Why not both](https://medium.com/@fommil/why-not-both-8adadb71a5ed) for some context. Their `cabal` is similar to our `bower` and their `stack` is similar to `spago`/`psc-package`.) | |
All packages that are included here must first be published via `bower` with no exceptions. |
AFAIK there hasn't been any split in the Haskell ecosystem: all the packages on Stackage have to be published on Hackage. They use Hackage basically in the same way we use the Bower registry.
Also I'm not sure I'd like to mention the whole Haskell packages situation: it's quite controversial there, but in here we're totally fine with it. So this risks giving the wrong impression to the reader.
It might be just me though, so I'd like to hear @justinwoo's opinion on this too
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.
AFAIK there hasn't been any split in the Haskell ecosystem: all the packages on Stackage have to be published on Hackage. They use Hackage basically in the same way we use the Bower registry.
Oh. I'm not familiar with how Haskell's build tools work but I know this was one of those situations that affects many in that ecosystem.
Ok. Once Justin gives his feedback, we'll continue from there. If I need to delete that section, that's fine.
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.
Yeah, I think the only relation here is kind of like how all Haskell packages are on Hackage and then consumed downstream in Stackage. Maybe there might be some kind of useful comparison in the future, but I think it would be better to just leave this out, lest we be charged with inciting holy wars in Haskell land
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.
Ok. I've deleted that section in the latest commit.
@JordanMartinez there's no requirement on using semver for versioning, since the package upgrades have to be tested anyways: semver is made by humans, but the compiler has anyways the last word on the question "does the package set compile?", so we cannot trust semver |
@f-f Thanks for clarifying. Should I explain that in the guidelines or leave it as is? While the package sets might not care about this, |
It does matter for bower, but it's not a requirement to get into the package-set, which is what we're detailing here. So I'd say we should not mention it in the guidelines |
Sounds good. |
Thanks @JordanMartinez! |
@f-f As promised in my comment
Is there anything else we want to change here to make things clearer? For example, while
pulp version
may handle the "v" prefix, are there any other requirements (e.g. use semver for versioning)?