@@ -97,6 +97,21 @@ private static Parser CreateParser(ILogger logger)
9797 settings . MaximumDisplayWidth = Math . Max ( MinimumDisplayWidth , GetMaximumDisplayWidth ( ) ) ;
9898 } ) ;
9999
100+ private static bool MonikerIsWasm ( RuntimeMoniker moniker )
101+
102+ {
103+ switch ( moniker )
104+ {
105+ case RuntimeMoniker . Wasm :
106+ case RuntimeMoniker . WasmNet50 :
107+ case RuntimeMoniker . WasmNet60 :
108+ case RuntimeMoniker . WasmNet70 :
109+ return true ;
110+ default :
111+ return false ;
112+ }
113+ }
114+
100115 private static bool Validate ( CommandLineOptions options , ILogger logger )
101116 {
102117 if ( ! AvailableJobs . ContainsKey ( options . BaseJob ) )
@@ -116,7 +131,8 @@ private static bool Validate(CommandLineOptions options, ILogger logger)
116131 {
117132 logger . WriteLineError ( $ "The provided { nameof ( options . AOTCompilerPath ) } \" { options . AOTCompilerPath } \" does NOT exist. It MUST be provided.") ;
118133 }
119- else if ( runtimeMoniker == RuntimeMoniker . Wasm && ( options . RuntimeSrcDir == null || options . RuntimeSrcDir . IsNotNullButDoesNotExist ( ) ) )
134+ else if ( MonikerIsWasm ( runtimeMoniker ) && ( options . RuntimeSrcDir == null || options . RuntimeSrcDir . IsNotNullButDoesNotExist ( ) ) )
135+
120136 {
121137 logger . WriteLineError ( $ "The provided { nameof ( options . RuntimeSrcDir ) } \" { options . RuntimeSrcDir } \" does NOT exist. It MUST be provided for wasm-aot.") ;
122138 return false ;
@@ -386,13 +402,13 @@ private static Job CreateJobForGivenRuntime(Job baseJob, string runtimeId, Comma
386402
387403 return baseJob . WithRuntime ( runtime ) . WithToolchain ( builder . ToToolchain ( ) ) ;
388404 case RuntimeMoniker . Wasm :
389- return MakeWasmJob ( baseJob , options , RuntimeInformation . IsNetCore ? CoreRuntime . GetCurrentVersion ( ) . MsBuildMoniker : "net5.0" ) ;
405+ return MakeWasmJob ( baseJob , options , RuntimeInformation . IsNetCore ? CoreRuntime . GetCurrentVersion ( ) . MsBuildMoniker : "net5.0" , runtimeMoniker ) ;
390406 case RuntimeMoniker . WasmNet50 :
391- return MakeWasmJob ( baseJob , options , "net5.0" ) ;
407+ return MakeWasmJob ( baseJob , options , "net5.0" , runtimeMoniker ) ;
392408 case RuntimeMoniker . WasmNet60 :
393- return MakeWasmJob ( baseJob , options , "net6.0" ) ;
409+ return MakeWasmJob ( baseJob , options , "net6.0" , runtimeMoniker ) ;
394410 case RuntimeMoniker . WasmNet70 :
395- return MakeWasmJob ( baseJob , options , "net7.0" ) ;
411+ return MakeWasmJob ( baseJob , options , "net7.0" , runtimeMoniker ) ;
396412 case RuntimeMoniker . MonoAOTLLVM :
397413 return MakeMonoAOTLLVMJob ( baseJob , options , RuntimeInformation . IsNetCore ? CoreRuntime . GetCurrentVersion ( ) . MsBuildMoniker : "net6.0" ) ;
398414 case RuntimeMoniker . MonoAOTLLVMNet60 :
@@ -402,27 +418,27 @@ private static Job CreateJobForGivenRuntime(Job baseJob, string runtimeId, Comma
402418 default :
403419 throw new NotSupportedException ( $ "Runtime { runtimeId } is not supported") ;
404420 }
405- }
406-
407- private static Job MakeMonoAOTLLVMJob ( Job baseJob , CommandLineOptions options , string msBuildMoniker )
408- {
409- var monoAotLLVMRuntime = new MonoAotLLVMRuntime ( aotCompilerPath : options . AOTCompilerPath , msBuildMoniker : msBuildMoniker ) ;
410-
411- var toolChain = MonoAotLLVMToolChain . From (
412- new NetCoreAppSettings (
413- targetFrameworkMoniker : monoAotLLVMRuntime . MsBuildMoniker ,
414- runtimeFrameworkVersion : null ,
415- name : monoAotLLVMRuntime . Name ,
416- customDotNetCliPath : options . CliPath ? . FullName ,
417- packagesPath : options . RestorePath ? . FullName ,
418- customRuntimePack : options . CustomRuntimePack ,
419- aotCompilerPath : options . AOTCompilerPath . ToString ( ) ,
420- aotCompilerMode : options . AOTCompilerMode ) ) ;
421-
422- return baseJob . WithRuntime ( monoAotLLVMRuntime ) . WithToolchain ( toolChain ) ;
423421 }
424422
425- private static Job MakeWasmJob ( Job baseJob , CommandLineOptions options , string msBuildMoniker )
423+ private static Job MakeMonoAOTLLVMJob ( Job baseJob , CommandLineOptions options , string msBuildMoniker )
424+ {
425+ var monoAotLLVMRuntime = new MonoAotLLVMRuntime ( aotCompilerPath : options . AOTCompilerPath , msBuildMoniker : msBuildMoniker ) ;
426+
427+ var toolChain = MonoAotLLVMToolChain . From (
428+ new NetCoreAppSettings (
429+ targetFrameworkMoniker : monoAotLLVMRuntime . MsBuildMoniker ,
430+ runtimeFrameworkVersion : null ,
431+ name : monoAotLLVMRuntime . Name ,
432+ customDotNetCliPath : options . CliPath ? . FullName ,
433+ packagesPath : options . RestorePath ? . FullName ,
434+ customRuntimePack : options . CustomRuntimePack ,
435+ aotCompilerPath : options . AOTCompilerPath . ToString ( ) ,
436+ aotCompilerMode : options . AOTCompilerMode ) ) ;
437+
438+ return baseJob . WithRuntime ( monoAotLLVMRuntime ) . WithToolchain ( toolChain ) ;
439+ }
440+
441+ private static Job MakeWasmJob ( Job baseJob , CommandLineOptions options , string msBuildMoniker , RuntimeMoniker moniker )
426442 {
427443 bool wasmAot = options . AOTCompilerMode == MonoAotCompilerMode . wasm ;
428444
@@ -431,7 +447,8 @@ private static Job MakeWasmJob(Job baseJob, CommandLineOptions options, string m
431447 javaScriptEngine : options . WasmJavascriptEngine ? . FullName ?? "v8" ,
432448 javaScriptEngineArguments : options . WasmJavaScriptEngineArguments ,
433449 aot : wasmAot ,
434- runtimeSrcDir : options . RuntimeSrcDir ) ;
450+ runtimeSrcDir : options . RuntimeSrcDir ,
451+ moniker : moniker ) ;
435452
436453 var toolChain = WasmToolChain . From ( new NetCoreAppSettings (
437454 targetFrameworkMoniker : wasmRuntime . MsBuildMoniker ,
0 commit comments