grisp / rebar3_grisp

Rebar plug-in for GRiSP
https://www.grisp.org
Apache License 2.0
21 stars 10 forks source link

SEA-232 "rebar3 grisp configure" #78

Closed GwendalLaurent closed 6 months ago

GwendalLaurent commented 6 months ago

Description

This PR adds the configure task to the current rebar3 plugin. It works with this pull request on grisp_tools: https://github.com/grisp/grisp_tools/pull/21

The goal of that task is to help a user to create a new GRiSP application using a CLI. When the task is started, it will ask a series of questions to the user to prepare the GRiSP application based on the answers provided. More precisely, it will ask:

If the user requests a network configuration then the CLI will ask:

Note that for each of these options, the CLI provides a default choice.

When the CLI finishes to ask the questions, the task will generate the files for the project using bbmustache

Setup

To test this PR you will need a local setup. Indeed, since the changes aren't pushed on the main branch the version of the plugin globally installed on your computer won't reflect the changes made for this PR. Thus we will need to use a throw off grisp project and use the _checkouts folder to use the correct versions of this repo as well as the grisp_tools repo. Both of them should be setup to checkout the branch named SEA-232-rebar3-grisp-configure

Once this is setup, you can start using rebar3 grisp configure inside your throw off grisp project

How to use

The section "create new application" of the README have been updated. Please use this as a reference tof figure out how to use the new task of the plugin.

ziopio commented 6 months ago

I would improve a bit the text for each prompt

App name ("robot")> bob
Erlang version ("25")> 
SD card Path ("/path/to/SD-card")> /Volumes/GRISP
Use Network ? (y/N)> y
Use Wifi ? (y/N)> y
Network Name ("My Wifi")> Wifi Furbuffo
Password ("...")> 
Enable GRiSP.io integration ? (y/N)> y
Insert your GRiSP.io token if you need to link your board ("...")> 
Enable Erlang Distribution ? (y/N)> y
Erlang cookie ("grisp")> cookie