dcrd/sampleconfig/sampleconfig.go
Dave Collins a20782d6a4
sampleconfig: Use embed with external files.
This updates the sampleconfig package to make use of Go's embed
functionality introduced in Go 1.16 which is acceptable since the
containing module requires Go 1.19.

Embedded files are preferable because they bring the benefits of both
external files in the repository that are easier to work with for
external tools and the ability to access their content programmatically
without having to deal with the various issues typically brought about
by programmatically accessing external files.

Also, when this was last updated to change the exported variable for
dcrd's sample config file over to a function (so it can't be mutated and
the implementation details can be changed if needed), the case for
dcrctl was missed.  Moreover, the existence of both configs makes the
func name FileContents ambiguous.

Unfortunately, those things can't be changed now without causing a major
module version bump to the main dcrd module which we really want to
avoid.

So, in order to address those things without needing a major module
version bump, this deprecates the FileContents func and
DcrctlSampleConfig variable and introduces two new functions named Dcrd
and Dcrctl that return the respective embedded sample configs.
2023-09-18 03:32:50 -05:00

45 lines
1.1 KiB
Go

// Copyright (c) 2017-2022 The Decred developers
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
package sampleconfig
import (
_ "embed"
)
// sampleDcrdConf is a string containing the commented example config for dcrd.
//
//go:embed sample-dcrd.conf
var sampleDcrdConf string
// sampleDcrctlConf is a string containing the commented example config for
// dcrctl.
//
//go:embed sample-dcrctl.conf
var sampleDcrctlConf string
// Dcrd returns a string containing the commented example config for dcrd.
func Dcrd() string {
return sampleDcrdConf
}
// FileContents returns a string containing the commented example config for
// dcrd.
//
// Deprecated: Use the [Dcrd] function instead.
func FileContents() string {
return Dcrd()
}
// Dcrctl returns a string containing the commented example config for dcrctl.
func Dcrctl() string {
return sampleDcrctlConf
}
// DcrctlSampleConfig is a string containing the commented example config for
// dcrctl.
//
// Deprecated: Use the [Dcrctl] function instead.
var DcrctlSampleConfig = Dcrctl()