From 0cbc46d992f675dd13cc93ff738c664b5d6e76dc Mon Sep 17 00:00:00 2001 From: Jake Runzer Date: Mon, 3 Feb 2025 22:33:39 -0800 Subject: [PATCH] sort mise package names when generating paths --- core/generate/__snapshots__/context_test.snap | 6 +++--- core/generate/mise_step_builder.go | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/core/generate/__snapshots__/context_test.snap b/core/generate/__snapshots__/context_test.snap index f302bdc..d74bde7 100755 --- a/core/generate/__snapshots__/context_test.snap +++ b/core/generate/__snapshots__/context_test.snap @@ -76,13 +76,13 @@ "customName": "install mise packages: go, node, python" }, { - "path": "/mise/installs/node/20.18.2/bin" + "path": "/mise/installs/go/1.23.5/bin" }, { - "path": "/mise/installs/python/3.13.1/bin" + "path": "/mise/installs/node/20.18.2/bin" }, { - "path": "/mise/installs/go/1.23.5/bin" + "path": "/mise/installs/python/3.13.1/bin" } ], "dependsOn": [ diff --git a/core/generate/mise_step_builder.go b/core/generate/mise_step_builder.go index 1f1fd9b..b12f789 100644 --- a/core/generate/mise_step_builder.go +++ b/core/generate/mise_step_builder.go @@ -147,8 +147,8 @@ func (b *MiseStepBuilder) Build(options *BuildStepOptions) (*plan.Step, error) { // Packages installed have binaries available at /mise/installs/{package}/{version}/bin // We need to add these to the PATH - for _, pkg := range b.MisePackages { - resolved, ok := options.ResolvedPackages[pkg.Name] + for _, pkg := range b.sortedPackageNames() { + resolved, ok := options.ResolvedPackages[pkg] if !ok || resolved.ResolvedVersion == nil { continue } @@ -156,7 +156,7 @@ func (b *MiseStepBuilder) Build(options *BuildStepOptions) (*plan.Step, error) { version := *resolved.ResolvedVersion step.AddCommands([]plan.Command{ - plan.NewPathCommand("/mise/installs/" + pkg.Name + "/" + version + "/bin"), + plan.NewPathCommand("/mise/installs/" + pkg + "/" + version + "/bin"), }) } @@ -184,3 +184,12 @@ func (b *MiseStepBuilder) GetSupportingMiseConfigFiles(path string) []string { return files } + +func (b *MiseStepBuilder) sortedPackageNames() []string { + packages := make([]string, 0, len(b.MisePackages)) + for _, pkg := range b.MisePackages { + packages = append(packages, pkg.Name) + } + sort.Strings(packages) + return packages +}