axem-solutions / dem Goto Github PK
View Code? Open in Web Editor NEWContainerized Development Environment Manager for embedded development
License: Other
Containerized Development Environment Manager for embedded development
License: Other
The dem clone command will have a new purpose: it will copy the selected Dev Env descriptor from the catalog and save it in the local dev_env.json.
The new dem cp command should have the same functionality as the current dem clone one, meaning there is no need to modify the command logic.
Documentation: Commands - dem
The expected behavior (this is already implemented as the clone
command):
The requests.get() functions now wait for 1 sec before timeout. This value should come from the config file.
Currently, when the user creates a new Dev Env, they can only select from the “supported” tool types. The DEM doesn’t accept any Dev Env descriptor that is not included in the supported tool type list.
This behavior should be changed because it limits the usability for no reason.
The DEM should not check whether the tool type is supported or not. Any name can be given for a tool type.
The “supported” tool types are stored in the DevEnv class’s supported_tool_types class variable.
dem clone DEV_ENV_NAME
dem install DEV_ENV_NAME
"installed": "True",
Describe the bug
If there is any additional parameter, the DEM raises an error, except if the --help option is used.
To Reproduce
Currently, if I try to execute
dem list --help asd
dem ignores the extra asd parameter and gives back the expected result of the
dem list --help
but if I try to execute
dem list --all --env asd
I get back an error message highlighting there is an unexpected argument.
The DEM should raise an error if any additional parameter has been added with the --help option.
Test all the commands with the --help option.
Describe the bug
An unclear error message is presented when the path for the export
command is ““ or “
To Reproduce
dem export DEV_ENV_NAME ""
or
dem export DEV_ENV_NAME "
After the execution of the export
command with ““ or “ as the path input parameter, the DEM should report: Error: Invalid input path.
dem list-host
List the available hosts from the config file.
If there is no host in the config file, inform the user that no remote host availalbe.
dem add-host NAME ADDRESS
The user should be able to add a host.
NAME: name of the host
ADDRESS: IP or hostname of the host
The DEM should save this information in the ~/.home/axem/dem/config.json file:
"hosts": [{
"name": "host name",
"address": "host address"
}]
Example:
"hosts": [{
"name": "strong",
"address": "192.168.1.70"
},
{
"name": "CI/CD",
"address": "10.0.0.1"
},
{
"name": "cloud",
"address": "169.254.7.137"
}
]
If the NAME is already takes, the DEM should ask the use if they would like to overwrite it or not.
If either the NAME or the ADDRESS command is empty the DEM should raise an error. (Handled by type).
dem uninstall DEV_ENV_NAME
To learn more about autocompletion: Link
_When the user types in dem and presses tab, then all the available commands should be listed. When the user starts to type in the name of the command, and presses the tab, only the matching commands should be listed.
These commands should be covered: info, list, create, rename, modify, delete, export, load, list-cat, add-cat, del-cat, list-reg, add-reg, del-reg._
dem info DEV_ENV_NAME
Auto complete for the DEV_ENV_NAME. Should list all the local and catalog Dev Envs.
dem list
Auto complete for the options: local, all, env, tool
dem rename DEV_ENV_NAME NEW_DEV_ENV_NAME
Auto complete for the DEV_ENV_NAME with the list of the locally available Dev Envs.
dem modify DEV_ENV_NAME
Auto complete for the DEV_ENV_NAME with the list of the locally available Dev Envs.
dem delete DEV_ENV_NAME
Auto complete for the DEV_ENV_NAME with the list of the locally available Dev Envs.
dem export DEV_ENV_NAME
Auto complete for the DEV_ENV_NAME with the list of the locally available Dev Envs.
dem del-cat NAME
Auto complete for the NAME with the list of the added catalogs.
dem del-reg NAME
Auto complete for the NAME with the list of the added registries.
The installer should install the following dependencies if not yet available:
User shall be able to modify single images of the Env by a command:
dem modify DEV_ENV_NAME TOOL_TYPE TOOL_IMAGE
Where
DEM should handle at minimum the following error cases:
The DEM should autocomplete the command and the arguments:
In the Dev Env settings panel, if the user selects the host, its value gets saved to the dev_env.json.
Describe the bug
The DEM should not accept any whitespace in the name of a Dev Env.
To Reproduce
dem create " "
The DEM should notify the user that the name of the Dev Env can’t contain any spaces.
Implement the dem init [PATH] command.
The .axem directory
Project-specific DEM settings should be placed in the project’s root under the .axem directory. The .axem directory can contain a dev_env_descriptor.json file. This file describes a template Dev Env that can be used for the project. The dev_env_descriptor.json should have the same format as the available Dev Envs from a catalog or an exported Dev Env descriptor (with the export command).
Input parameters
PATH:
Is your Documentation request related to a problem? Please describe.
A user always frustrated when trying to find specific parts of readme
Describe the solution you'd like
A Table of content
Additional context
Add Table of Content and Contributors to Readme
would love to work, please assign
dem del-host NAME
Deletes the host from the config file.
If the NAME is an empty string, the DEM should raise an error. (Handled by typer).
If the DEM can’t find the NAME in the list of the available hosts, it should raise an error and abort.
The DEM should autocomplete the NAME with the already available host names from the config file.
dem delete DEV_ENV_NAME
Deletes the Dev Env descriptor from the dev_env.json and removes all required unused tools images.
In the Dev Env settings panel, if the user selects the host, its value gets saved to the dev_env.json.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.