Will you use oasis -> dune migration tool?

Since many of you know, dune becomes de-facto default build system for the OCaml ecosystem, and there is a non-trivial amount of the oasis-based projects, its developers ask if the automated conversion tool will be welcomed by the community.

See the oasis - #109 issue for the discussion.

1 Like

How many packages is a “non trivial” amount?
About a year ago the dune team discussed in passing making such a migration helper. But even back then, there wasn’t that many packages with a > 0 number of users that still used oasis. Now such a tool seems even less useful.

Regardless, I welcome the deprecation and I’d like to thank oasis and its team of devs for a great tool that helped me a lot over the years.

2 Likes

This is the complete list of published packages that still use oasis as a build system:

Why does that list include packages like containers or cohttp? Those packages have switched to dune a long time ago.

It is an automated export from the opam. I filtered some I knew, but seems not enough. Probably they are not released on the opam yet.

Updated the list.

obus uses dune now. I don’t think that oasis->dune migration tool is worth it. There are not that many packages, and the manual transition is usually not that hard.

About a year ago the dune team discussed in passing making such a migration helper. But even back then, there wasn’t that many packages with a > 0 number of users that still used oasis. Now such a tool seems even less useful.

I second that, I think a lot of users of Oasis (including me) made the
jump to dune a while ago. If one of my repos still uses oasis it means I
don’t really use it (but I’d still migrate it manually if requested).

Regardless, I welcome the deprecation and I’d like to thank oasis and its team of devs for a great tool that helped me a lot over the years.

Same, oasis was a good tool for having multiple sub-libraries and
executables. Dune is just a much more refined, code-gen-free, faster,
and cleaner tool for the same kind of project. So thanks to both teams!

5 Likes

(I am the original author of OASIS).

Thanks all for the kudos on OASIS. This was a good tool and it helped in the past. I want to let people know how to migrate to something else and I thought that a tool to do the migration would be the best.

If not tool, can you help me write an HOWTO migrate libraries and executables to dune?

I might just write a short documentation to explain how to do the migration and it should be good enough…

WDYT

6 Likes

I’ve migrated a few projects from oasis to dune, again, and generally it’s been quite smooth on the oasis side (ocamlbuild magic isn’t as nice). In my experience an oasis library can map relatively cleanly to a dune library (just make sure it’s in its own dir).

Packed: true becomes (wrapped true), something like that; executables all have their own dune entry. I could provide a bunch of commits that show such migrations; after all seeing concrete uses is how I learnt oasis in the first place (thanks to lwt).

1 Like

@c-cube I would be pleased to integrate your examples.

I have created a specific issue to create a documentation for the migration:

Feel free to add directly your examples on the issue tracker, it will help me to write the doc.

Hi Sylvain,

I’m joining the others to say thanks about oasis! It has also helped me over the years :slight_smile: I remember when I switched Lwt to one of the first version of oasis, it was really nice to be able to formalise things I was doing in a ad-hoc and sometimes wrong way by hand.