diff --git a/source/dub/generators/generator.d b/source/dub/generators/generator.d index 72d6af7..1d53b4e 100644 --- a/source/dub/generators/generator.d +++ b/source/dub/generators/generator.d @@ -186,7 +186,8 @@ if (is_target) targets[pack.name] = TargetInfo(pack, [pack], configs[pack.name], buildsettings, null); - foreach (depname, depspec; pack.dependencies) { + foreach (depname; pack.dependencies.byKey.array.sort()) { + auto depspec = pack.dependencies[depname]; if (!pack.hasDependency(depname, configs[pack.name])) continue; auto dep = m_project.getDependency(depname, depspec.optional); if (!dep) continue; @@ -333,7 +334,7 @@ */ private void prepareGeneration(in Package pack, in GeneratorSettings settings, in BuildSettings buildsettings) { - if( buildsettings.preGenerateCommands.length ){ + if (buildsettings.preGenerateCommands.length) { logInfo("Running pre-generate commands for %s...", pack.name); runBuildCommands(buildsettings.preGenerateCommands, pack, settings, buildsettings); } diff --git a/source/dub/project.d b/source/dub/project.d index 176a8f0..11733e3 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -134,7 +134,8 @@ auto cfg = configs.get(p.name, null); - foreach (dn, dv; p.dependencies) { + foreach (dn; p.dependencies.byKey.array.sort()) { + auto dv = p.dependencies[dn]; // filter out dependencies not in the current configuration set if (!p.hasDependency(dn, cfg)) continue; auto dependency = getDependency(dn, dv.optional);