How It Works
- Asks the user to select a project structure in properties YAML if there are more than
on project structure in the YAML
- If the selected project's language is go, it will check whether
go command is installed on the OS - Asks for module name
- Asks for a choice of every question under the selected project structure in order and saves
the choices
- Asks for changing the values of only the selected project structure (not selected choices)
if any
- Add default to values
- Creates a new directory with module name's last part after last
/ - Uncompress/checkout the template project of the selected project structure into the created directory
- If the selected project's language is go,updates the module's name in the go.mod with the value user entered, if
there is no go.mod file, it creates the
go.mod file
- Creates files, and adds dependencies of all selected choices
- Deletes
properties.yaml on the root directory if exists. - If the selected project's language is go, executes
go mod tidy and go fmt ./... on the root directory. - Merges values under the selected project structure with the values of all selected choices and default values
- Walks through the newly created directory's content and templates every file with the
merged values
- Executes
init.sh/init.bat on the root folder depending on the OS - Deletes
init.sh and init.bat files on the root folder