doc
This commit is contained in:
parent
1f39847a23
commit
dfeecd4db2
2 changed files with 27 additions and 19 deletions
26
README.md
26
README.md
|
|
@ -796,6 +796,32 @@ handling of the SIGPIPE. This can be done by setting
|
|||
|
||||
## [Developing Babashka](doc/dev.md)
|
||||
|
||||
## Including new libraries or classes
|
||||
|
||||
Before new libraries or classes go into the standardly distributed babashka
|
||||
binary, these evaluation criteria are considered:
|
||||
|
||||
- The library or class is useful for general purpose scripting or accomplishing
|
||||
small devops tasks.
|
||||
- Adding the library or class would make babashka more compatible with Clojure
|
||||
libraries relevant to scripting or small devops tasks.
|
||||
- The functionality can't be met by shelling out to another CLI or can't be
|
||||
written as a small layer over an existing CLI (like `babashka.curl`) instead.
|
||||
|
||||
If not all of the criteria are met, but adding a feature is still useful to a
|
||||
particular company or niche, adding it behind a feature flag is still a
|
||||
possibility. This is currently the case for `next.jdbc` and the `PostgresQL` and
|
||||
`HSQLDB` database drivers. Companies interested in these features can compile an
|
||||
instance of babashka for their internal use. Companies are also free to make
|
||||
forks of babashka and include their own internal librries. Or if their
|
||||
customized babashka is interesting to share with the world, they are free to
|
||||
distribute it using a different binary name (like `bb-sql`, `bb-docker`,
|
||||
`bb-yourcompany`, etc.). See the [feature flag
|
||||
documentation](doc/build.md#feature-flags) and the implementation of the
|
||||
existing feature flags ([example
|
||||
commit](https://github.com/borkdude/babashka/commit/02c7c51ad4b2b1ab9aa95c26a74448b138fe6659))
|
||||
how to customize babashka.
|
||||
|
||||
## Related projects
|
||||
|
||||
- [planck](https://planck-repl.org/)
|
||||
|
|
|
|||
20
doc/dev.md
20
doc/dev.md
|
|
@ -20,25 +20,7 @@ $ git submodule update --recursive
|
|||
|
||||
`lein repl` will get you a standard REPL/nREPL connection. To work on tests use `lein with-profiles +test repl`.
|
||||
|
||||
## Adding libraries and classes
|
||||
|
||||
When adding libraries and classes to babashka, consider these evaluation
|
||||
criteria:
|
||||
|
||||
- The library or class is useful for general purpose scripting or accomplishing
|
||||
small devops tasks.
|
||||
- Adding the library or class would make babashka more compatible with Clojure
|
||||
libraries relevant to scripting or small devops tasks.
|
||||
- The functionality can't be met by shelling out to another CLI or can't be
|
||||
written as a small layer over an existing CLI (like `babashka.curl`) instead.
|
||||
|
||||
If not all of the criteria are met, but adding a feature is still useful to a
|
||||
particular company or niche audience, adding it behind a feature flag is still a
|
||||
possibility. This is currently the case for `next.jdbc` and the `PostgresQL` and
|
||||
`HSQLDB` database drivers. Companies interested in these features can compile an
|
||||
instance of babashka for their internal use.
|
||||
|
||||
### Adding classes
|
||||
## Adding classes
|
||||
|
||||
Add necessary classes to `babashka/impl/classes.clj`. For every addition, write
|
||||
a unit test, so it's clear why it is added and removing it will break the
|
||||
|
|
|
|||
Loading…
Reference in a new issue