Liking cljdoc? Tell your friends :D

fr.jeremyschoffen.mbt.alpha.core.classpath

Api providing utilities when manipulating classpaths generated using clojure.tools.deps.

Api providing utilities when manipulating classpaths generated using `clojure.tools.deps`.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.compilation.clojure

Api providing clojure compilation utilities.

Api providing clojure compilation utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.compilation.java

Minimal api wrapping some of the java.tools apis providing java compilation utilities.

Minimal api wrapping some of the `java.tools` apis providing java compilation utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.deps

Api providing some utilities working with clojure.tools.deps.

Api providing some utilities working with `clojure.tools.deps`.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.git

Api providing git utilities. Mostly a wrapper for some functionality from clj-jgit.

Api providing git utilities. Mostly a wrapper for some functionality from `clj-jgit`.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.gpg

Api providing gpg utilities.

Api providing gpg utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar

Api grouping the different utilities around building jars provided in fr.jeremyschoffen.mbt.alpha.core.jar.XXX namespaces.

Api grouping the different utilities around building jars provided in
`fr.jeremyschoffen.mbt.alpha.core.jar.XXX` namespaces.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.archive

Api providing the tools to make a jar archive from a directory.

Api providing the tools to make a jar archive from a directory.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.fs

Api providing some jar file system utilies.

Api providing some jar file system utilies.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.manifest

Api providing utilities when generating manifest files.

Api providing utilities when generating manifest files.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.protocols

Protocols used in to create a flexible way to approach the creation of jar sources.

See fr.jeremyschoffen.mbt.alpha.core.jar.sources to have an example of how to use these protocols.

Protocols used in to create a flexible way to approach the creation of jar sources.

See [[fr.jeremyschoffen.mbt.alpha.core.jar.sources]] to have an example of how to use these
protocols.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.sources

Default implementations of the protocols found in fr.jeremyschoffen.mbt.alpha.core.jar.protocols.

Types implementing fr.jeremyschoffen.mbt.alpha.core.jar.protocols/JarSource:

Default implementations of the protocols found in [[fr.jeremyschoffen.mbt.alpha.core.jar.protocols]].

Types implementing [[fr.jeremyschoffen.mbt.alpha.core.jar.protocols/JarSource]]:
- `clojure.lang.Sequential`: sequences of `:jar/entry` producing itself as a
  [[fr.jeremyschoffen.mbt.alpha.core.building.jar.protocols/JarEntries]].
- `java.nio.file.Path`: path to a directory or a jar. A path to a directory will produce a
  [[fr.jeremyschoffen.mbt.alpha.core.jar.sources/SourceDir]] record. A path to a jar will
  produce a [[fr.jeremyschoffen.mbt.alpha.core.jar.sources/SourceDir]] record. Both record types
  implement [[fr.jeremyschoffen.mbt.alpha.core.jar.protocols/JarEntries]].
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.jar.temp

Api providing facilities to copy files from different sources into a unique directory. This directory is intended to be zipped into a jar file.

The function fr.jeremyschoffen.mbt.alpha.core.jar.temp/add-srcs! is the entry point when copying sources to the temp directory.

Api providing facilities to copy files from different sources into a unique directory.
This directory is intended to be zipped into a jar file.

The function [[fr.jeremyschoffen.mbt.alpha.core.jar.temp/add-srcs!]] is the entry point when
copying sources to the temp directory.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.maven.deploy

Api providing maven deployment utilites.

Api providing  maven deployment utilites.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.maven.install

Api providing a maven install utilities.

Api providing a maven install utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.maven.pom

Api providing maven pom.xml files generation.

Api providing maven pom.xml files generation.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.shell

Api wrapping clojure.java.shell

Api wrapping `clojure.java.shell`
      
raw docstring

fr.jeremyschoffen.mbt.alpha.core.versioning.maven-like

Building blocks to versioning systems following the maven or semver model.

Building blocks to versioning systems following the maven or semver model.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.compilation.java

Higher level api to compile java files.

Higher level api to compile java files.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config

In mbt's default api, several config value are computed by default. This API provides the mechanisms used to construct a project's config map.

Lets take an example to illustrate the way this API is tu be used.

The name of an artefact in tools deps is a symbol whose namespace represents its group id and whose name represents its general name. The name is itself subject to be divided into artefact name and classifier. Mbt also has a concept of major version that will add a suffix to artefact names.

Let's say we are building an artefact named com.my-group/my-project-alpha$sources. A simplified config could then look like this:

(def conf {:project/name 'my-project
           :maven/group-id 'com.my-group
           :maven/classifier 'sources
           :versioning/major :alpha

           :maven/artefact-name (calc compute-artefact-name :project/name :versioning/major)
           :computed-coordinate (calc compute-coord-name :maven/artefact-name
                                                         :maven/group-id
                                                         :maven/classifier)})

Here, the first 4 values in the map are given. The last 2 are to be computed, the second one depending on the result of the first. These computations are 'declared' with the (calc computation & dependencies) scheme. Assuming we have the functions such as:

(compute-artefact-name {:project/name 'my-project
                        :versioning/major :alpha})
;=> 'my-project-alpha


(compute-artefact-name {:maven/artefact-name 'my-project-alpha
                        :maven/group-id 'com.my-group
                        :maven/classifier 'sources})
;=> 'com.my-group/my-project-alpha$sources

The compute utility perform several operations with this config. It will:

  1. find the keys that need to be computed (:maven/artefact-name & :computed-coordinate)
  2. establish a dependency graph between these computation
  3. run the computations in order to satisfy dependencies (topological sort of the dependency graph)
  4. return a map based on the original where the value that were computations are now the result of these computations.
(compute-conf conf)
;=> {:project/name 'my-project
     :maven/group-id 'com.my-group
     :maven/classifier 'sources
     :versioning/major :alpha

     :maven/artefact-name 'my-project-alpha
     :computed-coordinate 'com.my-group/my-project-alpha$sources}

:maven/artefact-name and :computed-coordinate have been computed based on other values in the config map.

In mbt's default api, several config value are computed by default. This API provides the mechanisms used to construct
a project's config map.

Lets take an example to illustrate the way this API is tu be used.

The name of an artefact in tools deps is a symbol whose namespace represents its group id and whose name represents
its general name. The name is itself subject to be divided into artefact name and classifier. Mbt also has a concept of
major version that will add a suffix to artefact names.

Let's say we are building an artefact named `com.my-group/my-project-alpha$sources.`
A simplified config could then look like this:
```clojure
(def conf {:project/name 'my-project
           :maven/group-id 'com.my-group
           :maven/classifier 'sources
           :versioning/major :alpha

           :maven/artefact-name (calc compute-artefact-name :project/name :versioning/major)
           :computed-coordinate (calc compute-coord-name :maven/artefact-name
                                                         :maven/group-id
                                                         :maven/classifier)})
```
Here, the first 4 values in the map are given. The last 2 are to be computed, the second one depending on the result of
the first. These computations are 'declared' with the `(calc computation & dependencies)` scheme.
Assuming we have the functions such as:
```clojure
(compute-artefact-name {:project/name 'my-project
                        :versioning/major :alpha})
;=> 'my-project-alpha


(compute-artefact-name {:maven/artefact-name 'my-project-alpha
                        :maven/group-id 'com.my-group
                        :maven/classifier 'sources})
;=> 'com.my-group/my-project-alpha$sources
```
The compute utility perform several operations with this config. It will:

1) find the keys that need to be computed (`:maven/artefact-name` & `:computed-coordinate`)
2) establish a dependency graph between these computation
3) run the computations in order to satisfy dependencies (topological sort of the dependency graph)
4) return a map based on the original where the value that were computations are now the result of these computations.

```clojure
(compute-conf conf)
;=> {:project/name 'my-project
     :maven/group-id 'com.my-group
     :maven/classifier 'sources
     :versioning/major :alpha

     :maven/artefact-name 'my-project-alpha
     :computed-coordinate 'com.my-group/my-project-alpha$sources}
```

`:maven/artefact-name` and  `:computed-coordinate` have been computed based on other values in the config map.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.build

Default config pertaining to building utilities.

Default config pertaining to building utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.cleaning

Default config pertaining to the cleaning utility..

Default config pertaining to the cleaning utility..
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.compilation

Default config pertaining compilation utilities.

Default config pertaining compilation utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.git

Default config pertaining to git utilities.

Default config pertaining to git utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.gpg

Default config pertaining to gpg utilities.

Default config pertaining to gpg utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.impl

The implementation details of the config API.

The implementation details of the config API.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.project

Default config pertaining to general project value.

Default config pertaining to general project value.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.config.versioning

Default config pertaining to versioning utilities.

Default config pertaining to versioning utilities.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.deps

Utilities used to generate deps coordintes for the project.

Utilities used to generate deps coordintes for the project.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.specs

Specs used in the default api.

Specs used in the default api.
      
raw docstring

No vars found in this namespace.

fr.jeremyschoffen.mbt.alpha.default.versioning.git-state

Api containing the default logic for using git state as a versioning mechanism.

Api containing the default logic for using git state as a versioning mechanism.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.versioning.schemes

Api used when versioning the project using git state.

Api used when versioning the project using git state.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.versioning.schemes.git-distance

Implementation of versioning schemes using the git disatnce building blocks from the core api ([[fr.jeremyschoffen.mbt.alpha.core.versioning.simple-version]]).

Implementation of versioning schemes using the git disatnce building blocks from the core api
([[fr.jeremyschoffen.mbt.alpha.core.versioning.simple-version]]).
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.versioning.schemes.maven-like

Implementation of versioning schemes using the maven and semver building blocks from the core api (fr.jeremyschoffen.mbt.alpha.core.versioning.maven-like).

Implementation of versioning schemes using the maven and semver building blocks from the core api
([[fr.jeremyschoffen.mbt.alpha.core.versioning.maven-like]]).
      
raw docstring

fr.jeremyschoffen.mbt.alpha.default.versioning.schemes.protocols

Protocol used to make version schemes.

Protocol used to make version schemes.
      
raw docstring

fr.jeremyschoffen.mbt.alpha.mbt-style

This namespace distills mbt's API to build mbt itself.

This namespace distills mbt's API to build mbt itself.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close