Opam_ci_check.Lint
Some package name prefixes must be used along with specific conflict classes
If either a restricted prefix or conflict class exists, then the corresponding other must also exist.
type error =
| UnnecessaryField of string
| UnmatchedName of OpamPackage.Name.t
| UnmatchedVersion of OpamPackage.Version.t
| DubiousDuneSubst
| DuneProjectMissing
| DuneProjectParseError of string
| DuneDependencyMissing
| DuneLowerBoundMissing
| DuneIsBuild
| BadDuneConstraint of string * string
| NoPackageSources
| UnexpectedFile of string
| ForbiddenPerm of string
| OpamLint of int * [ `Warning | `Error ] * string
| MaintainerWithoutContact of string list
| NameCollision of string
| WeakChecksum of string
| PinDepends
| ExtraFiles
| RestrictedPrefix of string
| PrefixConflictClassMismatch of prefix_conflict_class_mismatch
| DefaultTagsPresent of string list
| MissingUpperBound of string
| InvalidReasonForArchiving
| InvalidOpamRepositoryCommitHash
Errors detected during linting.
Use msg_of_error
to produce descriptions the errors
val msg_of_error : (OpamPackage.t * error) -> string
msg_of_error (pkg, err)
is a string describing a linting err
found for the pkg
module Checks : sig ... end
val v :
pkg:OpamPackage.t ->
?newly_published:bool option ->
pkg_src_dir:string option ->
OpamFile.OPAM.t ->
t
Create an object of type t
val lint_packages :
?checks:Checks.kind list ->
opam_repo_dir:string ->
t list ->
((OpamPackage.t * error) list, string) Stdlib.result
lint_packages ~opam_repo_dir metas
is a list of all the errors detected while linting the packages in the metas
list in the context of the opam repository located at opam_repo_dir
.