├── CNAME
├── .gitignore
├── _pages
├── try.md
├── 404.md
├── install.md
├── blog.html
└── examples.md
├── _includes
├── .#open-source-logo.html
├── button.html
├── open-source-link.html
├── image.html
├── nav.html
├── toc.html
├── header.html
├── footer.html
└── head.html
├── _layouts
├── docs.html
├── external_article.html
├── home.html
├── page.html
├── base.html
└── blog.html
├── assets
├── imgs
│ ├── JS_logo.png
│ ├── OCaml_logo.png
│ ├── dune-2.0.0.png
│ ├── dune_logo.png
│ ├── dune-describe.png
│ ├── dune-lambdas.png
│ ├── dune_favicon.png
│ ├── dune_mobile_logo.png
│ ├── github_logo_dark.png
│ ├── js_open_source.png
│ ├── dune-retreat-2020.jpeg
│ └── jbuilder-deprecated.png
├── js
│ └── scripts.js
└── styles
│ └── main.scss
├── _data
├── footer.yml
├── authors.yml
└── nav.yml
├── _posts
├── 2018-09-06-dune-1-2-0.md
├── 2018-08-02-dune-1-1-0.md
├── 2018-12-19-virtual-libraries.md
├── 2019-01-30-second-step-deprecation.md
├── 2019-04-10-dune-1-9-0.md
├── 2020-03-11-dune-describe.md
├── 2021-03-05-dune-3-plan.md
├── 2019-01-03-configurator-constants.md
├── 2018-12-14-new-computation-model.md
├── 2019-07-16-dune-2-coming-soon.md
└── 2020-02-26-dune-retreat-2020.md
├── _sass
├── _page.scss
├── _settings.scss
├── _blog.scss
├── _footer.scss
├── _docs.scss
├── _styles.scss
├── _header.scss
└── _syntax.scss
├── Gemfile
├── _config.yml
├── README.md
├── index.md
└── Gemfile.lock
/CNAME:
--------------------------------------------------------------------------------
1 | dune.build
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _site
2 | .bundle
3 | vendor
4 |
--------------------------------------------------------------------------------
/_pages/try.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Try Dune
3 | ---
4 |
--------------------------------------------------------------------------------
/_includes/.#open-source-logo.html:
--------------------------------------------------------------------------------
1 | ynagai@igm-qws-u12712a.28375:1520062067
--------------------------------------------------------------------------------
/_layouts/docs.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: base
3 | category: docs
4 | ---
5 | {{ content }}
6 |
--------------------------------------------------------------------------------
/_pages/404.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Page Not Found
3 | tagline: The requested page could not be found.
4 | ---
5 |
--------------------------------------------------------------------------------
/assets/imgs/JS_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/JS_logo.png
--------------------------------------------------------------------------------
/assets/imgs/OCaml_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/OCaml_logo.png
--------------------------------------------------------------------------------
/assets/imgs/dune-2.0.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune-2.0.0.png
--------------------------------------------------------------------------------
/assets/imgs/dune_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune_logo.png
--------------------------------------------------------------------------------
/assets/imgs/dune-describe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune-describe.png
--------------------------------------------------------------------------------
/assets/imgs/dune-lambdas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune-lambdas.png
--------------------------------------------------------------------------------
/assets/imgs/dune_favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune_favicon.png
--------------------------------------------------------------------------------
/assets/imgs/dune_mobile_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune_mobile_logo.png
--------------------------------------------------------------------------------
/assets/imgs/github_logo_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/github_logo_dark.png
--------------------------------------------------------------------------------
/assets/imgs/js_open_source.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/js_open_source.png
--------------------------------------------------------------------------------
/assets/imgs/dune-retreat-2020.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/dune-retreat-2020.jpeg
--------------------------------------------------------------------------------
/_layouts/external_article.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: base
3 | ---
4 |
5 |
--------------------------------------------------------------------------------
/assets/imgs/jbuilder-deprecated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Leonidas-from-XIV/dune-www/master/assets/imgs/jbuilder-deprecated.png
--------------------------------------------------------------------------------
/_includes/button.html:
--------------------------------------------------------------------------------
1 | {% if include.url %}{% endif %}{{ include.text }}
{% if include.url %}{% endif %}
2 |
--------------------------------------------------------------------------------
/_data/footer.yml:
--------------------------------------------------------------------------------
1 | # Main nav links
2 | - title: Documentation
3 | desc: Get started & learn more
4 | url: https://dune.readthedocs.io
5 | - title: Github
6 | desc: Browse source, file and discuss issues
7 | url: https://github.com/ocaml/dune
8 |
--------------------------------------------------------------------------------
/_data/authors.yml:
--------------------------------------------------------------------------------
1 | - id: jeremiedimino
2 | name: Jeremie Dimino
3 | - id: rgrinb
4 | name: Rudi Grinberg
5 | - id: etiennemillon
6 | name: Etienne Millon
7 | - id: TheLortex
8 | name: Lucas Pluvinage
9 | - id: andreymokhov
10 | name: Andrey Mokhov
11 |
--------------------------------------------------------------------------------
/_includes/open-source-link.html:
--------------------------------------------------------------------------------
1 |
6 | {% include header.html %}
7 |
8 | {% if page.layout == 'docs' %}{% include toc.html %}{% endif %}
9 |
10 |
11 | {{ content }}
12 |
13 |
14 |
15 |
16 | {% include footer.html %}
17 |
18 |
19 |
--------------------------------------------------------------------------------
/_sass/_page.scss:
--------------------------------------------------------------------------------
1 | main {
2 | .main-container {
3 | min-height: 250px;
4 |
5 | .page-header {
6 | text-align: center;
7 | max-width: 600px;
8 | margin: 40px auto;
9 |
10 | h1 {
11 | font-size: 48px;
12 | font-weight: bold;
13 | }
14 |
15 | small {
16 | font-size: 17px;
17 | }
18 | }
19 |
20 | p {
21 | line-height: 1.5em;
22 | margin-bottom: 15px;
23 | }
24 |
25 | ul {
26 | margin-bottom: 15px;
27 | }
28 |
29 | .flex-grid .col pre {
30 | width: auto;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/_includes/toc.html:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
14 |
15 | {% if page.picture %}
16 |
19 | {% endif %}
20 |
21 |
22 | {{ content }}
23 |
24 |
25 | {% if page.discuss %}
26 |
31 | {% endif %}
32 |
33 | {% if page.tags.size > 0 %}
34 | Tag{% if page.tags.size > 1 %}s{% endif %}: {{ page.tags | sort | join: ", " }}
35 | {% endif %}
36 |
37 |
--------------------------------------------------------------------------------
/_sass/_footer.scss:
--------------------------------------------------------------------------------
1 | .site-footer {
2 | background-color: $footer-bg;
3 | padding: 20px 0;
4 | color: $white;
5 | z-index: 100;
6 | .col {
7 | h3 {
8 | font-family: $med-font;
9 | font-size: 32px;
10 | color: $white;
11 | }
12 | a {
13 | color: $white;
14 | font-weight: bold;
15 | }
16 | p {
17 | font-family: $light-font;
18 | }
19 | a, p {
20 | font-size: 19px;
21 | }
22 | ul {
23 | margin: 0;
24 | }
25 | ul li {
26 | list-style: none;
27 | }
28 | }
29 |
30 | .footer-logos {
31 | margin-top: 20px;
32 | text-align: center;
33 | img {
34 | margin: 15px;
35 | max-width: 130px;
36 | height: 29px;
37 | &:nth-child(2) {
38 | margin-right: 0;
39 | }
40 | }
41 | }
42 | }
43 |
44 | @media screen and (max-width: $sm-device) {
45 | .site-footer {
46 | .footer-logos {
47 | img:first-child {
48 | margin-left: 0;
49 | }
50 | }
51 | .col {
52 | margin-left: 0;
53 | margin-right: 0;
54 | h3 {
55 | font-size: 24px;
56 | }
57 | a, p {
58 | font-size: 17px;
59 | }
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Welcome to GitHub Pages
2 |
3 | You can use the [editor on GitHub](https://github.com/ocaml/dune-www/edit/master/README.md) to maintain and preview the content for your website in Markdown files.
4 |
5 | Whenever you commit to this repository, GitHub Pages will run [Jekyll](https://jekyllrb.com/) to rebuild the pages in your site, from the content in your Markdown files.
6 |
7 | ### Markdown
8 |
9 | Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
10 |
11 | ```markdown
12 | Syntax highlighted code block
13 |
14 | # Header 1
15 | ## Header 2
16 | ### Header 3
17 |
18 | - Bulleted
19 | - List
20 |
21 | 1. Numbered
22 | 2. List
23 |
24 | **Bold** and _Italic_ and `Code` text
25 |
26 | [Link](url) and 
27 | ```
28 |
29 | For more details see [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/).
30 |
31 | ### Jekyll Themes
32 |
33 | Your Pages site will use the layout and styles from the Jekyll theme you have selected in your [repository settings](https://github.com/ocaml/dune-www/settings). The name of this theme is saved in the Jekyll `_config.yml` configuration file.
34 |
35 | ### Support or Contact
36 |
37 | Having trouble with Pages? Check out our [documentation](https://help.github.com/categories/github-pages-basics/) or [contact support](https://github.com/contact) and we’ll help you sort it out.
38 |
--------------------------------------------------------------------------------
/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: base
3 | ---
4 |
5 |
6 | Dune is a build system for OCaml projects.
7 | Using it, you can build executables, libraries, run tests, and much more.
8 |
9 |
10 |
11 | #### Dune knows OCaml and its ecosystem
12 | Dune has rules that precisely capture how the OCaml toolchain works.
13 | It is able to interoperate with most of the existing tools like OPAM, merlin,
14 | reason, and `js_of_ocaml`.
15 |
16 | #### Dune is fast
17 | Dune works hard to do things once and in parallel, so both cold and incremental
18 | builds are way faster than traditional build systems.
19 |
20 | #### Dune is widely used
21 | Dune is used in both large projects and small libraries.
22 | About 40% of OPAM packages are built using Dune.
23 |
24 |
25 |
26 | #### `dune`
27 | ```scheme
28 | (executable
29 | (name hello_world)
30 | (libraries lwt.unix))
31 | ```
32 |
33 | #### `hello_world.ml`
34 | ```ocaml
35 | Lwt_main.run (Lwt_io.printf "Hello, world!\n")
36 | ```
37 |
38 | #### Your shell
39 |
40 | ```
41 | $ dune build hello_world.exe
42 | $ ./_build/default/hello_world.exe
43 | Hello, world!
44 | ```
45 |
46 | *Note: Dune uniformly uses the `.exe` extension to build native executables, even on Unix where programs don't usually have a `.exe` extension.*
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/_pages/examples.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Examples
3 | tagline: Dune files you can use for common cases
4 | ---
5 |
6 | The following examples come from the [dune quickstart], where more explanations
7 | can be found.
8 |
9 | [dune quickstart]: https://dune.readthedocs.io/en/latest/quick-start.html
10 |
11 | # Executable
12 |
13 | This will build `hello_world.ml` into an executable as
14 | `_build/default/hello_world.exe`.
15 |
16 | ```scheme
17 | (executable
18 | (name hello_world)
19 | (libraries lwt.unix))
20 | ```
21 |
22 | # Library
23 |
24 | ```scheme
25 | (library
26 | (name mylib)
27 | (libraries re lwt))
28 | ```
29 |
30 | The library will be composed of all the modules in the same directory. Outside
31 | of the library, module ``Foo`` will be accessible as ``Mylib.Foo``, unless you
32 | write an explicit ``mylib.ml`` file.
33 |
34 | This library can be made available as an opam package if you replace `(name
35 | mylib)` by `(public_name mylib)` and write a `mylib.opam` file.
36 |
37 | # Tests
38 |
39 | ```scheme
40 | (test
41 | (name my_test_program))
42 | ```
43 |
44 | With this, the tests can be run using `dune runtest`.
45 |
46 | It will run the test program (the main module is ``my_test_program.ml``) and
47 | error if it exits with a nonzero code.
48 |
49 | # Mix and match
50 |
51 | A typical project will have several `dune` files referring to each other.
52 |
53 | For example:
54 |
55 | ```
56 | project
57 | ├── bin
58 | │ ├── dune
59 | │ └── mylib-demo.ml
60 | ├── lib
61 | │ ├── dune
62 | │ ├── mylib.ml
63 | │ ├── mylib.mli
64 | │ └── mylib.opam
65 | └── test
66 | ├── dune
67 | └── test_mylib.ml
68 | ```
69 |
70 | - `bin/dune` defines an executable depending on `mylib`
71 | - `test/dune` defines a test executable depending on `mylib`
72 |
73 | Note that the `bin`, `lib`, `test` directory names are not meaningful to dune.
74 |
--------------------------------------------------------------------------------
/_sass/_docs.scss:
--------------------------------------------------------------------------------
1 | .page-wrap.docs {
2 | main {
3 | display: flex;
4 | }
5 | .toc-wrapper {
6 | margin: 50px 30px 30px 4%;
7 | width: 275px;
8 | .toc {
9 | background: $white;
10 | padding: 20px;
11 | #nav-wrapper {
12 | position: relative;
13 | #hamburger {
14 | cursor: pointer;
15 | height: 50px;
16 | padding: 15px 20px;
17 | margin-bottom: 0;
18 | #hamburg-icon {
19 | display: none;
20 | margin-right: 10px;
21 | }
22 | }
23 | #nav-items {
24 | padding: 0 30px;
25 | }
26 | }
27 | ul li a {
28 | line-height: 1.5em;
29 | &.active {
30 | font-weight: bold;
31 | color: $theme-color;
32 | }
33 | }
34 | }
35 | }
36 |
37 | .main-container {
38 | max-width: 63%;
39 | flex: 1;
40 | }
41 |
42 | @media screen and (max-width: $sm-device) {
43 | // Mobile menu
44 | .toc-wrapper {
45 | background: $white;
46 | height: 40px;
47 | left: 0;
48 | right: 0;
49 | position: absolute;
50 | width: 100%;
51 | z-index: 100;
52 | margin: 0;
53 | .toc {
54 | padding: 0;
55 | border-bottom: 1px solid $theme-color;
56 | #nav-wrapper {
57 | #hamburger #hamburg-icon {
58 | display: inline-block;
59 | }
60 | #nav-items {
61 | display: none;
62 | }
63 | }
64 | }
65 | }
66 | .main-container {
67 | max-width: 100%;
68 | margin-top: 80px;
69 | }
70 |
71 | // Open mobile menu
72 | &.open .toc-wrapper {
73 | box-sizing: border-box;
74 | height: auto;
75 | overflow-y: auto;
76 | transition: .3s ease all;
77 | .toc #nav-wrapper #nav-items {
78 | display: block;
79 | padding-bottom: 20px;
80 | }
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/_sass/_styles.scss:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | html, body {
8 | height: 100%;
9 | font-family: $main-font;
10 | font-size: 100%;
11 | color: $dark-gray;
12 | text-rendering: optimizeLegibility;
13 | background-color: $bg-gray;
14 | }
15 |
16 | body {
17 | display: flex;
18 | flex-direction: column;
19 | scroll-behavior: smooth;
20 | }
21 |
22 | .page-wrap {
23 | flex: 1 0 auto;
24 | }
25 |
26 | .wrapper {
27 | margin: 0px auto;
28 | max-width: 900px;
29 | padding: 0 20px;
30 | }
31 |
32 | .flex-grid {
33 | display: flex;
34 | justify-content: space-between;
35 | align-items: stretch;
36 | }
37 |
38 | .flex-grid > * {
39 | margin: 10px;
40 | flex: 1 100%;
41 | }
42 |
43 | header a {
44 | text-decoration: none;
45 | }
46 |
47 | footer a {
48 | text-decoration: none;
49 | }
50 |
51 | a {
52 | color: $dark-gray;
53 | }
54 |
55 | p {
56 | font-size: 16px;
57 | }
58 |
59 | h1, h2, h3, h4, h5, h6 {
60 | margin-bottom: 6px;
61 | }
62 |
63 | main ul {
64 | margin-left: 20px;
65 | }
66 |
67 | .code-container {
68 | background-color: #f8f8f8;
69 | padding: 30px;
70 | }
71 |
72 | pre {
73 | font-family: $code-font;
74 | white-space: pre;
75 | margin-bottom: 20px;
76 | }
77 |
78 | .text-container {
79 | background: $white;
80 | padding: 30px;
81 | p:last-child {
82 | margin-bottom: 0;
83 | }
84 | }
85 |
86 | .section {
87 | margin: 50px 0;
88 | h1, h3 {
89 | text-align: center;
90 | }
91 | h1 {
92 | font-size: 48px;
93 | }
94 | h3 {
95 | font-size: 17px;
96 | font-weight: normal;
97 | margin-bottom: 20px;
98 | }
99 | }
100 |
101 | .button {
102 | display: inline-block;
103 | padding: 7px 12px 6px 12px;
104 | text-transform: uppercase;
105 | border: 2px solid $button-border;
106 | background: $header-bg;
107 | color: $black;
108 | font-size: 14px;
109 | font-weight: bold;
110 | margin: 0 2px;
111 | }
112 |
113 | @media screen and (max-width: $sm-device) {
114 | .flex-grid {
115 | display: block !important;
116 | }
117 | .flex-grid > * {
118 | margin: 10px 0;
119 | }
120 | article.blog-post .post-header h3,
121 | .section h1,
122 | main .main-container .page-header h1 {
123 | font-size: 30px;
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/_sass/_header.scss:
--------------------------------------------------------------------------------
1 | header {
2 | text-align: center;
3 | padding-top: 50px;
4 | background-color: $header-bg;
5 |
6 | .wrapper {
7 | position: relative;
8 | }
9 | .header-logo {
10 | position: relative;
11 | margin-top: 20px;
12 | .logo {
13 | max-width: 380px;
14 | width: 100%;
15 | height: 100px;
16 | background-repeat: no-repeat;
17 | background-size: 100% 100%;
18 | margin: 0 auto;
19 | background-image: url(/assets/imgs/dune_logo.png);
20 | }
21 | }
22 |
23 | .open-source-link {
24 | position: absolute;
25 | top: -70px;
26 | cursor: pointer;
27 | .text {
28 | position: absolute;
29 | top: 20px;
30 | font-size: 14px;
31 | transition: .5s all ease;
32 | opacity: 0;
33 | width: 200px;
34 | }
35 | &:hover {
36 | .text {
37 | opacity: 1;
38 | -webkit-transform: translate(20px, 0);
39 | transform: translate(20px, 0);
40 | }
41 | }
42 | img {
43 | width: 50px;
44 | height: 50px;
45 | z-index: 99;
46 | }
47 | }
48 |
49 | .github-logo {
50 | max-width: 38px;
51 | position: relative;
52 | bottom: -15px;
53 | }
54 |
55 | .links-container {
56 | position: absolute;
57 | right: 20px;
58 | top: -70px;
59 | a { margin: 0 2px; }
60 | }
61 |
62 | .tagline {
63 | font-family: $light-font;
64 | margin-top: 20px;
65 | font-style: italic;
66 | font-size: 14px;
67 | color: $black;
68 | }
69 |
70 | nav {
71 | border-top: 1px solid $nav-border-top;
72 | border-bottom: 5px solid $theme-color;
73 | margin-top: 50px;
74 | padding: 8px 0;
75 | background-color: $white;
76 | ul {
77 | padding: 10px 0;
78 | li {
79 | list-style: none;
80 | display: inline-block;
81 | &.active a {
82 | border-bottom: 3px solid $theme-color;
83 | }
84 | a {
85 | padding-bottom: 6px;
86 | margin: 0 20px;
87 | font-size: 20px;
88 | text-transform: uppercase;
89 | color: $black;
90 | font-family: $med-font;
91 | }
92 | }
93 | }
94 | }
95 | }
96 |
97 | @media screen and (max-width: $sm-device) {
98 | header nav ul li a {
99 | margin: 0 8px;
100 | font-size: 14px;
101 | }
102 | header .header-logo .logo {
103 | background-image: url(/assets/imgs/dune_mobile_logo.png);
104 | height: 270px;
105 | width: 240px;
106 | }
107 | header .tagline {
108 | position: absolute;
109 | right: 0;
110 | left: 0;
111 | bottom: 0;
112 | }
113 | header .links-container span {
114 | display: none;
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/_sass/_syntax.scss:
--------------------------------------------------------------------------------
1 | .highlighter-rouge {
2 | margin: 0;
3 | display: inline;
4 | }
5 |
6 | pre {
7 | background-color: #f8f8f8;
8 | padding: 6px 10px;
9 | border-radius: 2px;
10 | overflow-x:auto;
11 | }
12 |
13 | $olivegray: #999988;
14 | $palepink: #e3d2d2;
15 | $darkred: #a61717;
16 | $medgray: #999;
17 |
18 | .highlight {
19 |
20 | pre,
21 | .hll {
22 | @extend pre;
23 | }
24 |
25 | .c,
26 | .cm,
27 | .c1 {
28 | color: $olivegray;
29 | }
30 |
31 | .gr,
32 | .gt {
33 | color: $darkred;
34 | }
35 |
36 | .k,
37 | .o,
38 | .cp,
39 | .cs,
40 | .gs,
41 | .kc,
42 | .kd,
43 | .kn,
44 | .kp,
45 | .kr,
46 | .gu,
47 | .ne,
48 | .nf,
49 | .ow {
50 | font-weight: bold;
51 | }
52 |
53 | .cp,
54 | .cs,
55 | .gh {
56 | color: $medgray;
57 | }
58 |
59 | .gd,
60 | .gd .x,
61 | .gi,
62 | .gi .x {
63 | color: black;
64 | }
65 |
66 | .gd {
67 | background-color: $palepink;
68 | }
69 |
70 | .gd .x {
71 | background-color: #ffaaaa;
72 | }
73 |
74 | .gi {
75 | background-color: #ddffdd;
76 |
77 | .x {
78 | background-color: #aaffaa;
79 | }
80 | }
81 |
82 | .go {
83 | color: #888;
84 | }
85 |
86 | .gp {
87 | color: #555;
88 | }
89 |
90 | .gu {
91 | color: #800080;
92 | }
93 |
94 | .kt {
95 | color: #445588;
96 | font-weight: bold;
97 | }
98 |
99 | .m {
100 | color: #009999;
101 | }
102 |
103 | .s {
104 | color: #dd1144;
105 | }
106 |
107 | .n {
108 | color: #333;
109 | }
110 |
111 | .na {
112 | color: teal;
113 | }
114 |
115 | .nb {
116 | color: #0086b3;
117 | }
118 |
119 | .nc {
120 | color: #445588;
121 | font-weight: bold;
122 | }
123 |
124 | .no {
125 | color: teal;
126 | }
127 |
128 | .ni {
129 | color: purple;
130 | }
131 |
132 | .ne {
133 | color: #990000;
134 | }
135 |
136 | .nf {
137 | color: #990000;
138 | }
139 |
140 | .nn {
141 | color: #555555;
142 | }
143 |
144 | .nt {
145 | color: navy;
146 | }
147 |
148 | .nv {
149 | color: teal;
150 | }
151 |
152 | .w {
153 | color: #bbbbbb;
154 | }
155 |
156 | .mf {
157 | color: #009999;
158 | }
159 |
160 | .mh {
161 | color: #009999;
162 | }
163 |
164 | .mi {
165 | color: #009999;
166 | }
167 |
168 | .mo {
169 | color: #009999;
170 | }
171 |
172 | .sb {
173 | color: #dd1144;
174 | }
175 |
176 | .sc {
177 | color: #dd1144;
178 | }
179 |
180 | .sd {
181 | color: #dd1144;
182 | }
183 |
184 | .s2 {
185 | color: #dd1144;
186 | }
187 |
188 | .se {
189 | color: #dd1144;
190 | }
191 |
192 | .sh {
193 | color: #dd1144;
194 | }
195 |
196 | .si {
197 | color: #dd1144;
198 | }
199 |
200 | .sx {
201 | color: #dd1144;
202 | }
203 |
204 | .sr {
205 | color: #009926;
206 | }
207 |
208 | .s1 {
209 | color: #dd1144;
210 | }
211 |
212 | .ss {
213 | color: #990073;
214 | }
215 |
216 | .bp {
217 | color: $medgray;
218 | }
219 |
220 | .vc {
221 | color: teal;
222 | }
223 |
224 | .vg {
225 | color: teal;
226 | }
227 |
228 | .vi {
229 | color: teal;
230 | }
231 |
232 | .il {
233 | color: #009999;
234 | }
235 |
236 | .gc {
237 | color: #999;
238 | background-color: #EAF2F5;
239 | }
240 | }
241 |
--------------------------------------------------------------------------------
/_posts/2019-01-30-second-step-deprecation.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: blog
3 | title: Second stage of the Jbuilder deprecation
4 | author: jeremiedimino
5 | tags: [ocaml, dune, jbuilder]
6 | picture: /assets/imgs/jbuilder-deprecated.png
7 | discuss: https://discuss.ocaml.org/t/second-stage-of-the-jbuilder-deprecation
8 | ---
9 |
10 | As [planned][migration], we are now entering the second stage of the
11 | Jbuilder deprecation. This means that the `jbuilder` binary still
12 | exists and work as before however it prints a warning on every
13 | startup. Additionally, `jbuild` files are still accepted but both
14 | `jbuilder` and `dune` display a warning when encountering them. This
15 | behavior is now in the development version of dune and will be part of
16 | the upcoming 1.7.0 release.
17 |
18 | The support for the `jbuilder` binary and `jbuild` files will be
19 | discontinued in July 2019. If you haven't switch your project to
20 | dune already, now is a good time to do it.
21 |
22 | To do that, you can either follow the [migration's guide][migration],
23 | or use the newly added `dune upgrade` command that does it for you.
24 |
25 | Using the automatic upgrader
26 | ----------------------------
27 |
28 | The automatic upgrader is a new feature in dune 1.7.0. It automatically
29 | convert your project from jbuilder to dune. Using it is as simple as
30 | running the following command at the root of your project:
31 |
32 | ```
33 | $ dune upgrade
34 | ```
35 |
36 | Note that this command also work on workspaces composed of several
37 | projects. In this case, all projects in the workspace are converted.
38 |
39 | The upgrader crawls the workspace and automatically convert every
40 | `jbuild` and `jbuild-ignore` files it encounter to a `dune` file. It
41 | also creates `dune-project` files wherever appropriate. Note that the
42 | `dune` files are all pretty-printed, so the layout of your original
43 | `jbuild` will not be preserved.
44 |
45 | Additionally, `dune upgrade` also edits your `