The unpac monorepo manager self-hosting as a monorepo using unpac

Switch to jbuilder

+25 -173
+1
.gitignore
··· 7 7 *.install 8 8 *.native 9 9 *.byte 10 + .merlin
-4
.merlin
··· 1 - PKG bytes 2 - S src 3 - S test 4 - B _build/**
-5
_tags
··· 1 - true : annot, bin_annot, safe_string, package(bytes) 2 - true : principal, debug 3 - <test/*> : package(alcotest bos rresult) 4 - <src> : include 5 - <test> : include
-24
build
··· 1 - #!/bin/sh 2 - # This script is only used for developement. It is removed by the 3 - # distribution process. 4 - 5 - set -e 6 - 7 - OCAMLBUILD=${OCAMLBUILD:="ocamlbuild -use-ocamlfind -classic-display \ 8 - -tag debug"} 9 - 10 - action () 11 - { 12 - case $1 in 13 - default) topkg build ;; 14 - test|tests) topkg build && topkg test ;; 15 - doc) shift; topkg doc --dev $* ;; 16 - api-doc) shift; topkg doc $* ;; 17 - clean) topkg clean ;; 18 - *) $OCAMLBUILD $* ;; 19 - esac 20 - } 21 - 22 - if [ $# -eq 0 ]; 23 - then action default ; 24 - else action $*; fi
-1
doc/api.odocl
··· 1 - B64
-1
doc/dev.odocl
··· 1 - B64
-112
doc/style.css
··· 1 - /* Copyright (c) 2016 Daniel C. Bünzli. All rights reserved. 2 - Distributed under the ISC license, see terms at the end of the file. */ 3 - 4 - /* Reset a few things. */ 5 - html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre, 6 - a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp, 7 - small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset, 8 - form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td 9 - { margin: 0; padding: 0; border: 0 none; outline: 0; font-size: 100%; 10 - font-weight: inherit; font-style:inherit; font-family:inherit; 11 - line-height: inherit; vertical-align: baseline; text-align:inherit; 12 - color:inherit; background: transparent; } 13 - 14 - table { border-collapse: collapse; border-spacing: 0; } 15 - 16 - /* Basic page layout */ 17 - 18 - body { font: normal 10pt/1.375em helvetica, arial, sans-serif; text-align:left; 19 - margin: 1.375em 10%; min-width: 40ex; max-width: 72ex; 20 - color: black; background: transparent /* url(line-height-22.gif) */; } 21 - 22 - b { font-weight: bold } 23 - em { font-style: italic } 24 - 25 - tt, code, pre { font-family: WorkAroundWebKitAndMozilla, monospace; 26 - font-size: 1em; } 27 - pre code { font-size : inherit; } 28 - .codepre { margin-bottom:1.375em /* after code example we introduce space. */ } 29 - 30 - .superscript,.subscript 31 - { font-size : 0.813em; line-height:0; margin-left:0.4ex;} 32 - .superscript { vertical-align: super; } 33 - .subscript { vertical-align: sub; } 34 - 35 - /* ocamldoc markup workaround hacks */ 36 - 37 - hr, hr + br, div + br, center + br, span + br, ul + br, ol + br, pre + br 38 - { display: none } /* annoying */ 39 - 40 - div.info + br { display:block} 41 - 42 - .codepre br + br { display: none } 43 - h1 + pre { margin-bottom:1.375em} /* Toplevel module description */ 44 - 45 - /* Sections and document divisions */ 46 - 47 - /* .navbar { margin-bottom: -1.375em } */ 48 - h1 { font-weight: bold; font-size: 1.5em; /* margin-top:1.833em; */ 49 - margin-top:0.917em; padding-top:0.875em; 50 - border-top-style:solid; border-width:1px; border-color:#AAA; } 51 - h2 { font-weight: bold; font-size: 1.313em; margin-top: 1.048em } 52 - h3 { font-weight: bold; font-size: 1.125em; margin-top: 1.222em } 53 - h3 { font-weight: bold; font-size: 1em; margin-top: 1.375em} 54 - h4 { font-style: italic; } 55 - 56 - /* Used by OCaml's own library documentation. */ 57 - h6 { font-weight: bold; font-size: 1.125em; margin-top: 1.222em } 58 - .h7 { font-weight: bold; font-size: 1em; margin-top: 1.375em } 59 - 60 - p { margin-top: 1.375em } 61 - pre { margin-top: 1.375em } 62 - .info { margin: 0.458em 0em -0.458em 2em;}/* Description of types values etc. */ 63 - td .info { margin:0; padding:0; margin-left: 2em;} /* Description in indexes */ 64 - 65 - ul, ol { margin-top:0.688em; padding-bottom:0.687em; 66 - list-style-position:outside} 67 - ul + p, ol + p { margin-top: 0em } 68 - ul { list-style-type: square } 69 - 70 - 71 - /* h2 + ul, h3 + ul, p + ul { } */ 72 - ul > li { margin-left: 1.375em; } 73 - ol > li { margin-left: 1.7em; } 74 - /* Links */ 75 - 76 - a, a:link, a:visited, a:active, a:hover { color : #00B; text-decoration: none } 77 - a:hover { text-decoration : underline } 78 - *:target {background-color: #FFFF99;} /* anchor highlight */ 79 - 80 - /* Code */ 81 - 82 - .keyword { font-weight: bold; } 83 - .comment { color : red } 84 - .constructor { color : green } 85 - .string { color : brown } 86 - .warning { color : red ; font-weight : bold } 87 - 88 - /* Functors */ 89 - 90 - .paramstable { border-style : hidden ; padding-bottom:1.375em} 91 - .paramstable code { margin-left: 1ex; margin-right: 1ex } 92 - .sig_block {margin-left: 1em} 93 - 94 - /* Images */ 95 - 96 - img { margin-top: 1.375em } 97 - 98 - /*--------------------------------------------------------------------------- 99 - Copyright (c) 2016 Daniel C. Bünzli 100 - 101 - Permission to use, copy, modify, and/or distribute this software for any 102 - purpose with or without fee is hereby granted, provided that the above 103 - copyright notice and this permission notice appear in all copies. 104 - 105 - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 106 - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 107 - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 108 - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 109 - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 110 - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 111 - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 112 - ---------------------------------------------------------------------------*/
+6 -6
opam base64.opam
··· 10 10 dev-repo: "https://github.com/mirage/ocaml-base64.git" 11 11 depends: [ 12 12 "base-bytes" 13 - "ocamlfind" {build} 14 - "ocamlbuild" {build} 15 - "topkg" {build} 13 + "jbuilder" {build} 16 14 "bos" {test} 17 15 "rresult" {test} 18 16 "alcotest" {test} 19 17 ] 20 - build: [ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" ] 18 + build: [ 19 + ["jbuilder" "subst"] {pinned} 20 + ["jbuilder" "build" "-p" name "-j" jobs] 21 + ] 21 22 build-test: [ 22 - [ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "true" ] 23 - [ "ocaml" "pkg/pkg.ml" "test" ] 23 + ["jbuilder" "runtest" "-p" name] 24 24 ]
-8
pkg/META
··· 1 - version = "%%VERSION_NUM%%" 2 - description = "Base64 encoding library" 3 - requires = "bytes" 4 - archive(byte) = "b64.cma" 5 - plugin(byte) = "b64.cma" 6 - archive(native) = "b64.cmxa" 7 - plugin(native) = "b64.cmxs" 8 - exists_if = "b64.cma"
+1 -8
pkg/pkg.ml
··· 1 - #!/usr/bin/env ocaml 2 1 #use "topfind" 3 - #require "topkg" 4 - open Topkg 5 - 6 - let () = 7 - Pkg.describe "base64" @@ fun c -> 8 - Ok [ Pkg.mllib "src/b64.mllib"; 9 - Pkg.test "test/test" ] 2 + #require "topkg-jbuilder.auto"
-4
src/b64.mllib
··· 1 - # OASIS_START 2 - # DO NOT EDIT (digest: d5b36098ec1795f41db1bb6de80e04b6) 3 - B64 4 - # OASIS_STOP
+7
src/jbuild
··· 1 + (jbuild_version 1) 2 + 3 + (library 4 + ((name base64) 5 + (wrapped false) 6 + (public_name base64) 7 + (libraries (bytes))))
+10
test/jbuild
··· 1 + (jbuild_version 1) 2 + 3 + (executable 4 + ((name test) 5 + (libraries (base64 rresult alcotest bos)))) 6 + 7 + (alias 8 + ((name runtest) 9 + (deps (test.exe)) 10 + (action (run ${<}))))