mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-01-02 13:00:45 -05:00
* Remove `make updatedeps` from Travis build. We'll follow up with more specific plans around dependency updating in subsequent PRs. * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to filter out `/vendor/` from `./...` where appropriate. * Temporarily remove `vet` from the `make test` target until we can figure out how to get it to not vet `vendor/`. (Initial experimentation failed to yield the proper incantation.) Everything is pinned to current master, with the exception of: * Azure/azure-sdk-for-go which is pinned before the breaking change today * aws/aws-sdk-go which is pinned to the most recent tag The documentation still needs to be updated, which we can do in a follow up PR. The goal here is to unblock release.
36 lines
587 B
Go
36 lines
587 B
Go
package dom
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
)
|
|
|
|
type Document struct {
|
|
root *Element
|
|
PrettyPrint bool
|
|
Indentation string
|
|
DocType bool
|
|
}
|
|
|
|
func CreateDocument() *Document {
|
|
return &Document{ PrettyPrint: false, Indentation: " ", DocType: true }
|
|
}
|
|
|
|
func (doc *Document) SetRoot(node *Element) {
|
|
node.parent = nil
|
|
doc.root = node
|
|
}
|
|
|
|
func (doc *Document) String() string {
|
|
var b bytes.Buffer
|
|
if doc.DocType {
|
|
fmt.Fprintln(&b, `<?xml version="1.0" encoding="utf-8" ?>`)
|
|
}
|
|
|
|
if doc.root != nil {
|
|
doc.root.Bytes(&b, doc.PrettyPrint, doc.Indentation, 0)
|
|
}
|
|
|
|
return string(b.Bytes())
|
|
}
|