Add some glue to make topkg work

This commit is contained in:
Jérémie Dimino 2017-05-06 00:12:13 +01:00 committed by Jeremie Dimino
parent 6ab59ddc53
commit 46075ae346
3 changed files with 65 additions and 1 deletions

View File

@ -1,5 +1,4 @@
opam-version: "1.2"
version: "1.0+beta8"
maintainer: "opensource@janestreet.com"
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"]
homepage: "https://github.com/janestreet/jbuilder"

8
pkg/pkg.ml Normal file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env ocaml
#use "./topkg-jbuilder"
let () =
Pkg.describe "jbuilder"
~readmes: [ Pkg.std_file "README.org" ]
~change_logs:[ Pkg.std_file "CHANGES.org" ]
~licenses: [ Pkg.std_file "LICENSE.txt" ]

57
topkg-jbuilder Normal file
View File

@ -0,0 +1,57 @@
(* -*- 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