Janet 1.27.0-01aab66 Documentation
(Other Versions:
1.26.0
1.25.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.1
1.17.1
1.16.1
1.15.0
1.13.1
1.12.2
1.11.1
1.10.1
1.9.1
1.8.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
)
JPM
Index
jpm/cc/archive-c jpm/cc/compile-c jpm/cc/create-buffer-c jpm/cc/create-buffer-c-impl jpm/cc/create-executable jpm/cc/embed-name jpm/cc/entry-name jpm/cc/entry-replace jpm/cc/link-c jpm/cc/make-bin-source jpm/cc/make-define jpm/cc/make-defines jpm/cc/modpath-to-meta jpm/cc/modpath-to-static jpm/cc/out-path jpm/cgen/add-loader jpm/cgen/ir jpm/cgen/mangle jpm/cgen/print-ir jpm/commands/build jpm/commands/clean jpm/commands/configure jpm/commands/deps jpm/commands/enable-local-mode jpm/commands/help jpm/commands/install jpm/commands/jpm-debug-repl jpm/commands/list-installed jpm/commands/list-pkgs jpm/commands/list-rules jpm/commands/list-tasks jpm/commands/new-c-project jpm/commands/new-project jpm/commands/quickbin jpm/commands/set-tree jpm/commands/show-paths jpm/commands/show-rule-tree jpm/commands/test jpm/commands/update-pkgs jpm/config/builtin-configs jpm/config/config-checkers jpm/config/config-docs jpm/config/config-options jpm/config/config-parsers jpm/config/config-set jpm/config/defconf jpm/config/dyn:ar jpm/config/dyn:auto-shebang jpm/config/dyn:binpath jpm/config/dyn:build-type jpm/config/dyn:buildpath jpm/config/dyn:c++ jpm/config/dyn:c++-link jpm/config/dyn:cc jpm/config/dyn:cc-link jpm/config/dyn:cflags jpm/config/dyn:cflags-verbose jpm/config/dyn:config-file jpm/config/dyn:cppflags jpm/config/dyn:curlpath jpm/config/dyn:dest-dir jpm/config/dyn:dynamic-cflags jpm/config/dyn:dynamic-lflags jpm/config/dyn:gitpath jpm/config/dyn:headerpath jpm/config/dyn:is-msvc jpm/config/dyn:janet jpm/config/dyn:janet-cflags jpm/config/dyn:janet-importlib jpm/config/dyn:janet-lflags jpm/config/dyn:ldflags jpm/config/dyn:lflags jpm/config/dyn:libpath jpm/config/dyn:local jpm/config/dyn:manpath jpm/config/dyn:modext jpm/config/dyn:modpath jpm/config/dyn:nocolor jpm/config/dyn:offline jpm/config/dyn:optimize jpm/config/dyn:pkglist jpm/config/dyn:silent jpm/config/dyn:statext jpm/config/dyn:tarpath jpm/config/dyn:test jpm/config/dyn:tree jpm/config/dyn:update-pkgs jpm/config/dyn:use-batch-shell jpm/config/dyn:verbose jpm/config/dyn:workers jpm/config/load-config jpm/config/load-config-file jpm/config/load-default jpm/config/load-options jpm/config/opt jpm/config/read-env-variables jpm/config/save-config jpm/config/shorthand-mapping jpm/dagbuild/pdag jpm/dagbuild/pmap jpm/make-config/auto jpm/make-config/generate-config jpm/pm/bundle-install jpm/pm/curl jpm/pm/do-rule jpm/pm/download-bundle jpm/pm/download-git-bundle jpm/pm/download-tar-bundle jpm/pm/git jpm/pm/import-rules jpm/pm/load-lockfile jpm/pm/load-project-meta jpm/pm/make-jpm-env jpm/pm/make-lockfile jpm/pm/out-of-tree-config jpm/pm/post-deps jpm/pm/require-jpm jpm/pm/resolve-bundle jpm/pm/tar jpm/pm/update-git-bundle jpm/pm/update-installed jpm/rules/add-body jpm/rules/add-dep jpm/rules/add-input jpm/rules/add-output jpm/rules/add-thunk jpm/rules/build-rules jpm/rules/getrules jpm/rules/phony jpm/rules/rule jpm/rules/sh-phony jpm/rules/sh-rule jpm/rules/sh-task jpm/rules/task jpm/scaffold/scaffold-project jpm/shutil/abspath jpm/shutil/basename jpm/shutil/clear-cache jpm/shutil/clear-manifest jpm/shutil/clexe-shell jpm/shutil/copy jpm/shutil/copyfile jpm/shutil/create-dirs jpm/shutil/devnull jpm/shutil/dirname jpm/shutil/drop1-shell jpm/shutil/exec-slurp jpm/shutil/filepath-replace jpm/shutil/find-build-dir jpm/shutil/find-cache jpm/shutil/find-manifest jpm/shutil/find-manifest-dir jpm/shutil/is-mingw jpm/shutil/is-win jpm/shutil/is-win-or-mingw jpm/shutil/path-splitter jpm/shutil/rimraf jpm/shutil/rm jpm/shutil/shell
Link object files together to make a static library.Community Examples / source
Compile a C file into an object file.Community Examples / source
Inline raw byte file as a c file.Community Examples / source
Links an image with libjanet.a (or .lib) to produce an executable. Also will try to link native modules into the final executable as well.Community Examples / source
Name of symbol that enters static compilation of a module.Community Examples / source
Escape special characters in the entry-nameCommunity Examples / source
Link C or C++ object files together to make a native module.Community Examples / source
Generate strings for adding custom defines to the compiler.Community Examples / source
Generate many defines. Takes a dictionary of defines. If a value is true, generates -DNAME (/DNAME on windows), otherwise -DNAME=value.Community Examples / source
Get the meta file path (.meta.janet) corresponding to a native module path (.so).Community Examples / source
Get the static library (.a) path corresponding to a native module path (.so).Community Examples / source
Take a source file path and convert it to an output path.Community Examples / source
Adds the custom template loader to Janet's module/loaders and update module/paths.Community Examples / source
Macro that automatically quotes the body provided and calls (print-ir ...) on the body.Community Examples / source
Convert any sequence of bytes to a valid C identifier in a way that is unlikely to collide. `print-ir` will not mangle symbols for you.Community Examples / source
Compile the CGEN IR to C and print it to (dyn :out).Community Examples / source
Setup an out-of-tree build with certain configuration options.Community Examples / source
Modify the config to enable local development. Creates a local tree if one does not exist in ./jpm_tree/Community Examples / source
Set the module tree for installing dependencies. This just sets the modpath binpath and manpath. Also creates the tree if it doesn't exist. However, still uses the system libraries and headers for janet.Community Examples / source
Table of all built-in options, as opposed to project deifned options.Community Examples / source
A table of all of the dynamic config bindings to checkers (validators).Community Examples / source
Table of all of the help text for each config option.Community Examples / source
A table of possible options for enum option types.Community Examples / source
A table of all of the dynamic config bindings to parsers.Community Examples / source
Define a function that wraps (dyn :keyword). This will allow use of dynamic bindings with static runtime checks.Community Examples / source
Load a configuration from a table or struct.Community Examples / source
Load a configuration from a file. If override is set, will override already set values. Otherwise will prefer the current value over the settings from the config file.Community Examples / source
Load the default configuration.Community Examples / source
Load a file that contains config options that can be set. If no such file exists, then do nothing.Community Examples / source
Get an option, allowing overrides via dynamic bindings AND some default value dflt if no dynamic binding is set.Community Examples / source
Read environment variables that correspond to config variables into dyns.Community Examples / source
Write the current configuration information to a file.Community Examples / source
Map some single characters to long options.Community Examples / source
Executes a dag by calling f on every node in the graph. Can set the number of workers for parallel execution. The graph is represented as a table mapping nodes to arrays of child nodes. Each node will only be evaluated after all children have been evaluated. Returns a table mapping each node to the result of `(f node)`.Community Examples / source
Function form of `ev/gather`. If any of the sibling fibers error, all other siblings will be canceled. Returns the gathered results in an array.Community Examples / source
Make a pretty good configuration file for the current target. Returns a buffer with config source contents. If `destdir` is given, will generate the folders needed to create a jpm tree.Community Examples / source
Install a bundle from a git repository.Community Examples / source
Evaluate a given rule in a one-off manner.Community Examples / source
Download the package source (using git) to the local cache. Return the path to the downloaded or cached soure code.Community Examples / source
Download a git bundle from a remote respositoryCommunity Examples / source
Download a dependency from a tape archive. The archive should have exactly one top level directory that contains the contents of the project.Community Examples / source
Import another file that defines more rules. This ruleset is merged into the current ruleset.Community Examples / source
Load packages from a lockfile.Community Examples / source
Load the metadata from a project.janet file without doing a full evaluation of the project.janet file. Returns a struct with the project metadata. Raises an error if no metadata found.Community Examples / source
Create an environment that is preloaded with jpm symbols.Community Examples / source
Create an out of tree build configuration. This lets a user have a debug or release build, as well as other configuration on a one time basis. This works by creating a new directory with a project.janet that loads in the original project.janet file with some settings changed.Community Examples / source
Run code at the top level if jpm dependencies are installed. Build code that imports dependencies should be wrapped with this macro, as project.janet needs to be able to run successfully even without dependencies installed.Community Examples / source
Require a jpm file project file. This is different from a normal require in that code is loaded in the jpm environment.Community Examples / source
Convert any bundle string/table to the normalized table form.Community Examples / source
Fetch latest tag version from remote repositoryCommunity Examples / source
Update all previously installed packages to their latest versions.Community Examples / source
Add recipe code to an existing rule. This makes existing rules do more but does not modify the dependency graph.Community Examples / source
Add a dependency to an existing rule. Useful for extending phony rules or extending the dependency graph of existing rules.Community Examples / source
Add an output file to an existing rule. Rules can contain multiple outputs, but are still referred to by a main target name.Community Examples / source
Append a thunk to a target's recipe.Community Examples / source
Given a graph of all rules, extract a work graph that will build out-of-date files.Community Examples / source
Add a rule that invokes a shell command, and fails if the command returns non-zero.Community Examples / source
Add a task that invokes a shell command, and fails if the command returns non-zero.Community Examples / source
Add a task rule to the rule graph. A task rule will always run if invoked (it is always considered out of date).Community Examples / source
Generate a standardized project scaffold.Community Examples / source
Create an absolute path. Does not resolve . and .. (useful for generating entries in install manifest file).Community Examples / source
Get the filename of a path without any leading directory components.Community Examples / source
Clear the global installation manifest.Community Examples / source
Copy a file or directory recursively from one location to another.Community Examples / source
Copy a file one location to another.Community Examples / source
Create all directories needed for a file (mkdir -p).Community Examples / source
Get the directory of a file without the filename.Community Examples / source
Variant of `shell` to play nice with cl.exe, which outputs some junk to terminal that can't be turned off.Community Examples / source
Read stdout of subprocess and return it trimmed in a string.Community Examples / source
Remove special characters from a string or path to make it into a path segment.Community Examples / source
Gets the build directory to output files to.Community Examples / source
Get the full path of a manifest file given a package name.Community Examples / source
Get the path to the directory containing manifests for installed packages.Community Examples / source
Check if we should assume a DOS-like shell or default to posix shell.Community Examples / source