33
44namespace ScriptCs . Command
55{
6- public class RestoreCommand : IRestoreCommand
6+ internal class RestoreCommand : IRestoreCommand
77 {
8+ private readonly string _scriptName ;
9+
810 private readonly IFileSystem _fileSystem ;
911
1012 private readonly IPackageAssemblyResolver _packageAssemblyResolver ;
1113
12- public RestoreCommand ( IFileSystem fileSystem , IPackageAssemblyResolver packageAssemblyResolver )
14+ public RestoreCommand ( string scriptName , IFileSystem fileSystem , IPackageAssemblyResolver packageAssemblyResolver )
1315 {
16+ _scriptName = scriptName ;
1417 _fileSystem = fileSystem ;
1518 _packageAssemblyResolver = packageAssemblyResolver ;
1619 }
1720
18- public virtual int Execute ( )
21+ public CommandResult Execute ( )
1922 {
20- Console . WriteLine ( "Moving assemblies to bin folder..." ) ;
23+ Console . WriteLine ( "Copying assemblies to bin folder..." ) ;
2124
22- var binFolder = Path . Combine ( _fileSystem . CurrentDirectory , "bin" ) ;
25+ var workingDirectory = _fileSystem . GetWorkingDirectory ( _scriptName ) ;
26+ var binFolder = Path . Combine ( workingDirectory , "bin" ) ;
2327
2428 try
2529 {
2630 if ( ! _fileSystem . DirectoryExists ( binFolder ) )
2731 _fileSystem . CreateDirectory ( binFolder ) ;
2832
29- var packages = _packageAssemblyResolver . GetAssemblyNames ( _fileSystem . CurrentDirectory ) ;
33+ var packages = _packageAssemblyResolver . GetAssemblyNames ( workingDirectory ) ;
3034 foreach ( var package in packages )
3135 {
32- MoveFile ( package , binFolder ) ;
36+ CopyFile ( package , binFolder ) ;
3337 }
3438
3539 Console . WriteLine ( "Restore completed successfully." ) ;
36- return 0 ;
40+ return CommandResult . Success ;
3741 }
3842 catch ( Exception e )
3943 {
4044 Console . WriteLine ( "Restore failed: {0}." , e . Message ) ;
41- return - 1 ;
45+ return CommandResult . Error ;
4246 }
4347 }
4448
45- private void MoveFile ( string package , string binFolder )
49+ private void CopyFile ( string package , string binFolder )
4650 {
47- var packageFileName = Path . GetFileName ( package ) ;
48- if ( packageFileName == null ) return ;
51+ var assemblyFileName = Path . GetFileName ( package ) ;
52+ if ( assemblyFileName == null ) return ;
4953
50- var destFile = Path . Combine ( binFolder , packageFileName ) ;
54+ var destFile = Path . Combine ( binFolder , assemblyFileName ) ;
5155
5256 var sourceFileLastWriteTime = _fileSystem . GetLastWriteTime ( package ) ;
5357 var destFileLastWriteTime = _fileSystem . GetLastWriteTime ( destFile ) ;
5458
5559 if ( sourceFileLastWriteTime == destFileLastWriteTime )
5660 {
57- Console . WriteLine ( "Skipped {0}." , packageFileName ) ;
61+ Console . WriteLine ( "Skipped: {0}." , assemblyFileName ) ;
5862 return ;
5963 }
6064
6165 _fileSystem . Copy ( package , destFile , true ) ;
6266
63- Console . WriteLine ( "Moved {0}." , packageFileName ) ;
67+ Console . WriteLine ( "Copied: {0}." , assemblyFileName ) ;
6468 }
6569 }
6670}
0 commit comments