forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
343 lines (302 loc) · 16.4 KB
/
index.html
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>opam %{OPAMVERSION}% API and libraries documentation</title>
<style type="text/css">
table {
margin: auto;
border-collapse: collapse;
}
th {
text-align: left;
font-weight: bold;
}
a {
text-decoration: none;
color: #555;
font-family: monospace;
}
tr.lib {
font-size: 120%;
font-weight: bold;
background-color: #bbb;
border-top: 1ex solid white;
}
td.libnote {
background-color: #eee;
}
td.sublib {
border-bottom: 1px solid black;
}
</style>
</head>
<body>
<h1>opam %{OPAMVERSION}% API and libraries documentation</h1>
<table>
<tr class="lib">
<th><a href="opam-core"><code>src/core</code></a></th>
<td><em>opam-core</em> library</td>
</tr>
<tr><td colspan="2" class="libnote">
Generic standard and system library
</td></tr>
<tr><th><a href="opam-core/OpamVersion">opamVersion.ml</a></th>
<td>(generated) Current opam version</td></tr>
<tr><th><a href="opam-core/OpamCoreConfig">opamCoreConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference and setter)</td></tr>
<tr><th><a href="opam-core/OpamVersionCompare">opamVersionCompare.ml</a></th>
<td>Version comparison function used throughout. From the Dose suite.</td></tr>
<tr><th><a href="opam-core/OpamJson">opamJson.ml</a></th>
<td>Wrapper on Jsonm; only needed for some debug options</td></tr>
<tr><th><a href="opam-core/OpamStd">opamStd.ml</a></th>
<td>Generic stdlib functions (String, List, Option, Sys submodules...)</td></tr>
<tr><th><a href="opam-core/OpamConsole">opamConsole.ml</a></th>
<td>Console output, ANSI color, logging and user querying</td></tr>
<tr><th><a href="opam-core/OpamCompat">opamCompat.ml</a></th>
<td>Compatibility layer (Bytes, etc.) for different OCaml versions</td></tr>
<tr><th><a href="opam-core/OpamSHA">opamSHA.ml</a></th>
<td>Pure OCaml implementation of SHA256/512 hashing functions</td></tr>
<tr><td colspan="2" class="sublib">System handling</td></tr>
<tr><th><a href="opam-core/OpamProcess">opamProcess.ml</a></th>
<td>Process and job handling, with logs, termination status, etc.</td></tr>
<tr><th><a href="opam-core/OpamSystem">opamSystem.ml</a></th>
<td>Bindings of lots of filesystem and system operations</td></tr>
<tr><th><a href="opam-core/OpamHash">opamHash.ml</a></th>
<td>Type and computation of file checksums</td></tr>
<tr><th><a href="opam-core/OpamFilename">opamFilename.ml</a></th>
<td>Higher level file and directory name manipulation AND file operations,
wrappers on OpamSystem using the filename type</td>
<tr><th><a href="opam-core/OpamDirTrack">opamDirTrack.ml</a></th>
<td>Tracking of changes in a given filesystem subtree</td></tr>
<tr><th><a href="opam-core/OpamParallel">opamParallel.ml</a></th>
<td>Parallel execution of jobs following a directed graph</td></tr>
<tr><th><a href="opam-core/OpamUrl">opamUrl.ml</a></th>
<td>URL parsing and printing, with support for our different backends</td></tr>
<tr><td colspan="2" class="sublib">Windows support</td></tr>
<tr><th><a href="opam-core/OpamStubs">opamStubs.ml</a></th>
<td>C stubs for Windows. A “dummy” alternate is provided for Unix, which doesn’t require any C code</td></tr>
<tr><th><a href="opam-core/OpamStubsTypes">opamStubsTypes.ml</a></th>
<td>Types in the stubs definitions (shared between both implementations)</td></tr>
<tr><th><a>opamInject.c</a></th>
<td>Code for process injection shared between <a>opamWindows.c</a> and <a>opam-putenv.c</a></td></tr>
<tr><th><a>opamWindows.c</a></th>
<td>C stubs for Windows</td></tr>
<tr><th><a>opamCommonStubs.c</a></th>
<td>Common C stubs for Unix and Windows</td></tr>
<tr class="lib">
<th><a href="opam-format"><code>src/format</code></a></th>
<td><em>opam-format</em> library</td>
</tr>
<tr><td colspan="2" class="libnote">
Definition of opam datastructures and its file interface
</td></tr>
<tr><th><a href="opam-format/OpamFormatConfig">opamFormatConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference and setter)</td></tr>
<tr><th><a href="opam-format/OpamTypes">opamTypes.mli</a></th>
<td>Definitions of many types used throughout</td></tr>
<tr><th><a href="opam-format/OpamTypesBase">opamTypesBase.ml</a></th>
<td>Helper functions on the base types. Often opened</td></tr>
<tr><th><a href="opam-format/OpamPath">opamPath.ml</a></th>
<td>Defines the file hierarchy in ~/.opam</td></tr>
<tr><td colspan="2" class="sublib">Basic types, used as keys</td></tr>
<tr><th><a href="opam-format/OpamPackage">opamPackage.ml</a></th>
<td>The package type, and package name type (name+version, values often called "nv" in the code)</td></tr>
<tr><th><a href="opam-format/OpamRepositoryName">opamRepositoryName.ml</a></th>
<td>The repository type</td></tr>
<tr><th><a href="opam-format/OpamSwitch">opamSwitch.ml</a></th>
<td>The switch type</td></tr>
<tr><th><a href="opam-format/OpamVariable">opamVariable.ml</a></th>
<td>Opam variables with scope (global or module)</td></tr>
<tr><th><a href="opam-format/OpamSysPkg">opamSysPkg.ml</a></th>
<td>The system package type</td></tr>
<tr><td colspan="2" class="sublib">More advanced types</td></tr>
<tr><th><a href="opam-format/OpamFilter">opamFilter.ml</a></th>
<td>Formulas on variables, as used in opam files build scripts</td></tr>
<tr><th><a href="opam-format/OpamFormula">opamFormula.ml</a></th>
<td>Formulas on packages, opt. with sub-formulas on versions, and conversion
functions</td></tr>
<tr><td colspan="2" class="sublib">File format</td></tr>
<tr><th><a href="opam-format/OpamLineLexer">opamLineLexer.mll</a></th>
<td>A simple lexer to list of lines, which are lists of words</td></tr>
<tr><th><a href="opam-format/OpamInterpLexer">opamInterpLexer.mll</a></th>
<td>Opam format variable interpolation processor</td></tr>
<tr><th><a href="opam-format/OpamPp">opamPp.ml</a></th>
<td>Bidirectional transformations on top of the parser and printer</td></tr>
<tr><th><a href="opam-format/OpamFormat">opamFormat.ml</a></th>
<td>opam config files syntax and conversion tools</td></tr>
<tr><th><a href="opam-format/OpamFile">opamFile.ml</a></th>
<td>Handles all opam file formats as record types and submodules, conversion to and from syntax</td></tr>
<tr class="lib">
<th><a href="opam-repository"><code>src/repository</code></a></th>
<td><em>opam-repository</em> library</td>
</tr>
<tr><td colspan="2" class="libnote">
Handling of remote sources
</td></tr>
<tr><th><a href="opam-repository/OpamRepositoryConfig">opamRepositoryConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference, setter, initialisation)</td></tr>
<tr><th><a href="opam-repository/OpamRepositoryBackend">opamRepositoryBackend.ml</a></th>
<td>Signature for repository handlers and some helpers for the repository type</td></tr>
<tr><th><a href="opam-repository/OpamRepositoryPath">opamRepositoryPath.ml</a></th>
<td>Defines the file hierarchy in repositories</td></tr>
<tr><th><a href="opam-repository/OpamDownload">opamDownload.ml</a></th>
<td>Configuration init and handling of downloading commands</td></tr>
<tr><th><a href="opam-repository/OpamHTTP">opamHTTP.ml</a></th>
<td>Main HTTP backend</td></tr>
<tr><th><a href="opam-repository/OpamLocal">opamLocal.ml</a></th>
<td>Rsync backend, for local or ssh sources</td></tr>
<tr><th><a href="opam-repository/OpamVCS">opamVCS.ml</a></th>
<td>Layer for handling version control sources</td></tr>
<tr><th><a href="opam-repository/OpamDarcs">opamDarcs.ml</a></th>
<td>Darcs support (through OpamVCS)</td></tr>
<tr><th><a href="opam-repository/OpamGit">opamGit.ml</a></th>
<td>Git support (through OpamVCS)</td></tr>
<tr><th><a href="opam-repository/OpamHg">opamHg.ml</a></th>
<td>Mercurial support (through OpamVCS)</td></tr>
<tr><th><a href="opam-repository/OpamRepository">opamRepository.ml</a></th>
<td>Operations on repositories (update, fetch...) based on the above backends</td></tr>
<tr class="lib">
<th><a href="opam-solver"><code>src/solver</code></a></th>
<td><em>opam-solver</em> library</td>
</tr>
<tr><td colspan="2" class="libnote">
Solver and Cudf interaction
</td></tr>
<tr><th><a href="opam-solver/OpamSolverConfig">opamSolverConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference, setter, initialisation)</td></tr>
<tr><th><a href="opam-solver/OpamActionGraph">opamActionGraph.ml</a></th>
<td>Handles graphs of actions (package changes), based on ocamlgraph</td></tr>
<tr><th><a href="opam-solver/OpamCudfCriteria">opamCudfCriteria.ml</a></th>
<td>Cudf criteria helper functions (string conversion, etc.)</td></tr>
<tr><th><a href="opam-solver/OpamCudfSolver">opamCudfSolver.ml</a></th>
<td>Bindings to implementation of CUDF solvers, either built-in or external</td></tr>
<tr><th><a href="opam-solver/OpamCudf">opamCudf.ml</a></th>
<td>Solver interaction, conversion of answer to solution</td></tr>
<tr><th><a href="opam-solver/OpamSolver">opamSolver.ml</a></th>
<td>Entry point, conversion of universe to cudf, dependencies computation</td></tr>
<tr><td colspan="2" class="sublib">Built-in solver backends</td></tr>
<tr><th><a href="opam-solver/OpamBuiltinMccs">opamBuiltinMccs.ml.real</a></th>
<td>Direct interface to the <a href="https://github.com/AltGr/ocaml-mccs">mccs</a> solver, if present</td></tr>
<tr><th><a href="opam-solver/OpamBuiltinZ3">opamBuiltinZ3.ml.real</a></th>
<td>Direct interface to the <a href="https://github.com/Z3Prover/z3">Z3</a> solver, if present</td></tr>
<tr class="lib">
<th><a href="opam-state"><code>src/state</code></a></th>
<td><em>opam-state</em> library</td>
</tr>
<tr><td colspan="2" class="libnote">
Handling of the ~/.opam hierarchy, repository and switch states
</td></tr>
<tr><th><a href="opam-state/OpamStateConfig">opamStateConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference, setter, initialisation)</td></tr>
<tr><th><a href="opam-state/OpamScript">opamScript.ml</a></th>
<td>(generated) Shell config scripts as OCaml strings</td></tr>
<tr><th><a href="opam-state/OpamStateTypes">opamStateTypes.mli</a></th>
<td>Defines the types holding global, repository and switch states</td></tr>
<tr><th><a href="opam-state/OpamFormatUpgrade">opamFormatUpgrade.ml</a></th>
<td>Handles upgrade of an opam root from earlier opam versions</td></tr>
<tr><th><a href="opam-state/OpamSysPoll">opamSysPoll.ml</a></th>
<td>Detection of host system (arch, os, distribution)</td></tr>
<tr><th><a href="opam-state/OpamGlobalState">opamGlobalState.ml</a></th>
<td>Loading and handling of the global state of an opam root</td></tr>
<tr><th><a href="opam-state/OpamRepositoryState">opamRepositoryState.ml</a></th>
<td>loading and handling of the repository state of an opam root (i.e. what is in ~/.opam/repo)</td></tr>
<tr><th><a href="opam-state/OpamSwitchState">opamSwitchState.ml</a></th>
<td>Loading and querying a switch state</td></tr>
<tr><th><a href="opam-state/OpamPackageVar">opamPackageVar.ml</a></th>
<td>Resolution and handling of opam variables + filters</td></tr>
<tr><th><a href="opam-state/OpamFileTools">opamFileTools.ml</a></th>
<td>Generic tools for handling package metadata</td></tr>
<tr><th><a href="opam-state/OpamSwitchAction">opamSwitchAction.ml</a></th>
<td>Switch-related actions and changes</td></tr>
<tr><th><a href="opam-state/OpamEnv">opamEnv.ml</a></th>
<td>Process environment setup and handling, shell configuration</td></tr>
<tr><th><a href="opam-state/OpamPinned">opamPinned.ml</a></th>
<td>Specific query and handling of pinned packages</td></tr>
<tr><th><a href="opam-state/OpamUpdate">opamUpdate.ml</a></th>
<td>Synchronisation and downloading of repositories and package sources</td></tr>
<tr><th><a href="opam-state/OpamSysInteract">opamSysInteract.ml</a></th>
<td>Interaction with system package manager, for external dependencies management</td></tr>
<tr><th><a href="opam-state/OpamSpdxList">opamSpdxList.ml</a></th>
<td>(generated) SPDX short IDs licenses list, used for linting packages</td></tr>
<tr class="lib">
<th><a href="opam-client"><code>src/client</code></a></th>
<td><em>opam-client</em> library and exec</td>
</tr>
<tr><td colspan="2" class="libnote">
Actions on the opam root, switches, installations, and front-end
</td></tr>
<tr><td colspan="2" class="sublib"><code>opam-client</code> library</td></tr>
<tr><th><a href="opam-client/OpamClientConfig">opamClientConfig.ml</a></th>
<td>Configuration options for this lib (record, global reference, setter, initialisation), plus helper for global setup</td></tr>
<tr><th><a href="opam-client/OpamAction">opamAction.ml</a></th>
<td>Handles concrete actions on packages, like installations and removals</td></tr>
<tr><th><a href="opam-client/OpamSolution">opamSolution.ml</a></th>
<td>Interface with the solver, processing of full solutions through actions</td></tr>
<tr><th><a href="opam-client/OpamConfigCommand">opamConfigCommand.ml</a></th>
<td>Functions for the "opam config" subcommand</td></tr>
<tr><th><a href="opam-client/OpamPinCommand">opamPinCommand.ml</a></th>
<td>Functions for the "opam pin" subcommand</td></tr>
<tr><th><a href="opam-client/OpamRepositoryCommand">opamRepositoryCommand.ml</a></th>
<td>Functions for the "opam repository" subcommand</td></tr>
<tr><th><a href="opam-client/OpamSwitchCommand">opamSwitchCommand.ml</a></th>
<td>Functions for the "opam switch" subcommand</td></tr>
<tr><th><a href="opam-client/OpamListCommand">opamListCommand.ml</a></th>
<td>Functions for the "opam list" subcommand</td></tr>
<tr><th><a href="opam-client/OpamLockCommand">opamLockCommand.ml</a></th>
<td>Functions for the "opam lock" subcommand</td></tr>
<tr><th><a href="opam-client/OpamInitDefaults">opamInitDefaults.ml</a></th>
<td>Defines the built-in "opamrc" to use by default on "opam init"</td></tr>
<tr><th><a href="opam-client/OpamClient">opamClient.ml</a></th>
<td>High-level execution of the main user commands ("install", "upgrade",
"remove"), and wrapper for Pin commands</td></tr>
<tr><th><a href="opam-client/OpamAuxCommands">opamAuxCommands.ml</a></th>
<td>Some command helpers and extra opam management functions</td></tr>
<tr><th><a href="opam-client/OpamAdminRepoUpgrade">opamAdminRepoUpgrade.ml</a></th>
<td>Handles converting package repositories from the format of older opam
versions to the current format</td></tr>
<tr><th><a href="opam-client/OpamAdminCheck">opamAdminCheck.ml</a></th>
<td>Implements the repository checks of the 'opam admin check' command.</td></tr>
<tr><th><a href="opam-client/OpamGitVersion">opamGitVersion.mli</a></th>
<td>(generated) Current git version of opam</td></tr>
<tr><th><a href="opam-client/OpamArg">opamArg.ml</a></th>
<td>Command-line argument parsers and helpers</td></tr>
<tr><th><a href="opam-client/OpamArgTools">opamArgTools.ml</a></th>
<td>Command-line argument cli versioning helpers</td></tr>
<tr><th><a href="opam-client/OpamAdminCommand">opamAdminCommand.ml</a></th>
<td>All sub-commands of the "opam admin" command</td></tr>
<tr><th><a href="opam-client/OpamCommands">opamCommands.ml</a></th>
<td>Opam CLI commands and their handlers as Cmdliner terms</td></tr>
<tr><th><a href="opam-client/OpamCLIVersion">opamCLIVersion.ml</a></th>
<td>Functions for the CLI versioning</td></tr>
<tr><th><a href="opam-client/OpamCliMain">opamCliMain.ml</a></th>
<td>Front-end wrappers and callers for the main opam entry point</td></tr>
<tr><td colspan="2" class="sublib">Main opam CLI</td></tr>
<tr><th><a href="opam-client/OpamMain">opamMain.ml</a></th>
<td>Main opam entry point</td></tr>
<tr class="lib">
<th><a><code>src/crowbar</code></a></th>
<td>crowbar tests</td>
</tr>
<tr><td colspan="2" class="libnote">
Crowbar generators and tests for internal data structures
</td></tr>
<tr><th><a>test.ml</a></th>
<td>Main crowbar tests entry point</td></tr>
<tr><th><a>opamCrowbar.ml</a></th>
<td>Definition of utils structures and functions</td></tr>
<tr><th><a>opamXxx_crowbar.ml</a></th>
<td>Definition of tests for module <a>Xxx</a></td></tr>
<tr class="lib">
<th><a><code>src/tools</code></a></th>
<td>Extra tools and utilities</td>
</tr>
<tr><td colspan="2" class="sublib">Auxiliary standalone tools</td></tr>
<tr><th><a>opam_admin_top.ml</a></th>
<td>Tiny library for admin-scripts, included in opam-admin.top</td></tr>
<tr><th><a>opam-putenv.c</a></th>
<td>Tiny C tool used on Windows for cross-architecture process injection</td></tr>
<tr><th><a>opam_installer.ml</a></th>
<td>Handles opam's ".install" files</td></tr>
</table>
</body>
</html>