github.com/grahambrereton-form3/tilt@v0.10.18/internal/tiltfile/features.go (about)

     1  package tiltfile
     2  
     3  import (
     4  	"go.starlark.net/starlark"
     5  
     6  	"github.com/windmilleng/tilt/internal/feature"
     7  )
     8  
     9  func (s *tiltfileState) enableFeature(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
    10  	var flag string
    11  	err := s.unpackArgs(fn.Name(), args, kwargs, "msg", &flag)
    12  	if err != nil {
    13  		return nil, err
    14  	}
    15  
    16  	err = s.features.Set(flag, true)
    17  	if err != nil {
    18  		if _, ok := err.(feature.ObsoleteError); !ok {
    19  			return nil, err
    20  		}
    21  		s.warnings = append(s.warnings, err.Error())
    22  	}
    23  
    24  	return starlark.None, nil
    25  }
    26  
    27  func (s *tiltfileState) disableFeature(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
    28  	var flag string
    29  	err := s.unpackArgs(fn.Name(), args, kwargs, "msg", &flag)
    30  	if err != nil {
    31  		return nil, err
    32  	}
    33  
    34  	err = s.features.Set(flag, false)
    35  	if err != nil {
    36  		if _, ok := err.(feature.ObsoleteError); !ok {
    37  			return nil, err
    38  		}
    39  		s.warnings = append(s.warnings, err.Error())
    40  	}
    41  
    42  	return starlark.None, nil
    43  }
    44  
    45  func (s *tiltfileState) disableSnapshots(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
    46  	err := s.unpackArgs(fn.Name(), args, kwargs)
    47  	if err != nil {
    48  		return nil, err
    49  	}
    50  
    51  	err = s.features.Set(feature.Snapshots, false)
    52  	if err != nil {
    53  		if _, ok := err.(feature.ObsoleteError); !ok {
    54  			return nil, err
    55  		}
    56  		s.warnings = append(s.warnings, err.Error())
    57  	}
    58  
    59  	return starlark.None, nil
    60  }