-
Notifications
You must be signed in to change notification settings - Fork 21
/
drom.toml
139 lines (117 loc) · 3.85 KB
/
drom.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
[project]
create-project = false
drom-version = "0.1"
share-repo = "https://github.com/OCamlPro/drom-share"
share-version = "0.9.0"
[project]
authors = ["Fabrice Le Fessant <[email protected]>", "Léo Andrès <[email protected]>"]
ci-systems = ["ubuntu-latest", "macos-latest", "windows-latest"]
copyright = "OCamlPro SAS"
edition = "4.14.1"
github-organization = "ocamlpro"
license = "LGPL2"
min-edition = "4.07.0"
name = "drom"
skeleton = "program"
synopsis = "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
version = "0.9.2"
# keys that you could also define:
# odoc-target = "...odoc-target..."
# sphinx-target = "...sphinx-target..."
# archive = "...archive..."
# dev-repo = "...dev-repo..."
# bug-reports = "...bug-reports..."
# doc-api = "...doc-api..."
# doc-gen = "...doc-gen..."
# homepage = "...homepage..."
[project]
description = """
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
user experience. It can be used to create full OCaml projects with
sphinx and odoc documentation. It has specific knowledge of Github and
will generate files for Github Actions CI and Github pages.
"""
[project]
skip = ["sphinx/about.rst", "src/drom_lib/main.ml", "sphinx/index.rst", "CHANGES.md", "test/expect-tests/test.ml", "ocamlformat", "sphinx/install.rst", "src/ez_opam_file/dune"]
# project-wide library dependencies (not for package-specific deps)
[dependencies]
# project-wide tools dependencies (not for package-specific deps)
[tools.ocamlformat]
for-test = true
[tools.odoc]
for-doc = true
[tools.ppx_expect]
for-test = true
[tools.ppx_inline_test]
for-test = true
[project]
# dirs to skip while scanning for dune files
skip-dirs = ["drom-test"]
# dirs to scan for share/ folders (with package names)
share-dirs = []
# build profile to use by default
# build-profile = ...
# Profile options for this project
# [profile]
# dev = { ocaml-flags = "-w +a-4-40-41-42-44" }
# release = { ocaml-flags = "-w -a" }
[profile.dev]
ocaml-flags = "-w +a-4-40-41-42-44-70"
[profile.release]
ocaml-flags = "-w -a"
# project-wide fields (depends on project skeleton)
# examples:
# docker-alpine-image = "ocamlpro/ocaml:4.13"
# dune-lang = "2.1"
# readme-trailer = "..."
# dot-gitignore-trailer = "..."
[fields]
dune-lang = "2.1"
readme-trailer = """
## Simple Example
You can create a new OCaml project with:
```
$ drom new my-client --skeleton mini_prg
Creating project "my-client" with skeleton "mini_prg", license "LGPL2"
and sources in src/my-client:
Creating directory my-client
Using skeleton "program" for package "my-client"
[master (root-commit) 8d83262] Initial commit
└── my-client/
├── .drom (drom state, do not edit)
├── .github/
│ └── workflows/
│ └── workflow.yml
├── .gitignore
├── CHANGES.md
├── LICENSE.md
├── Makefile
├── README.md
├── drom.toml <────────── project config EDIT !
├── dune
├── dune-project
├── opam/
│ └── my-client.opam
├── scripts/
│ ├── after.sh
│ ├── before.sh
│ └── copy-bin.sh
└── src/
└── my-client/
├── dune
├── main.ml
├── package.toml <────────── package config EDIT !
└── version.mlt
```
This project uses the minimalist `mini_prg` skeleton, but other skeletons
like `program` or `library` have more files.
"""
[[package]]
dir = "src/drom"
# edit 'src/drom/package.toml' for package-specific options
[[package]]
dir = "src/drom_lib"
# edit 'src/drom_lib/package.toml' for package-specific options
[[package]]
dir = "src/toml.7.1.0"
# edit 'src/toml.7.1.0/package.toml' for package-specific options