Fixed freshness check

This commit is contained in:
2026-05-14 10:19:45 +02:00
parent d61ab33aa4
commit e616ea5043
2 changed files with 28 additions and 3 deletions
-3
View File
@@ -267,9 +267,6 @@ func newestTopDataSource(p *project.Project) (time.Time, string, error) {
if d.IsDir() && shouldSkipTopDataSourceDir(path, skipDirs) { if d.IsDir() && shouldSkipTopDataSourceDir(path, skipDirs) {
return filepath.SkipDir return filepath.SkipDir
} }
if d.IsDir() {
return nil
}
info, err := d.Info() info, err := d.Info()
if err != nil { if err != nil {
return err return err
+28
View File
@@ -10692,6 +10692,34 @@ func TestBuildPackageFailsWhenCompiledOutputIsStale(t *testing.T) {
} }
} }
func TestBuildPackageFailsWhenTopDataSourceFileIsDeleted(t *testing.T) {
root := testProjectRoot(t)
mkdirAll(t, filepath.Join(root, "topdata", "data", "repadjust"))
writeFile(t, filepath.Join(root, "topdata", "base_dialog.json"), "{}\n")
writeFile(t, filepath.Join(root, "topdata", "data", "repadjust", "base.json"), `{
"output": "repadjust.2da",
"columns": ["Label"],
"rows": [{"id": 0, "Label": "TEST_LABEL"}]
}`+"\n")
lockPath := filepath.Join(root, "topdata", "data", "repadjust", "lock.json")
writeFile(t, lockPath, "{}\n")
proj := testProject(root)
proj.Config.TopData.ReferenceBuilder = ""
if _, err := BuildNative(proj, nil); err != nil {
t.Fatalf("BuildNative failed: %v", err)
}
if err := os.Remove(lockPath); err != nil {
t.Fatalf("delete topdata source file: %v", err)
}
if _, err := BuildPackage(proj, nil); err == nil || !strings.Contains(err.Error(), "older than source file") {
t.Fatalf("expected deleted source file to invalidate compiled output, got %v", err)
}
}
func TestBuildPackageIgnoresTemplateSourcesForFreshness(t *testing.T) { func TestBuildPackageIgnoresTemplateSourcesForFreshness(t *testing.T) {
root := testProjectRoot(t) root := testProjectRoot(t)
mkdirAll(t, filepath.Join(root, "topdata", "data", "repadjust")) mkdirAll(t, filepath.Join(root, "topdata", "data", "repadjust"))