summaryrefslogtreecommitdiffstats
path: root/drivers
ModeNameSize
-rw-r--r--Kconfig1841logstatsplain
-rw-r--r--Makefile3198logstatsplain
d---------accessibility105logstatsplain
d---------acpi1699logstatsplain
d---------amba69logstatsplain
d---------ata3426logstatsplain
d---------atm1527logstatsplain
d---------auxdisplay189logstatsplain
d---------base983logstatsplain
d---------block1546logstatsplain
d---------bluetooth629logstatsplain
d---------cdrom141logstatsplain
d---------char4879logstatsplain
d---------clocksource226logstatsplain
d---------connector185logstatsplain
d---------cpufreq430logstatsplain
d---------cpuidle290logstatsplain
d---------crypto455logstatsplain
d---------dca148logstatsplain
d---------dio148logstatsplain
d---------dma709logstatsplain
d---------edac1509logstatsplain
d---------eisa263logstatsplain
d---------firewire540logstatsplain
d---------firmware514logstatsplain
d---------gpio416logstatsplain
d---------gpu66logstatsplain
d---------hid1360logstatsplain
d---------hwmon3185logstatsplain
d---------i2c324logstatsplain
d---------ide3901logstatsplain
d---------idle111logstatsplain
d---------ieee13941659logstatsplain
d---------infiniband161logstatsplain
d---------input846logstatsplain
d---------isdn490logstatsplain
d---------leds1454logstatsplain
d---------lguest454logstatsplain
d---------macintosh1770logstatsplain
d---------mca266logstatsplain
d---------md2301logstatsplain
d---------media198logstatsplain
d---------memstick133logstatsplain
d---------message99logstatsplain
d---------mfd1259logstatsplain
d---------misc798logstatsplain
d---------mmc164logstatsplain
d---------mtd1228logstatsplain
d---------net11835logstatsplain
d---------nubus105logstatsplain
d---------of285logstatsplain
d---------oprofile527logstatsplain
d---------parisc889logstatsplain
d---------parport913logstatsplain
d---------pci1304logstatsplain
d---------pcmcia2990logstatsplain
d---------platform101logstatsplain
d---------pnp533logstatsplain
d---------power723logstatsplain
d---------ps3353logstatsplain
d---------rapidio329logstatsplain
d---------regulator437logstatsplain
d---------rtc2766logstatsplain
d---------s390253logstatsplain
d---------sbus67logstatsplain
d---------scsi8117logstatsplain
d---------serial3340logstatsplain
d---------sh139logstatsplain
d---------sn105logstatsplain
d---------spi987logstatsplain
d---------ssb681logstatsplain
d---------staging1335logstatsplain
d---------tc107logstatsplain
d---------telephony252logstatsplain
d---------thermal112logstatsplain
d---------uio339logstatsplain
d---------usb593logstatsplain
d---------uwb1096logstatsplain
d---------video5975logstatsplain
d---------virtio268logstatsplain
d---------w1503logstatsplain
d---------watchdog3169logstatsplain
d---------xen402logstatsplain
d---------zorro409logstatsplain
1">// distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package commands import ( "context" "errors" "fmt" "io" "os" "os/signal" "path/filepath" "sync" "sync/atomic" "syscall" "time" jww "github.com/spf13/jwalterweatherman" "go.uber.org/automaxprocs/maxprocs" "github.com/bep/clock" "github.com/bep/lazycache" "github.com/bep/overlayfs" "github.com/bep/simplecobra" "github.com/gohugoio/hugo/common/hstrings" "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/loggers" "github.com/gohugoio/hugo/common/paths" "github.com/gohugoio/hugo/config" "github.com/gohugoio/hugo/config/allconfig" "github.com/gohugoio/hugo/deps" "github.com/gohugoio/hugo/helpers" "github.com/gohugoio/hugo/hugofs" "github.com/gohugoio/hugo/hugolib" "github.com/spf13/afero" "github.com/spf13/cobra" ) var ( errHelp = errors.New("help requested") ) // Execute executes a command. func Execute(args []string) error { // Default GOMAXPROCS to be CPU limit aware, still respecting GOMAXPROCS env. maxprocs.Set() x, err := newExec() if err != nil { return err } args = mapLegacyArgs(args) cd, err := x.Execute(context.Background(), args) if err != nil { if err == errHelp { cd.CobraCommand.Help() fmt.Println() return nil } if simplecobra.IsCommandError(err) { // Print the help, but also return the error to fail the command. cd.CobraCommand.Help() fmt.Println() } } return err } type commonConfig struct { mu *sync.Mutex configs *allconfig.Configs cfg config.Provider fs *hugofs.Fs } // This is the root command. type rootCommand struct { Printf func(format string, v ...interface{}) Println func(a ...interface{}) Out io.Writer logger loggers.Logger // The main cache busting key for the caches below. configVersionID atomic.Int32 // Some, but not all commands need access to these. // Some needs more than one, so keep them in a small cache. commonConfigs *lazycache.Cache[int32, *commonConfig] hugoSites *lazycache.Cache[int32, *hugolib.HugoSites] commands []simplecobra.Commander // Flags source string buildWatch bool environment string // File format to read or write (TOML, YAML, JSON). format string // Common build flags. baseURL string gc bool poll string panicOnWarning bool forceSyncStatic bool printPathWarnings bool printUnusedTemplates bool // Profile flags (for debugging of performance problems) cpuprofile string memprofile string mutexprofile string traceprofile string printm bool // TODO(bep) var vs string logging bool verbose bool verboseLog bool debug bool quiet bool renderToMemory bool cfgFile string cfgDir string logFile string } func (r *rootCommand) Build(cd *simplecobra.Commandeer, bcfg hugolib.BuildCfg, cfg config.Provider) (*hugolib.HugoSites, error) { h, err := r.Hugo(cfg) if err != nil { return nil, err } if err := h.Build(bcfg); err != nil { return nil, err } return h, nil } func (r *rootCommand) Commands() []simplecobra.Commander { return r.commands } func (r *rootCommand) ConfigFromConfig(key int32, oldConf *commonConfig) (*commonConfig, error) { cc, _, err := r.commonConfigs.GetOrCreate(key, func(key int32) (*commonConfig, error) { fs := oldConf.fs configs, err := allconfig.LoadConfig( allconfig.ConfigSourceDescriptor{ Flags: oldConf.cfg, Fs: fs.Source, Filename: r.cfgFile, ConfigDir: r.cfgDir, Logger: r.logger, Environment: r.environment, }, ) if err != nil { return nil, err } if !configs.Base.C.Clock.IsZero() { // TODO(bep) find a better place for this. htime.Clock = clock.Start(configs.Base.C.Clock) } return &