From a486c424cf1e59d5de35155da1e255b3072846b1 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Fri, 29 Mar 2019 08:48:29 -0700 Subject: [PATCH 1/3] Clarify requirements for packages being added to the set --- CONTRIBUTING.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4df96c5f..8d627f78 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,12 +22,17 @@ It defines some policies that are applied, and details how to add new packages a All changes go through pull requests. -There are some criteria that packages being added should comply with: -- _You should use `pulp version` to version your package._ - The reason is that the tag should start with the `v` prefix -- _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`.) + +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. This prevents divergence in the ecosystem similar to the Haskell situation described above (e.g. having two different codebases for a package called "prelude"). + +Packages must comply with the following criteria. The `pulp` commands listed below are used because they handle most of the work for you: +- `bower i -p` must run successfully. + This command installs your dependencies and excludes any 'devDependencies'. +- _You must use `pulp version` to version your package._ + This guarantees that the tag will start with the `v` prefix. +- _You must use `pulp publish` to publish your package._ + This command will handle all of the publishing work for you. ## Releases From cb2931e37347b8522fb1a2ed7ee3f81dc321b2de Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Sat, 30 Mar 2019 08:43:49 -0700 Subject: [PATCH 2/3] Use Fabrizo's rendering for why we use Bower --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8d627f78..7452e70f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ All changes go through pull requests. 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`.) -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. This prevents divergence in the ecosystem similar to the Haskell situation described above (e.g. having two different codebases for a package called "prelude"). +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. This prevents divergence in the ecosystem - e.g. having two different codebases for a package called "prelude". Packages must comply with the following criteria. The `pulp` commands listed below are used because they handle most of the work for you: - `bower i -p` must run successfully. From d5a7d3d85c2414502e2a2e40d0e6ab2f5b9a1691 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Thu, 4 Apr 2019 13:21:57 -0700 Subject: [PATCH 3/3] Remove correlation to Haskell's ecosystem split --- CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7452e70f..0e08bf94 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,9 +22,7 @@ It defines some policies that are applied, and details how to add new packages a All changes go through pull requests. -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`.) - -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. This prevents divergence in the ecosystem - e.g. having two different codebases for a package called "prelude". +All packages that are included here must first be published via `bower` with no exceptions. 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. This prevents divergence in the ecosystem - e.g. having two different codebases for a package called "prelude". Packages must comply with the following criteria. The `pulp` commands listed below are used because they handle most of the work for you: - `bower i -p` must run successfully.