58 lines
1.2 KiB
Plaintext
58 lines
1.2 KiB
Plaintext
(* -*- tuareg -*- *)
|
|
#use "topfind"
|
|
#require "topkg"
|
|
|
|
open Topkg
|
|
|
|
module Pkg = struct
|
|
include Pkg
|
|
|
|
let build
|
|
?(cmd=fun c os _files ->
|
|
let jbuilder = Conf.tool "jbuilder" os in
|
|
OS.Cmd.run @@ Cmd.(jbuilder % "build" % "-p" % Conf.pkg_name c))
|
|
?(clean=fun os ~build_dir ->
|
|
let rm = Conf.tool "rm" os in
|
|
let find = Conf.tool "find" os in
|
|
OS.Cmd.run @@ Cmd.(rm % "-rf" % build_dir) >>= fun () ->
|
|
OS.Cmd.run @@ Cmd.(find % "." % "-name" % ".merlin" % "-delete"))
|
|
=
|
|
Pkg.build ~cmd ~clean
|
|
|
|
let opam_files () =
|
|
Sys.readdir "."
|
|
|> Array.to_list
|
|
|> List.filter (String.is_suffix ~affix:".opam")
|
|
|> List.map (Pkg.opam_file ~lint_deps_excluding:None)
|
|
|
|
let describe
|
|
?delegate
|
|
?readmes
|
|
?licenses
|
|
?change_logs
|
|
?(metas=[])
|
|
?(opams=opam_files ())
|
|
?lint_files
|
|
?lint_custom
|
|
?distrib
|
|
?publish
|
|
?(build=build ())
|
|
name
|
|
=
|
|
describe
|
|
?delegate
|
|
?readmes
|
|
?licenses
|
|
?change_logs
|
|
~metas
|
|
~opams
|
|
?lint_files
|
|
?lint_custom
|
|
?distrib
|
|
?publish
|
|
~build
|
|
name
|
|
@@ fun c ->
|
|
Ok [ (*Pkg.test "jbuilder" ~auto:false ~args:Cmd.(empty % "runtest" % "-p" % Conf.pkg_name c)*) ]
|
|
end
|