@@ -260,7 +260,7 @@ private static int Generate(ParseSpec spec, string baseDir, bool detailed = fals
260260 var unresolved = new List < string > ( ) ;
261261 while ( true )
262262 {
263- var deps = ResolveDependencies ( inclPkgs , rawPkgs , spec ) ;
263+ var deps = ResolveDependencies ( inclPkgs , spec ) ;
264264 if ( deps . Count == 0 || deps . All ( unresolved . Contains ) ) break ;
265265
266266 foreach ( var dep in deps )
@@ -531,9 +531,14 @@ private static bool TryGetGitCommitHash(string packageRoot, out string? sha1, in
531531 }
532532 return false ;
533533 }
534+ catch ( Exception ex )
535+ {
536+ Console . WriteLine ( $ "Warning: Unable to get git commit hash for package at '{ packageRoot } ': { ex . Message } ") ;
537+ return false ;
538+ }
534539 }
535540
536- private static List < string > ResolveDependencies ( Dictionary < string , Package > inclPkgs , Dictionary < string , string > rawPkgs , ParseSpec spec )
541+ private static List < string > ResolveDependencies ( Dictionary < string , Package > inclPkgs , ParseSpec spec )
537542 {
538543 var missing = new List < string > ( ) ;
539544
@@ -548,12 +553,12 @@ private static List<string> ResolveDependencies(Dictionary<string, Package> incl
548553
549554 if ( metadata is MessageMetadata m )
550555 {
551- ResolveFields ( rawPkgs , m . Fields , missing ) ;
556+ ResolveFields ( inclPkgs , m . Fields , missing ) ;
552557 }
553558 else if ( metadata is ServiceMetadata s )
554559 {
555- ResolveFields ( rawPkgs , s . RequestFields , missing ) ;
556- ResolveFields ( rawPkgs , s . ResponseFields , missing ) ;
560+ ResolveFields ( inclPkgs , s . RequestFields , missing ) ;
561+ ResolveFields ( inclPkgs , s . ResponseFields , missing ) ;
557562
558563 if ( spec . EnableServiceIntrospection )
559564 {
@@ -562,9 +567,9 @@ private static List<string> ResolveDependencies(Dictionary<string, Package> incl
562567 }
563568 else if ( metadata is ActionMetadata a )
564569 {
565- ResolveFields ( rawPkgs , a . GoalFields , missing ) ;
566- ResolveFields ( rawPkgs , a . ResultFields , missing ) ;
567- ResolveFields ( rawPkgs , a . FeedbackFields , missing ) ;
570+ ResolveFields ( inclPkgs , a . GoalFields , missing ) ;
571+ ResolveFields ( inclPkgs , a . ResultFields , missing ) ;
572+ ResolveFields ( inclPkgs , a . FeedbackFields , missing ) ;
568573
569574 if ( spec . EnableServiceIntrospection )
570575 {
@@ -584,14 +589,14 @@ private static List<string> ResolveDependencies(Dictionary<string, Package> incl
584589
585590 void Requires ( string package )
586591 {
587- if ( ! rawPkgs . ContainsKey ( package ) && ! missing . Contains ( package ) )
592+ if ( ! inclPkgs . ContainsKey ( package ) && ! missing . Contains ( package ) )
588593 {
589594 missing . Add ( package ) ;
590595 }
591596 }
592597 }
593598
594- private static void ResolveFields ( Dictionary < string , string > packages , IEnumerable < FieldMetadata > fields , List < string > missingDependencies )
599+ private static void ResolveFields ( Dictionary < string , Package > packages , IEnumerable < FieldMetadata > fields , List < string > missingDependencies )
595600 {
596601 foreach ( var f in fields )
597602 {
0 commit comments