Delete zz_retrocompat.go
it's dead/unused code I previously though I'd need it
This commit is contained in:
parent
c0a6623ea2
commit
a3343c1848
|
@ -1,156 +0,0 @@
|
|||
package hcl2template
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func translateBuilder(path string) (string, error) {
|
||||
|
||||
type ConfigV1 map[string]json.RawMessage
|
||||
|
||||
type ConfigV1V2 struct {
|
||||
Artifact map[string]map[string]json.RawMessage `json:"artifact"`
|
||||
}
|
||||
|
||||
type Type struct {
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
type PostProcessor struct {
|
||||
Type string `json:"type"`
|
||||
Except []string `json:"except"`
|
||||
Only []string `json:"only"`
|
||||
}
|
||||
|
||||
b, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
c1 := ConfigV1{}
|
||||
if err := json.Unmarshal(b, &c1); err != nil {
|
||||
return "", err
|
||||
}
|
||||
c12 := ConfigV1V2{}
|
||||
if err := json.Unmarshal(b, &c12); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
rawBuilder, found := c1["builders"]
|
||||
if !found {
|
||||
// no v1 builders
|
||||
return path, nil
|
||||
}
|
||||
|
||||
var tn []Type
|
||||
if err := json.Unmarshal([]byte(rawBuilder), &tn); err != nil {
|
||||
return "", err
|
||||
}
|
||||
var rawbuilders []json.RawMessage
|
||||
if err := json.Unmarshal([]byte(rawBuilder), &rawbuilders); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
var typePPs []PostProcessor
|
||||
var rawPPs []json.RawMessage
|
||||
if rawPP := c1["post-processors"]; len(rawPP) != 0 {
|
||||
if err := json.Unmarshal([]byte(rawPP), &typePPs); err != nil {
|
||||
return "", err
|
||||
}
|
||||
if err := json.Unmarshal([]byte(rawPP), &rawPPs); err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
|
||||
for n, tn := range tn {
|
||||
builderName := tn.Type
|
||||
if tn.Name != "" {
|
||||
builderName = tn.Name
|
||||
}
|
||||
|
||||
if c12.Artifact[tn.Type] == nil {
|
||||
c12.Artifact[tn.Type] = map[string]json.RawMessage{}
|
||||
}
|
||||
|
||||
name := tn.Name
|
||||
if name == "" {
|
||||
name = fmt.Sprintf("autotranslated-builder-%d", len(c12.Artifact[tn.Type]))
|
||||
}
|
||||
if _, exists := c12.Artifact[tn.Type][name]; exists {
|
||||
return "", fmt.Errorf("%s-%s is defined in old and new config", tn.Type, name)
|
||||
}
|
||||
rawbuilder := rawbuilders[n]
|
||||
rawbuilder = removeKey(rawbuilder, "name", "only", "type")
|
||||
c12.Artifact[tn.Type][name] = rawbuilder
|
||||
|
||||
for n, pp := range typePPs {
|
||||
skip := false
|
||||
for _, except := range pp.Except {
|
||||
if except == builderName {
|
||||
skip = true
|
||||
break
|
||||
}
|
||||
}
|
||||
for _, only := range pp.Only {
|
||||
if only != builderName {
|
||||
skip = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if skip {
|
||||
continue
|
||||
}
|
||||
if c12.Artifact[pp.Type] == nil {
|
||||
c12.Artifact[pp.Type] = map[string]json.RawMessage{}
|
||||
}
|
||||
name := fmt.Sprintf("autotranslated-post-processor-%d", len(c12.Artifact[pp.Type]))
|
||||
if _, exists := c12.Artifact[tn.Type][name]; exists {
|
||||
return "", fmt.Errorf("%s-%s is defined in old and new config", tn.Type, name)
|
||||
}
|
||||
rawpp := rawPPs[n]
|
||||
rawpp = rawpp[:len(rawpp)-1]
|
||||
rawpp = append(rawpp, json.RawMessage(`,"source":"$artifacts.`+tn.Type+`.`+builderName+`"}`)...)
|
||||
rawpp = removeKey(rawpp, "name", "only", "type")
|
||||
c12.Artifact[pp.Type][name] = rawpp
|
||||
|
||||
log.Printf("%s", rawpp)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
path = strings.TrimSuffix(path, ".json")
|
||||
path = strings.TrimSuffix(path, ".pk")
|
||||
path = path + ".v2.pk.json"
|
||||
|
||||
file, err := os.Create(path)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
enc := json.NewEncoder(file)
|
||||
enc.SetIndent("", " ")
|
||||
|
||||
return path, enc.Encode(c12)
|
||||
}
|
||||
|
||||
func removeKey(in json.RawMessage, keys ...string) json.RawMessage {
|
||||
m := map[string]json.RawMessage{}
|
||||
if err := json.Unmarshal(in, &m); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for _, key := range keys {
|
||||
delete(m, key)
|
||||
}
|
||||
|
||||
b, err := json.Marshal(m)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return b
|
||||
}
|
Loading…
Reference in New Issue