-
-
Notifications
You must be signed in to change notification settings - Fork 23
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrote DUB introduction in index page. #84
base: master
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for dub-registry ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
41f0475
to
90ae9f2
Compare
docs/index.md
Outdated
DUB is a build tool similar to other modern languages build tools like Javascript's [npm](https://www.npmjs.com/) | ||
and Rust's [cargo](https://crates.io/). | ||
|
||
A file called `dub.sdl` (or `dub.json`) is used to configure a DUB project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically, that is called the "recipe file"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would mention the 3 files that drive dub:
- Recipe file, per project;
- Selections file, or lock file, tied to a recipe file;
- Configuration file, which can be at project, user, or system scope;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configuration file refers to this one? https://dub.pm/dub-reference/settings/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've edited the text to mention all three files.
docs/index.md
Outdated
|
||
A file called `dub.sdl` (or `dub.json`) is used to configure a DUB project. | ||
|
||
> [SDL](https://sdlang.org/) is a "Simple Declarative Language" inspired by D's syntax. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is inspired by D's syntax though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, SDL is an independent project (possibly, but I don't remember, implemented first in a language other than D). After various community members compared different alternatives to JSON, SDL stood out as the one most fitting Dub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I think I just guessed it :D. I will remove that comment then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've changed this passage, let me know if it's ok now.
[DUB Configurations](dub-reference/configurations.md) are used to create different variations of a project. | ||
|
||
In the above example, all configurations include a dependency on `libasync` because that's declared at the top-level, | ||
but only the `unittest` configuration includes the dependencies `tested` and `dshould`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note for yourself: There is a longstanding bug in dub and that is currently not the case. But we intend to fix it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh... but does the test lib actually get included in the compiled binaries?
Thanks for taking the time to do this! |
I had trouble understanding where DUB lies in comparison with other build tools as I was learning it, so I decided to write an introduction that would've really helped me (and others like me) understand it quickly.