@@ -5,17 +5,47 @@ export class ExecuteCommand implements Command {
55 readonly name = 'execute'
66
77 async execute ( ctx : CommandContext ) : Promise < CommandResult > {
8- const { logger, outputPlugins, createCleanContext, createWriteContext} = ctx
9- logger . info ( 'started' , { command : 'execute' } )
8+ const { logger, outputPlugins, createCleanContext, createWriteContext, collectedOutputContext} = ctx
9+ logger . info ( 'started' , {
10+ command : 'execute' ,
11+ pluginCount : outputPlugins . length ,
12+ projectCount : collectedOutputContext . workspace . projects . length ,
13+ workspaceDir : collectedOutputContext . workspace . directory . path
14+ } )
1015
1116 const writeCtx = createWriteContext ( false )
17+ logger . info ( 'execute phase started' , { phase : 'collect-output-declarations' } )
1218 const predeclaredOutputs = await collectOutputDeclarations ( outputPlugins , writeCtx )
19+ const declarationCount = [ ...predeclaredOutputs . values ( ) ]
20+ . reduce ( ( total , declarations ) => total + declarations . length , 0 )
21+ logger . info ( 'execute phase complete' , {
22+ phase : 'collect-output-declarations' ,
23+ pluginCount : predeclaredOutputs . size ,
24+ declarationCount
25+ } )
26+
27+ logger . info ( 'execute phase started' , { phase : 'cleanup-before-write' } )
1328 const cleanupResult = await performCleanup ( outputPlugins , createCleanContext ( false ) , logger , predeclaredOutputs )
1429 if ( cleanupResult . violations . length > 0 || cleanupResult . conflicts . length > 0 ) {
30+ logger . info ( 'execute halted' , {
31+ phase : 'cleanup-before-write' ,
32+ conflicts : cleanupResult . conflicts . length ,
33+ violations : cleanupResult . violations . length ,
34+ ...cleanupResult . message != null ? { message : cleanupResult . message } : { }
35+ } )
1536 return { success : false , filesAffected : 0 , dirsAffected : 0 , ...cleanupResult . message != null ? { message : cleanupResult . message } : { } }
1637 }
1738
18- logger . info ( 'cleanup complete' , { deletedFiles : cleanupResult . deletedFiles , deletedDirs : cleanupResult . deletedDirs } )
39+ logger . info ( 'execute phase complete' , {
40+ phase : 'cleanup-before-write' ,
41+ deletedFiles : cleanupResult . deletedFiles ,
42+ deletedDirs : cleanupResult . deletedDirs
43+ } )
44+
45+ logger . info ( 'execute phase started' , {
46+ phase : 'write-output-files' ,
47+ declarationCount
48+ } )
1949 const results = await executeDeclarativeWriteOutputs ( outputPlugins , writeCtx , predeclaredOutputs )
2050
2151 let totalFiles = 0
@@ -29,17 +59,46 @@ export class ExecuteCommand implements Command {
2959 }
3060 }
3161
62+ logger . info ( 'execute phase complete' , {
63+ phase : 'write-output-files' ,
64+ pluginCount : results . size ,
65+ filesAffected : totalFiles ,
66+ dirsAffected : totalDirs ,
67+ writeErrors : writeErrors . length
68+ } )
69+
3270 if ( writeErrors . length > 0 ) {
71+ logger . info ( 'execute halted' , {
72+ phase : 'write-output-files' ,
73+ writeErrors : writeErrors . length
74+ } )
3375 return { success : false , filesAffected : totalFiles , dirsAffected : totalDirs , message : writeErrors . join ( '\n' ) }
3476 }
3577
78+ logger . info ( 'execute phase started' , { phase : 'sync-wsl-mirrors' } )
3679 const wslMirrorResult = await syncWindowsConfigIntoWsl ( outputPlugins , writeCtx , void 0 , predeclaredOutputs )
3780 if ( wslMirrorResult . errors . length > 0 ) {
81+ logger . info ( 'execute halted' , {
82+ phase : 'sync-wsl-mirrors' ,
83+ mirroredFiles : wslMirrorResult . mirroredFiles ,
84+ errors : wslMirrorResult . errors . length
85+ } )
3886 return { success : false , filesAffected : totalFiles , dirsAffected : totalDirs , message : wslMirrorResult . errors . join ( '\n' ) }
3987 }
4088
4189 totalFiles += wslMirrorResult . mirroredFiles
42- logger . info ( 'complete' , { command : 'execute' , pluginCount : results . size } )
90+ logger . info ( 'execute phase complete' , {
91+ phase : 'sync-wsl-mirrors' ,
92+ mirroredFiles : wslMirrorResult . mirroredFiles ,
93+ warnings : wslMirrorResult . warnings . length ,
94+ errors : wslMirrorResult . errors . length
95+ } )
96+ logger . info ( 'complete' , {
97+ command : 'execute' ,
98+ pluginCount : results . size ,
99+ filesAffected : totalFiles ,
100+ dirsAffected : totalDirs
101+ } )
43102 return { success : true , filesAffected : totalFiles , dirsAffected : totalDirs }
44103 }
45104}
0 commit comments