forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodules
97 lines (97 loc) · 7.96 KB
/
modules
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
src
│
├── core Generic standard and system library
│ │ [ opam-core lib ]
│ ├── opamVersion.ml (generated) Current OPAM version
│ ├── opamCoreConfig.ml Configuration options for this lib (record, global reference and setter)
│ ├── opamVersionCompare.ml Version comparison function used throughout. From the Dose suite.
│ ├── opamJson.ml Wrapper on Jsonm; only needed for some (as of now) unused debug options
│ ├── opamStd.ml Generic stdlib functions (String, List, Option, Sys submodules...)
│ ├── opamConsole.ml Console output, ANSI color, logging and user querying
│ ├── opamCompat.ml.4.01/4.02 Compatibility layer (Bytes, etc.) for different OCaml versions
│ │ # system handling
│ ├── opamProcess.ml Process and job handling, with logs, termination status, etc.
│ ├── opamSystem.ml Bindings of lots of filesystem and system operations
│ ├── opamFilename.ml Higher level file and directory name manipulation AND file operations, wrappers on OpamSystem using the filename type
│ └── opamParallel.ml Parallel execution of jobs following a directed graph
│
├── format Definition of OPAM datastructures and its file interface
│ │ [ opam-format lib ]
│ ├── opamTypes.mli Definitions of many types used throughout
│ ├── opamTypesBase.ml Helper functions on the base types. Often opened
│ │ # basic types, used as keys
│ ├── opamCompiler.ml The compiler type (string, version pairs)
│ ├── opamPackage.ml The package type, and package name type (name+version, values often called "nv" in the code)
│ ├── opamRepositoryName.ml The repository type
│ ├── opamSwitch.ml The switch type
│ ├── opamVariable.ml OPAM variables with scope (global or module)
│ │ # more advanced types
│ ├── opamFilter.ml Formulas on variables, as used in opam files build scripts
│ ├── opamFormula.ml Formulas on packages, opt. with sub-formulas on versions, and conversion functions
│ │ # file format
│ ├── opamLineLexer.mll A simple lexer to list of lines, which are lists of words
│ ├── opamLexer.mll OPAM config file lexer
│ ├── opamParser.mly OPAM config file generic type parser
│ ├── opamFormat.ml OPAM config files syntax and conversion tools, printing
│ └── opamFile.ml Handles all OPAM file formats as record types and submodules, conversion to and from syntax
│
├── repository Handling of remote sources
│ │ [ opam-repository lib ]
│ ├── opamRepositoryConfig.ml Configuration options for this lib (record, global reference, setter, initialisation)
│ ├── opamRepositoryBackend.ml Signature for repository handlers and some helpers for the repository type
│ ├── opamRepositoryPath.ml Defines the file hierarchy in repositories
│ ├── opamDownload.ml Configuration init and handling of downloading commands
│ ├── opamHTTP.ml Main HTTP backend
│ ├── opamLocal.ml Rsync backend, for local or ssh sources
│ ├── opamVCS.ml Layer for handling version control sources
│ ├── opamDarcs.ml Darcs support (through OpamVCS)
│ ├── opamGit.ml Git support (through OpamVCS)
│ ├── opamHg.ml Mercurial support (through OpamVCS)
│ └── opamRepository.ml Operations on repositories (update, fetch...) based on the above backends
│
├── solver Solver and Cudf interaction
│ │ [ opam-solver lib ]
│ ├── opamSolverConfig.ml Configuration options for this lib (record, global reference, setter, initialisation)
│ ├── opamActionGraph.ml Handles graphs of actions (package changes), based on ocamlgraph
│ ├── opamSolverGlobals.ml Configuration initialisation and accessors
│ ├── opamCudf.ml Solver interaction, conversion of answer to solution
│ ├── opamHeuristic.ml The "internal solver", brute-force search using Dose's checker
│ └── opamSolver.ml Entry point, conversion of universe to cudf, dependencies computation
│
├── state Handling of the ~/.opam hierarchy and actions on it
│ │ [ opam-state lib ]
│ ├── opamStateConfig.ml Configuration options for this lib (record, global reference, setter, initialisation)
│ ├── opamPath.ml Defines the file hierarchy in ~/.opam
│ ├── opamOCaml.ml OCaml installation version and specifics detection
│ ├── opamScript.ml (generated) Shell config scripts as OCaml strings
│ ├── opamState.ml Functions handling a global state corresponding to the on-disk ~/.opam, plus (too) many auxiliary and manipulation functions
│ ├── opamSolution.ml Interface with the solver, processing of full solutions through actions
│ └── opamAction.ml Handles concrete actions on packages, like installations and removals
│
├── client Everything related to the OPAM state, installation and front-end
│ │ [ opam-client lib ]
│ ├── opamClientConfig.ml Configuration options for this lib (record, global reference, setter, initialisation)
│ ├── opamConfigCommand.ml Functions for the "opam config" subcommand
│ ├── opamPinCommand.ml Functions for the "opam pin" subcommand
│ ├── opamRepositoryCommand.ml Functions for the "opam repository" subcommand
│ ├── opamSwitchCommand.ml Functions for the "opam switch" subcommand
│ ├── opamClient.ml High-level execution of user-facing functions like "upgrade", and wrappers around the *Command modules
│ │ [ opam exe ]
│ ├── opamGitVersion.mli (generated) Current git version of OPAM
│ ├── opamArg.ml Command-line argument parser (opam exec only)
│ └── opamMain.ml Main
│
└── tools
│ [ opam-admin tool ]
├── opam_mk_repo.ml Repo index and archives generation
├── opam_depexts_change.ml Operation on external dependencies in a repo
├── opam_findlib.ml Automatically add some findlib information to a repo
├── opam_rename.ml Package renaming
├── opam_stats.ml Repo stats & graphs generation
├── opam_repo_check.ml Check the repo for errors
├── opam_admin.ml Source of the opam-admin tool, main
│ [ other stand-alone tools ]
├── opam_admin_top.ml Tiny library for admin-scripts, included in opam-admin.top
├── opam_check.ml Tiny tool used in internal checks
├── opam_installer.ml Handles OPAM's ".install" files
└── opamlfind.ml Experimental ocamlfind wrapper tool