Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] oskel (0.1.0) #15640

Merged
merged 1 commit into from Jan 13, 2020
Merged

[new release] oskel (0.1.0) #15640

merged 1 commit into from Jan 13, 2020

Conversation

craigfe
Copy link
Contributor

@craigfe craigfe commented Jan 9, 2020

Skeleton generator for OCaml projects. Wrote this for myself, but perhaps others can make use of it 馃檪

oskel is a tool for generating stubs of OCaml projects pre-equipped with the standard boilerplate:

  • OCamlformat config file;
  • Alcotest scaffolding;
  • auto-generation of *.opam files via dune-project

It supports generating binaries with Cmdliner, Fmt and Logs support.

The resulting projects are compliant with dune-release lint.

@kit-ty-kate
Copy link
Member

This package fails on OCaml 4.05 and 4.06 with:


#=== ERROR while compiling oskel.0.1.0 ========================================#
# context              2.0.5 | linux/x86_64 | ocaml-base-compiler.4.05.0 | pinned(https://github.com/CraigFe/oskel/releases/download/0.1.0/oskel-0.1.0.tbz)
# path                 ~/.opam/4.05/.opam-switch/build/oskel.0.1.0
# command              ~/.opam/4.05/bin/dune build -p oskel -j 2 @install
# exit-code            1
# env-file             ~/.opam/log/oskel-23-46ade3.env
# output-file          ~/.opam/log/oskel-23-46ade3.out
### output ###
#     ocamlopt lib/.oskel.objs/native/oskel__License.{cmx,o} (exit 2)
# (cd _build/default && /home/opam/.opam/4.05/bin/ocamlopt.opt -w -40 -g -I lib/.oskel.objs/byte -I lib/.oskel.objs/native -I /home/opam/.opam/4.05/lib/fmt -I /home/opam/.opam/4.05/lib/logs -intf-suffix .ml -no-alias-deps -open Oskel__ -o lib/.oskel.objs/native/oskel__License.cmx -c -impl lib/license.ml)
# File "lib/license.ml", line 3, characters 4-1068:
# Error: This expression has type string but an expression was expected of type
#          ('a -> 'b -> 'c, Format.formatter, unit) Stdlib.format
# Stdlib.format is abstract because no corresponding cmi file was found in path.
#       ocamlc lib/.oskel.objs/byte/oskel__Config.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /home/opam/.opam/4.05/bin/ocamlc.opt -w -40 -g -bin-annot -I lib/.oskel.objs/byte -I /home/opam/.opam/4.05/lib/fmt -I /home/opam/.opam/4.05/lib/logs -no-alias-deps -open Oskel__ -o lib/.oskel.objs/byte/oskel__Config.cmo -c -impl lib/config.ml)
# File "lib/config.ml", line 1, characters 34-39:
# Error: This expression has type string but an expression was expected of type
#          ('a, Format.formatter, unit) Stdlib.format
# Stdlib.format is abstract because no corresponding cmi file was found in path.

@craigfe
Copy link
Contributor Author

craigfe commented Jan 9, 2020

So it does, thanks!

This has bitten me here and in two other places (mirage/alcotest#197 and mirage/index#142) for trying to adopt (implicit_transitive_deps false) as a discipline. Perhaps @rgrinberg or @diml has an idea of how to fix this?

@ghost
Copy link

ghost commented Jan 13, 2020

Maybe it is a missing explicit dependency on stdlib-shims?

CHANGES:

Initial release.
@craigfe
Copy link
Contributor Author

craigfe commented Jan 13, 2020

Maybe it is a missing explicit dependency on stdlib-shims?

Looks like that was it; thanks!

@mseri
Copy link
Member

mseri commented Jan 13, 2020

Looks good now, thanks

@mseri mseri merged commit 3c32bef into ocaml:master Jan 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants