<commit_before># Cookbook of stuff done while developing coursier

General note: always explicitly set the scala version at the sbt prompt, like
```
> ++2.12.1
> ++2.11.11
> ++2.10.6
```

Some modules of coursier are only built in specific scala versions (sbt plugins in 2.10 and 2.12, cli and web modules in 2.11, …). coursier doesn't use sbt-doge
to handle that for now (but any help to make it work would be welcome).

## Compile and run the CLI

```
$ sbt ++2.11.11 "project cli" pack
…<commit_msg>Mention submodules in DEVELOPMENT document<commit_after># Cookbook of stuff done while developing coursier

General note: always explicitly set the scala version at the sbt prompt, like
```
> ++2.12.1
> ++2.11.11
> ++2.10.6
```

Some modules of coursier are only built in specific scala versions (sbt plugins in 2.10 and 2.12, cli and web modules in 2.11, …). coursier doesn't use sbt-doge
to handle that for now (but any help to make it work would be welcome).

The sources of coursier rely on some git submodules. Clone the sources of coursier via
```
$ git clone --recursive https://github.com/coursier/coursier.git
```
or run
```
$ git submodule update --init --recursive
```
from the coursier sources to initialize them.

The latter command also needs to be run whenever these submodules are updated.

## Compile and run the CLI

```
$ sbt ++2.11.11 "project cli" pack
…
{'fraction_non_alphanumeric': 0.10021786492374728, 'fraction_numerical': 0.0392156862745098, 'mean_word_length': 3.9214285714285713, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4688203', 'n_tokens_mistral': 470, 'n_tokens_neox': 437, 'n_words': 205}