// Copyright 2019 The Hugo Authors. All rights reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// 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.packagehugolibimport("context""fmt""io""path/filepath""sort""strings""sync""sync/atomic""github.com/gohugoio/hugo/hugofs/glob""github.com/fsnotify/fsnotify""github.com/gohugoio/hugo/identity"radix"github.com/armon/go-radix""github.com/gohugoio/hugo/output""github.com/gohugoio/hugo/parser/metadecoders""errors""github.com/gohugoio/hugo/common/para""github.com/gohugoio/hugo/hugofs""github.com/gohugoio/hugo/source""github.com/bep/gitmap""github.com/gohugoio/hugo/config""github.com/gohugoio/hugo/publisher""github.com/gohugoio/hugo/common/herrors""github.com/gohugoio/hugo/common/loggers""github.com/gohugoio/hugo/deps""github.com/gohugoio/hugo/helpers""github.com/gohugoio/hugo/langs""github.com/gohugoio/hugo/lazy""github.com/gohugoio/hugo/langs/i18n""github.com/gohugoio/hugo/resources/page""github.com/gohugoio/hugo/resources/page/pagemeta""github.com/gohugoio/hugo/tpl""github.com/gohugoio/hugo/tpl/tplimpl")// HugoSites represents the sites to build. Each site represents a language.typeHugoSitesstruct{Sites[]*Sitemultilingual*Multilingual// Multihost is set if multilingual and baseURL set on the language level.multihostbool// If this is running in the dev server.runningbool// Render output formats for all sites.renderFormatsoutput.Formats// The currently rendered Site.currentSite*Site*deps.DepsgitInfo*gitInfocodeownerInfo*codeownerInfo// As loaded from the /data dirsdatamap[string]anycontentInitsync.Oncecontent*pageMaps