fix failing checks + cosmetic renames (#13)
Reviewed-on: #13 Co-authored-by: vickydotbat <vickydotbat@tutamail.com> Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
This commit was merged in pull request #13.
This commit is contained in:
+24
-19
@@ -349,7 +349,7 @@ type AutogenProducerConfig struct {
|
||||
Include []string `json:"include" yaml:"include"`
|
||||
Derive AutogenDeriveConfig `json:"derive" yaml:"derive"`
|
||||
Manifest AutogenManifestConfig `json:"manifest" yaml:"manifest"`
|
||||
HeadVisualeffects HeadVisualeffectsConfig `json:"accessory_visualeffects" yaml:"accessory_visualeffects"`
|
||||
AccessoryVisualeffects AccessoryVisualeffectsConfig `json:"accessory_visualeffects" yaml:"accessory_visualeffects"`
|
||||
}
|
||||
|
||||
type AutogenConsumerConfig struct {
|
||||
@@ -362,14 +362,14 @@ type AutogenConsumerConfig struct {
|
||||
Include []string `json:"include" yaml:"include"`
|
||||
Derive AutogenDeriveConfig `json:"derive" yaml:"derive"`
|
||||
PartsRows PartsRowsConfig `json:"parts_rows" yaml:"parts_rows"`
|
||||
HeadVisualeffects HeadVisualeffectsConfig `json:"accessory_visualeffects" yaml:"accessory_visualeffects"`
|
||||
AccessoryVisualeffects AccessoryVisualeffectsConfig `json:"accessory_visualeffects" yaml:"accessory_visualeffects"`
|
||||
Manifest AutogenManifestConfig `json:"manifest" yaml:"manifest"`
|
||||
LocalOverrideRoot string `json:"local_override_root,omitempty" yaml:"local_override_root,omitempty"`
|
||||
ManifestFile string `json:"manifest_file,omitempty" yaml:"manifest_file,omitempty"`
|
||||
}
|
||||
|
||||
type HeadVisualeffectsConfig struct {
|
||||
Groups map[string]HeadVisualeffectGroupConfig `json:"groups,omitempty" yaml:"groups"`
|
||||
type AccessoryVisualeffectsConfig struct {
|
||||
Groups map[string]AccessoryVisualeffectGroupConfig `json:"groups,omitempty" yaml:"groups"`
|
||||
GroupTokenSource string `json:"group_token_source,omitempty" yaml:"group_token_source"`
|
||||
CategoryFrom string `json:"category_from,omitempty" yaml:"category_from"`
|
||||
Delimiter string `json:"delimiter,omitempty" yaml:"delimiter"`
|
||||
@@ -381,7 +381,7 @@ type HeadVisualeffectsConfig struct {
|
||||
RowDefaults map[string]string `json:"row_defaults,omitempty" yaml:"row_defaults"`
|
||||
}
|
||||
|
||||
type HeadVisualeffectGroupConfig struct {
|
||||
type AccessoryVisualeffectGroupConfig struct {
|
||||
Prefix string `json:"prefix" yaml:"prefix"`
|
||||
ModelColumn string `json:"model_column,omitempty" yaml:"model_column"`
|
||||
ModelColumns []string `json:"model_columns,omitempty" yaml:"model_columns"`
|
||||
@@ -1626,8 +1626,8 @@ func validateAutogenConfig(cfg AutogenConfig) []error {
|
||||
failures = append(failures, validateGlobList(fieldPrefix+".include", producer.Include)...)
|
||||
failures = append(failures, validateAutogenDeriveConfig(fieldPrefix+".derive", producer.Derive)...)
|
||||
failures = append(failures, validateAutogenManifestConfig(fieldPrefix+".manifest", producer.Manifest)...)
|
||||
if headVisualeffectsConfigConfigured(producer.HeadVisualeffects) {
|
||||
failures = append(failures, validateHeadVisualeffectsConfig(fieldPrefix+".accessory_visualeffects", producer.HeadVisualeffects)...)
|
||||
if accessoryVisualeffectsConfigConfigured(producer.AccessoryVisualeffects) {
|
||||
failures = append(failures, validateAccessoryVisualeffectsConfig(fieldPrefix+".accessory_visualeffects", producer.AccessoryVisualeffects)...)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1666,18 +1666,23 @@ func validateAutogenConfig(cfg AutogenConfig) []error {
|
||||
default:
|
||||
failures = append(failures, fmt.Errorf("%s.mode %q is not supported", fieldPrefix, consumer.Mode))
|
||||
}
|
||||
if strings.TrimSpace(consumer.Root) == "" {
|
||||
failures = append(failures, fmt.Errorf("%s.root is required", fieldPrefix))
|
||||
if strings.TrimSpace(consumer.Mode) == "accessory_visualeffects" && accessoryVisualeffectsConfigConfigured(consumer.AccessoryVisualeffects) {
|
||||
failures = append(failures, validateAccessoryVisualeffectsConfig(fieldPrefix+".accessory_visualeffects", consumer.AccessoryVisualeffects)...)
|
||||
}
|
||||
if len(consumer.Include) == 0 {
|
||||
failures = append(failures, fmt.Errorf("%s.include must contain at least one glob", fieldPrefix))
|
||||
// A manifest_file consumer reads a pre-resolved local manifest, so the
|
||||
// released-source fields (root/include/derive/manifest) are never read
|
||||
// at build time — don't require them. See resolveAutogenConsumerManifest.
|
||||
if strings.TrimSpace(consumer.ManifestFile) == "" {
|
||||
if strings.TrimSpace(consumer.Root) == "" {
|
||||
failures = append(failures, fmt.Errorf("%s.root is required", fieldPrefix))
|
||||
}
|
||||
if len(consumer.Include) == 0 {
|
||||
failures = append(failures, fmt.Errorf("%s.include must contain at least one glob", fieldPrefix))
|
||||
}
|
||||
failures = append(failures, validateGlobList(fieldPrefix+".include", consumer.Include)...)
|
||||
failures = append(failures, validateAutogenDeriveConfig(fieldPrefix+".derive", consumer.Derive)...)
|
||||
failures = append(failures, validateAutogenManifestConfig(fieldPrefix+".manifest", consumer.Manifest)...)
|
||||
}
|
||||
failures = append(failures, validateGlobList(fieldPrefix+".include", consumer.Include)...)
|
||||
failures = append(failures, validateAutogenDeriveConfig(fieldPrefix+".derive", consumer.Derive)...)
|
||||
if strings.TrimSpace(consumer.Mode) == "accessory_visualeffects" && headVisualeffectsConfigConfigured(consumer.HeadVisualeffects) {
|
||||
failures = append(failures, validateHeadVisualeffectsConfig(fieldPrefix+".accessory_visualeffects", consumer.HeadVisualeffects)...)
|
||||
}
|
||||
failures = append(failures, validateAutogenManifestConfig(fieldPrefix+".manifest", consumer.Manifest)...)
|
||||
}
|
||||
|
||||
return failures
|
||||
@@ -1737,7 +1742,7 @@ func validateGeneratedConfig(cfg GeneratedConfig) []error {
|
||||
return failures
|
||||
}
|
||||
|
||||
func headVisualeffectsConfigConfigured(cfg HeadVisualeffectsConfig) bool {
|
||||
func accessoryVisualeffectsConfigConfigured(cfg AccessoryVisualeffectsConfig) bool {
|
||||
return len(cfg.Groups) > 0 ||
|
||||
strings.TrimSpace(cfg.GroupTokenSource) != "" ||
|
||||
strings.TrimSpace(cfg.CategoryFrom) != "" ||
|
||||
@@ -1750,7 +1755,7 @@ func headVisualeffectsConfigConfigured(cfg HeadVisualeffectsConfig) bool {
|
||||
len(cfg.RowDefaults) > 0
|
||||
}
|
||||
|
||||
func validateHeadVisualeffectsConfig(fieldPrefix string, cfg HeadVisualeffectsConfig) []error {
|
||||
func validateAccessoryVisualeffectsConfig(fieldPrefix string, cfg AccessoryVisualeffectsConfig) []error {
|
||||
var failures []error
|
||||
groupTokenSource := strings.TrimSpace(cfg.GroupTokenSource)
|
||||
switch groupTokenSource {
|
||||
|
||||
@@ -1313,7 +1313,7 @@ func TestValidateLayoutRejectsInvalidAutogenConsumerConfig(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateLayoutRejectsInvalidHeadVisualeffectsConfig(t *testing.T) {
|
||||
func TestValidateLayoutRejectsInvalidAccessoryVisualeffectsConfig(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
mkdirAll(t, filepath.Join(root, "src"))
|
||||
mkdirAll(t, filepath.Join(root, "build"))
|
||||
@@ -1338,8 +1338,8 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsConfig(t *testing.T) {
|
||||
AssetName: "sow-accessory-vfx-manifest.json",
|
||||
CacheName: "sow-accessory-vfx-manifest.json",
|
||||
},
|
||||
HeadVisualeffects: HeadVisualeffectsConfig{
|
||||
Groups: map[string]HeadVisualeffectGroupConfig{
|
||||
AccessoryVisualeffects: AccessoryVisualeffectsConfig{
|
||||
Groups: map[string]AccessoryVisualeffectGroupConfig{
|
||||
"head_jewels": {
|
||||
ModelColumns: []string{"Imp Root M Node"},
|
||||
},
|
||||
@@ -1355,7 +1355,7 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsConfig(t *testing.T) {
|
||||
|
||||
err := proj.ValidateLayout()
|
||||
if err == nil {
|
||||
t.Fatal("expected head visualeffects validation error")
|
||||
t.Fatal("expected accessory visualeffects validation error")
|
||||
}
|
||||
for _, needle := range []string{
|
||||
"autogen.consumers[0].accessory_visualeffects.groups[head_jewels].prefix",
|
||||
@@ -1369,7 +1369,7 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsConfig(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateLayoutRejectsInvalidHeadVisualeffectsNamingConfig(t *testing.T) {
|
||||
func TestValidateLayoutRejectsInvalidAccessoryVisualeffectsNamingConfig(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
mkdirAll(t, filepath.Join(root, "src"))
|
||||
mkdirAll(t, filepath.Join(root, "build"))
|
||||
@@ -1394,8 +1394,8 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsNamingConfig(t *testing.T)
|
||||
AssetName: "sow-accessory-vfx-manifest.json",
|
||||
CacheName: "sow-accessory-vfx-manifest.json",
|
||||
},
|
||||
HeadVisualeffects: HeadVisualeffectsConfig{
|
||||
Groups: map[string]HeadVisualeffectGroupConfig{
|
||||
AccessoryVisualeffects: AccessoryVisualeffectsConfig{
|
||||
Groups: map[string]AccessoryVisualeffectGroupConfig{
|
||||
"head_features": {},
|
||||
},
|
||||
GroupTokenSource: "unsupported",
|
||||
@@ -1411,7 +1411,7 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsNamingConfig(t *testing.T)
|
||||
|
||||
err := proj.ValidateLayout()
|
||||
if err == nil {
|
||||
t.Fatal("expected head visualeffects naming validation error")
|
||||
t.Fatal("expected accessory visualeffects naming validation error")
|
||||
}
|
||||
for _, needle := range []string{
|
||||
"autogen.consumers[0].accessory_visualeffects.group_token_source",
|
||||
@@ -1425,7 +1425,7 @@ func TestValidateLayoutRejectsInvalidHeadVisualeffectsNamingConfig(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadRejectsLegacyHeadVisualeffectsNamingFields(t *testing.T) {
|
||||
func TestLoadRejectsLegacyAccessoryVisualeffectsNamingFields(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
writeProjectFile(t, filepath.Join(root, ConfigFile), `
|
||||
module:
|
||||
@@ -1459,7 +1459,7 @@ autogen:
|
||||
|
||||
_, err := Load(root)
|
||||
if err == nil {
|
||||
t.Fatal("expected legacy head visualeffects naming fields to be rejected")
|
||||
t.Fatal("expected legacy accessory visualeffects naming fields to be rejected")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "legacy_groups") {
|
||||
t.Fatalf("expected legacy_groups unknown field error, got %v", err)
|
||||
|
||||
Reference in New Issue
Block a user