Fix topdata lock file generation
This commit is contained in:
@@ -80,6 +80,9 @@ func buildGenerated2DAAssetGroup(p *project.Project, cfg project.GeneratedTopDat
|
|||||||
if err := rejectGenerated2DATLKValues(cfg.ID, collected); err != nil {
|
if err := rejectGenerated2DATLKValues(cfg.ID, collected); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if _, _, err := saveNativeLockfiles(collected); err != nil {
|
||||||
|
return nil, fmt.Errorf("save generated topdata 2DA lockfiles %s: %w", cfg.ID, err)
|
||||||
|
}
|
||||||
|
|
||||||
tableRegistry, err := newResolvedTableRegistry(collected)
|
tableRegistry, err := newResolvedTableRegistry(collected)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -6362,6 +6362,55 @@ func TestBuildGenerated2DAAssetsAppendsCachedModelsFromHeadVisualeffects(t *test
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBuildGenerated2DAAssetsWritesLockfilesForSelectedDatasets(t *testing.T) {
|
||||||
|
root := testProjectRoot(t)
|
||||||
|
mkdirAll(t, filepath.Join(root, "assets"))
|
||||||
|
mkdirAll(t, filepath.Join(root, "topdata", "data", "cachedmodels", "modules"))
|
||||||
|
writeFile(t, filepath.Join(root, "topdata", "data", "cachedmodels", "base.json"), `{
|
||||||
|
"columns": ["Model"],
|
||||||
|
"rows": [
|
||||||
|
{"id": 0, "key": "cachedmodels:base_model", "Model": "base_model"}
|
||||||
|
]
|
||||||
|
}`+"\n")
|
||||||
|
writeFile(t, filepath.Join(root, "topdata", "data", "cachedmodels", "modules", "add_chatbubble.json"), `{
|
||||||
|
"entries": {
|
||||||
|
"cachedmodels:vdr_chatbubble": {
|
||||||
|
"Model": "vdr_chatbubble"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}`+"\n")
|
||||||
|
|
||||||
|
p := testProject(root)
|
||||||
|
p.Config.Paths.Assets = "assets"
|
||||||
|
p.Config.Generated.TopData2DA = []project.GeneratedTopData2DAConfig{
|
||||||
|
{
|
||||||
|
ID: "cachedmodels",
|
||||||
|
Source: "topdata",
|
||||||
|
Output: ".cache/generated-assets/cachedmodels-2da",
|
||||||
|
IncludeDatasets: []string{"cachedmodels"},
|
||||||
|
PackageRoot: "vfxs",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := BuildGenerated2DAAssets(p, nil); err != nil {
|
||||||
|
t.Fatalf("BuildGenerated2DAAssets failed: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
lockBytes, err := os.ReadFile(filepath.Join(root, "topdata", "data", "cachedmodels", "lock.json"))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("read generated cachedmodels lockfile: %v", err)
|
||||||
|
}
|
||||||
|
lockText := string(lockBytes)
|
||||||
|
for _, want := range []string{
|
||||||
|
`"cachedmodels:base_model": 0`,
|
||||||
|
`"cachedmodels:vdr_chatbubble": 1`,
|
||||||
|
} {
|
||||||
|
if !strings.Contains(lockText, want) {
|
||||||
|
t.Fatalf("expected generated asset lockfile to contain %q, got:\n%s", want, lockText)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestNormalizeProjectImportsLegacyLoadscreens(t *testing.T) {
|
func TestNormalizeProjectImportsLegacyLoadscreens(t *testing.T) {
|
||||||
root := testProjectRoot(t)
|
root := testProjectRoot(t)
|
||||||
mkdirAll(t, filepath.Join(root, "topdata", "data"))
|
mkdirAll(t, filepath.Join(root, "topdata", "data"))
|
||||||
|
|||||||
Reference in New Issue
Block a user