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