- Dylan 99%
- Makefile 1%
|
Carl Gay
a7d95505db
pacman: Support SemVer pre-release and build-metadata
In the updated docs I removed stuff about using `abc@<ref>` because it's untested and almost certainly doesn't work yet. The obvious difficulty is that if a `abc@branch-name` is used, how does Deft figure out the URL of the package? Use the URL in the @latest version in the catalog? Need a better plan... |
||
|---|---|---|
| .github/workflows | deft new application: generate initial Sphinx doc | |
| documentation | pacman: Support SemVer pre-release and build-metadata | |
| sources | pacman: Support SemVer pre-release and build-metadata | |
| .gitignore | Update .gitignore | |
| .gitmodules | cleanup: remove submodules and simplify the Makefile | |
| dylan-package.json | Set version to 0.14.0 | |
| LICENSE | Initial commit | |
| Makefile |
Makefile: use deft status to find workspace directory
|
|
| README.md | deft new application: new directory organization | |
Deft
Deft is a tool for developing Dylan code which aspires to meet with Fernando Borretti's approval. Basically that means it aspires to be similar to Cargo, apparently.
For Dylan, this specifically means:
- Make it easy to find relevant libraries
- Manage project dependencies
- No more editing registry files
- No more Git submodules
- Build and test from anywhere in your workspace
- Create application, library, and test suite boilerplate for new projects
- Create reference docs for your project [TODO]
Deft simplifies the management of Dylan workspaces and packages and provides a simplified interface to the Open Dylan compiler for building, testing, and generating documentation. It eliminates the need to manage library locations (registries) by hand and the need to use Git submodules to track dependencies.
$ deft new application hello
Downloaded pacman-catalog@master to /tmp/dylan/_packages/pacman-catalog/master/src/
Created library hello.
Created library hello-test-suite.
Created library hello-app.
Downloaded strings@1.1.0 to /tmp/hello/_packages/strings/1.1.0/src/
Downloaded command-line-parser@3.1.1 to /tmp/hello/_packages/command-line-parser/3.1.1/src/
Downloaded json@1.0.0 to /tmp/hello/_packages/json/1.0.0/src/
Downloaded testworks@2.3.1 to /tmp/hello/_packages/testworks/2.3.1/src/
Updated 18 files in /tmp/hello/registry/.
$ cd hello
$ deft build --all
Open Dylan 2023.1
Build of 'hello-test-suite' completed
Build of 'hello-app' completed
Build of 'hello' completed
$ _build/bin/hello-app
Hello world!
A key part of this tool is the package manager (pacman) and its catalog of packages, the pacman-catalog repository. For any package to be downloadable it must have an entry in the catalog.
Full documentation is here.
Bugs
If you have a feature request, think something should be designed differently, or find bugs, file a bug report.