<< ismodule | Modules manager | modulepath >> |
A module.json file is required for each nelson's external module, it allows to manager easily with nmm function.
module: unique identifier module short name (alphanumeric characters), example: "module_skeleton_basic"
title: complete module name (human friendly name), example: "Module skeleton basic"
summary: one line description, example: "Skeleton of a basic nelson package"
version: version number using semantic versioning, example: "1.0.0"
platforms: platforms supported.
"all" for all platforms
others platforms:
"win32": windows 32 bits
"win64": windows 64 bits
"maci64": macos 64 bits build
"maci32": macos 32 bits build
"glnxa64": linux 64 bits build
"glnxa32": linux 64 bits build
example: ["win64", "glnxa64"], module will be available only on windows and linux 64 bits platforms.
nelson: nelson's supported versions, example: "<2.0.0" (default)
builtin: true if module requires C/C++ compiler, false if module have only macros.
author: Author information: name, email and website
Example:
{
"name": "Allan CORNET",
"email": "nelson.numerical.computation@gmail.com",
"url": "https://nelson-lang.github.io/nelson-website/"
}
homepage: homepage of the module, example "https://github.com/nelson-lang/module_skeleton_basic"
description: full description of the module, markdown format supported, example: "nelson's module skeleton (macros only)"
copyrightcopyright description, example: "Copyright © 2019-present Allan CORNET"
license: License under which the toolbox will be published, example: "BSD" or "LGPLv2", ...
keywords: keywords describing your module.
Example:
["interpreter", "scientific-computing", "programming-language", "matrix-functions", "skeleton"]
dependencies: list of modules dependencies {} (default) or name : url values
{
"module_a": "https://module_a.git#v1.0.0",
"module_b": "https://module_b.git#v1.0.0"
}
Deploy module_skeleton and module_skeleton_basic template
if ~ismodule('module_skeleton_basic')
nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
end
if ~ismodule('module_skeleton')
nmm('install', 'https://github.com/nelson-lang/module_skeleton.git#v1.0.0');
end
modules_installed = nmm('list');
edit([modules_installed.module_skeleton.path, 'module.json']);
edit([modules_installed.module_skeleton_basic.path, 'module.json']);
nmm.
Version | Description |
---|---|
1.0.0 | initial version |
Allan CORNET