Sort controllers so that builds are reproducible.

Ordering of controllers in routes.go and main.go is unstable in
successive runs of revel build.  This change will assure that the
ordering is stable.
This commit is contained in:
Nathan Chan
2017-12-08 11:37:28 -08:00
parent 29e594435c
commit c240b05369

View File

@@ -42,6 +42,10 @@ func Build(buildFlags ...string) (app *App, compileError *revel.Error) {
sourceInfo.InitImportPaths = append(sourceInfo.InitImportPaths, strings.Split(dbImportPath,",")...)
}
// Sort controllers so that file generation is reproducible
controllers := sourceInfo.ControllerSpecs()
sort.SliceStable(controllers, func(i, j int) bool { return controllers[i].String() < controllers[j].String() })
// Generate two source files.
templateArgs := map[string]interface{}{
"Controllers": sourceInfo.ControllerSpecs(),