1
0
mirror of https://github.com/go-task/task.git synced 2025-02-03 13:22:11 +02:00

feat: warn about move from any variables to map variables (#1618)

This commit is contained in:
Pete Davison 2024-04-24 21:40:52 +01:00 committed by GitHub
parent a5b949f5dc
commit ddd9964db7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 22 additions and 12 deletions

View File

@ -3,7 +3,6 @@ package main
import ( import (
"context" "context"
"fmt" "fmt"
"log"
"os" "os"
"strings" "strings"
@ -44,8 +43,12 @@ func main() {
} }
func run() error { func run() error {
log.SetFlags(0) logger := &logger.Logger{
log.SetOutput(os.Stderr) Stdout: os.Stdout,
Stderr: os.Stderr,
Verbose: flags.Verbose,
Color: flags.Color,
}
if err := flags.Validate(); err != nil { if err := flags.Validate(); err != nil {
return err return err
@ -65,22 +68,16 @@ func run() error {
} }
if flags.Experiments { if flags.Experiments {
l := &logger.Logger{ return experiments.List(logger)
Stdout: os.Stdout,
Stderr: os.Stderr,
Verbose: flags.Verbose,
Color: flags.Color,
}
return experiments.List(l)
} }
if flags.Init { if flags.Init {
wd, err := os.Getwd() wd, err := os.Getwd()
if err != nil { if err != nil {
log.Fatal(err) return err
} }
if err := task.InitTaskfile(os.Stdout, wd); err != nil { if err := task.InitTaskfile(os.Stdout, wd); err != nil {
log.Fatal(err) return err
} }
return nil return nil
} }
@ -138,6 +135,10 @@ func run() error {
return err return err
} }
if experiments.AnyVariables.Enabled {
logger.Warnf("The 'Any Variables' experiment flag is no longer required to use non-map variable types. If you wish to use map variables, please use 'TASK_X_MAP_VARIABLES' instead. See https://github.com/go-task/task/issues/1585\n")
}
// If the download flag is specified, we should stop execution as soon as // If the download flag is specified, we should stop execution as soon as
// taskfile is downloaded // taskfile is downloaded
if flags.Download { if flags.Download {

View File

@ -27,6 +27,7 @@ type Experiment struct {
var ( var (
GentleForce Experiment GentleForce Experiment
RemoteTaskfiles Experiment RemoteTaskfiles Experiment
AnyVariables Experiment
MapVariables Experiment MapVariables Experiment
) )
@ -34,6 +35,7 @@ func init() {
readDotEnv() readDotEnv()
GentleForce = New("GENTLE_FORCE") GentleForce = New("GENTLE_FORCE")
RemoteTaskfiles = New("REMOTE_TASKFILES") RemoteTaskfiles = New("REMOTE_TASKFILES")
AnyVariables = New("ANY_VARIABLES", "1", "2")
MapVariables = New("MAP_VARIABLES", "1", "2") MapVariables = New("MAP_VARIABLES", "1", "2")
} }

View File

@ -3,6 +3,7 @@ package flags
import ( import (
"errors" "errors"
"log" "log"
"os"
"time" "time"
"github.com/spf13/pflag" "github.com/spf13/pflag"
@ -68,6 +69,8 @@ var (
) )
func init() { func init() {
log.SetFlags(0)
log.SetOutput(os.Stderr)
pflag.Usage = func() { pflag.Usage = func() {
log.Print(usage) log.Print(usage)
pflag.PrintDefaults() pflag.PrintDefaults()

View File

@ -138,6 +138,10 @@ func (l *Logger) VerboseErrf(color Color, s string, args ...any) {
} }
} }
func (l *Logger) Warnf(message string, args ...any) {
l.Errf(Yellow, message, args...)
}
func (l *Logger) Prompt(color Color, prompt string, defaultValue string, continueValues ...string) error { func (l *Logger) Prompt(color Color, prompt string, defaultValue string, continueValues ...string) error {
if l.AssumeYes { if l.AssumeYes {
l.Outf(color, "%s [assuming yes]\n", prompt) l.Outf(color, "%s [assuming yes]\n", prompt)