Skip to content

Commit 1465cfe

Browse files
committed
Merge pull request #98 from huangpf/clu
Clu
2 parents fcae880 + 3fc5f35 commit 1465cfe

File tree

9 files changed

+978
-70
lines changed

9 files changed

+978
-70
lines changed

src/CLU/Microsoft.Azure.Commands.Compute/Microsoft.Azure.Commands.Compute.xproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,8 @@
1414
<PropertyGroup>
1515
<SchemaVersion>2.0</SchemaVersion>
1616
</PropertyGroup>
17+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
18+
<ProduceOutputsOnBuild>True</ProduceOutputsOnBuild>
19+
</PropertyGroup>
1720
<Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
1821
</Project>

src/CLU/Microsoft.Azure.Commands.Compute/Models/PSSyncOutputEvents.cs

Lines changed: 62 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ public PSSyncOutputEvents(PSCmdlet cmdlet)
3636
{
3737
this.cmdlet = cmdlet;
3838
// TODO: CLU
39-
this.runspace = RunspaceFactory.CreateRunspace(null);
39+
this.runspace = RunspaceFactory.CreateRunspace(InitialSessionState.CreateDefault());
4040
//this.runspace = RunspaceFactory.CreateRunspace(this.cmdlet.Host);
41-
this.runspace.Open();
41+
//this.runspace.Open();
4242
}
4343

4444
private static string FormatDuration(TimeSpan ts)
@@ -47,7 +47,7 @@ private static string FormatDuration(TimeSpan ts)
4747
{
4848
return String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds);
4949
}
50-
return String.Format(Rsrc.ResourceManager.GetString("PSSyncOutputEventsFormatDuration"), ts.Days, ts.Hours, ts.Minutes, ts.Seconds);
50+
return String.Format(Rsrc.PSSyncOutputEventsFormatDuration, ts.Days, ts.Hours, ts.Minutes, ts.Seconds);
5151
}
5252

5353
public void ProgressCopyStatus(ProgressRecord record)
@@ -57,13 +57,13 @@ public void ProgressCopyStatus(ProgressRecord record)
5757

5858
public void ProgressCopyStatus(double precentComplete, double avgThroughputMbps, TimeSpan remainingTime)
5959
{
60-
LogProgress(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsCopying"), precentComplete, remainingTime, avgThroughputMbps);
60+
LogProgress(0, Rsrc.PSSyncOutputEventsCopying, precentComplete, remainingTime, avgThroughputMbps);
6161
}
6262

6363
public void ProgressCopyComplete(TimeSpan elapsed)
6464
{
65-
LogProgressComplete(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsCopying"));
66-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsElapsedTimeForCopy"), FormatDuration(elapsed));
65+
LogProgressComplete(0, Rsrc.PSSyncOutputEventsCopying);
66+
LogMessage(Rsrc.PSSyncOutputEventsElapsedTimeForCopy, FormatDuration(elapsed));
6767
}
6868

6969
public void ProgressUploadStatus(ProgressRecord record)
@@ -73,52 +73,55 @@ public void ProgressUploadStatus(ProgressRecord record)
7373

7474
public void ProgressUploadStatus(double precentComplete, double avgThroughputMbps, TimeSpan remainingTime)
7575
{
76-
LogProgress(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsUploading"), precentComplete, remainingTime, avgThroughputMbps);
76+
LogProgress(0, Rsrc.PSSyncOutputEventsUploading, precentComplete, remainingTime, avgThroughputMbps);
7777
}
7878

7979
private void LogProgress(int activityId, string activity, double precentComplete, TimeSpan remainingTime, double avgThroughputMbps)
8080
{
81-
var message = String.Format(Rsrc.ResourceManager.GetString("PSSyncOutputEventsLogProgress"),
82-
precentComplete,
83-
FormatDuration(remainingTime),
84-
avgThroughputMbps);
85-
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -SecondsRemaining {3} -PercentComplete {4}", activityId, activity, message, (int)remainingTime.TotalSeconds, (int)precentComplete);
8681
using (var ps = System.Management.Automation.PowerShell.Create())
8782
{
8883
ps.Runspace = runspace;
84+
var message = String.Format(Rsrc.PSSyncOutputEventsLogProgress,
85+
precentComplete,
86+
FormatDuration(remainingTime),
87+
avgThroughputMbps);
88+
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -SecondsRemaining {3} -PercentComplete {4}", activityId, activity, message, (int)remainingTime.TotalSeconds, (int)precentComplete);
8989
// TODO: CLU
90+
Console.WriteLine(progressCommand);
9091
//ps.AddScript(progressCommand);
91-
ps.Invoke();
92+
//ps.Invoke();
9293
}
9394
}
9495

9596
private void LogProgressComplete(int activityId, string activity)
9697
{
97-
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -Completed", activityId, activity, Rsrc.ResourceManager.GetString("PSSyncOutputEventsLogProgressCompleteCompleted"));
9898
using (var ps = System.Management.Automation.PowerShell.Create())
9999
{
100-
ps.Runspace = runspace;
100+
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -Completed", activityId, activity, Rsrc.PSSyncOutputEventsLogProgressCompleteCompleted);
101101
// TODO: CLU
102+
Console.WriteLine(progressCommand);
103+
ps.Runspace = runspace;
102104
//ps.AddScript(progressCommand);
103-
ps.Invoke();
105+
//ps.Invoke();
104106
}
105107
}
106108

107109
public void MessageCreatingNewPageBlob(long pageBlobSize)
108110
{
109-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsCreatingNewPageBlob, pageBlobSize"));
111+
LogMessage(Rsrc.PSSyncOutputEventsCreatingNewPageBlob, pageBlobSize);
110112
}
111113

112114
private void LogMessage(string format, params object[] parameters)
113115
{
114-
var message = String.Format(format, parameters);
115-
var verboseMessage = String.Format("Write-Host '{0}'", message);
116116
using (var ps = System.Management.Automation.PowerShell.Create())
117117
{
118118
ps.Runspace = runspace;
119+
var message = String.Format(format, parameters);
120+
var verboseMessage = String.Format("Write-Host '{0}'", message);
119121
// TODO: CLU
122+
Console.WriteLine(verboseMessage);
120123
//ps.AddScript(verboseMessage);
121-
ps.Invoke();
124+
//ps.Invoke();
122125
}
123126
}
124127

@@ -127,21 +130,23 @@ private void LogError(Exception e)
127130
using (var ps = System.Management.Automation.PowerShell.Create())
128131
{
129132
ps.Runspace = runspace;
130-
ps.AddCommand("Write-Error");
131-
ps.AddParameter("ErrorRecord", new ErrorRecord(e, String.Empty, ErrorCategory.NotSpecified, null));
132-
ps.Invoke();
133+
// TODO: CLU
134+
Console.Error.WriteLine(new ErrorRecord(e, String.Empty, ErrorCategory.NotSpecified, null));
135+
//ps.AddCommand("Write-Error");
136+
//ps.AddParameter("ErrorRecord", new ErrorRecord(e, String.Empty, ErrorCategory.NotSpecified, null));
137+
//ps.Invoke();
133138
}
134139
}
135140

136141
public void MessageResumingUpload()
137142
{
138-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsResumingUpload"));
143+
LogMessage(Rsrc.PSSyncOutputEventsResumingUpload);
139144
}
140145

141146
public void ProgressUploadComplete(TimeSpan elapsed)
142147
{
143-
LogProgressComplete(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsUploading"));
144-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsElapsedTimeForUpload"), FormatDuration(elapsed));
148+
LogProgressComplete(0, Rsrc.PSSyncOutputEventsUploading);
149+
LogMessage(Rsrc.PSSyncOutputEventsElapsedTimeForUpload, FormatDuration(elapsed));
145150
}
146151

147152
public void ProgressDownloadStatus(ProgressRecord record)
@@ -151,13 +156,13 @@ public void ProgressDownloadStatus(ProgressRecord record)
151156

152157
public void ProgressDownloadStatus(double precentComplete, double avgThroughputMbps, TimeSpan remainingTime)
153158
{
154-
LogProgress(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsDownloading"), precentComplete, remainingTime, avgThroughputMbps);
159+
LogProgress(0, Rsrc.PSSyncOutputEventsDownloading, precentComplete, remainingTime, avgThroughputMbps);
155160
}
156161

157162
public void ProgressDownloadComplete(TimeSpan elapsed)
158163
{
159-
LogProgressComplete(0, Rsrc.ResourceManager.GetString("PSSyncOutputEventsDownloading"));
160-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsElapsedTimeForDownload"), FormatDuration(elapsed));
164+
LogProgressComplete(0, Rsrc.PSSyncOutputEventsDownloading);
165+
LogMessage(Rsrc.PSSyncOutputEventsElapsedTimeForDownload, FormatDuration(elapsed));
161166
}
162167

163168
public void ProgressOperationStatus(ProgressRecord record)
@@ -167,19 +172,19 @@ public void ProgressOperationStatus(ProgressRecord record)
167172

168173
public void ProgressOperationStatus(double percentComplete, double avgThroughputMbps, TimeSpan remainingTime)
169174
{
170-
LogProgress(1, Rsrc.ResourceManager.GetString("PSSyncOutputEventsCalculatingMD5Hash"), percentComplete, remainingTime, avgThroughputMbps);
175+
LogProgress(1, Rsrc.PSSyncOutputEventsCalculatingMD5Hash, percentComplete, remainingTime, avgThroughputMbps);
171176
}
172177

173178
public void ProgressOperationComplete(TimeSpan elapsed)
174179
{
175-
LogProgressComplete(1, Rsrc.ResourceManager.GetString("PSSyncOutputEventsCalculatingMD5Hash"));
176-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsElapsedTimeForOperation"), FormatDuration(elapsed));
180+
LogProgressComplete(1, Rsrc.PSSyncOutputEventsCalculatingMD5Hash);
181+
LogMessage(Rsrc.PSSyncOutputEventsElapsedTimeForOperation, FormatDuration(elapsed));
177182
}
178183

179184

180185
public void ErrorUploadFailedWithExceptions(IList<Exception> exceptions)
181186
{
182-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsUploadFailedWithException"));
187+
LogMessage(Rsrc.PSSyncOutputEventsUploadFailedWithException);
183188
foreach (var exception in exceptions)
184189
{
185190
LogError(exception);
@@ -188,17 +193,17 @@ public void ErrorUploadFailedWithExceptions(IList<Exception> exceptions)
188193

189194
public void MessageCalculatingMD5Hash(string filePath)
190195
{
191-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsCalculatingMD5HashForFile"), filePath);
196+
LogMessage(Rsrc.PSSyncOutputEventsCalculatingMD5HashForFile, filePath);
192197
}
193198

194199
public void MessageMD5HashCalculationFinished()
195200
{
196-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsMD5HashCalculationFinished"));
201+
LogMessage(Rsrc.PSSyncOutputEventsMD5HashCalculationFinished);
197202
}
198203

199204
public void MessageRetryingAfterANetworkDisruption()
200205
{
201-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsRetryingAfterANetworkDisruption"));
206+
LogMessage(Rsrc.PSSyncOutputEventsRetryingAfterANetworkDisruption);
202207
}
203208

204209
public void DebugRetryingAfterException(Exception lastException)
@@ -215,34 +220,35 @@ public void DebugRetryingAfterException(Exception lastException)
215220

216221
public void MessageDetectingActualDataBlocks()
217222
{
218-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsDetectingActualDataBlocks"));
223+
LogMessage(Rsrc.PSSyncOutputEventsDetectingActualDataBlocks);
219224
}
220225

221226
public void MessageDetectingActualDataBlocksCompleted()
222227
{
223-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsDetectingActualDataBlocksCompleted"));
228+
LogMessage(Rsrc.PSSyncOutputEventsDetectingActualDataBlocksCompleted);
224229
}
225230

226231
public void MessagePrintBlockRange(IndexRange range)
227232
{
228-
LogMessage(Rsrc.ResourceManager.GetString("PSSyncOutputEventsPrintBlockRange"), range, range.Length);
233+
LogMessage(Rsrc.PSSyncOutputEventsPrintBlockRange, range, range.Length);
229234
}
230235

231236
public void DebugEmptyBlockDetected(IndexRange range)
232237
{
233-
LogDebug(Rsrc.ResourceManager.GetString("PSSyncOutputEventsEmptyBlockDetected"), range.ToString());
238+
LogDebug(Rsrc.PSSyncOutputEventsEmptyBlockDetected, range.ToString());
234239
}
235240

236241
private void LogDebug(string format, params object[] parameters)
237242
{
238-
var message = String.Format(format, parameters);
239-
var debugMessage = String.Format("Write-Debug -Message '{0}'", message);
240243
using (var ps = System.Management.Automation.PowerShell.Create())
241244
{
242245
ps.Runspace = runspace;
243246
// TODO: CLU
247+
var message = String.Format(format, parameters);
248+
var debugMessage = String.Format("Write-Debug -Message '{0}'", message);
249+
Console.WriteLine(debugMessage);
244250
//ps.AddScript(debugMessage);
245-
ps.Invoke();
251+
//ps.Invoke();
246252
}
247253
}
248254

@@ -253,33 +259,39 @@ public void ProgressEmptyBlockDetection(int processedRangeCount, int totalRangeC
253259
if (processedRangeCount >= totalRangeCount)
254260
{
255261

256-
var progressCommand1 = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -Completed", 2, Rsrc.ResourceManager.GetString("PSSyncOutputEventsProgressEmptyBlockDetection"), Rsrc.ResourceManager.GetString("PSSyncOutputEventsEmptyBlockDetectionCompleted"));
262+
var progressCommand1 = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -Completed", 2, Rsrc.PSSyncOutputEventsProgressEmptyBlockDetection, Rsrc.PSSyncOutputEventsEmptyBlockDetectionCompleted);
257263
ps.Runspace = runspace;
258264
// TODO: CLU
265+
Console.WriteLine(progressCommand1);
259266
//ps.AddScript(progressCommand1);
260-
ps.Invoke();
267+
//ps.Invoke();
261268
return;
262269
}
263270

264-
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -SecondsRemaining {3} -PercentComplete {4}", 2, Rsrc.ResourceManager.GetString("PSSyncOutputEventsProgressEmptyBlockDetection"), Rsrc.ResourceManager.GetString("PSSyncOutputEventsEmptyBlockDetectionDetecting"), -1, ((double)processedRangeCount / totalRangeCount) * 100);
271+
var progressCommand = String.Format(@"Write-Progress -Id {0} -Activity '{1}' -Status '{2}' -SecondsRemaining {3} -PercentComplete {4}", 2, Rsrc.PSSyncOutputEventsProgressEmptyBlockDetection, Rsrc.PSSyncOutputEventsEmptyBlockDetectionDetecting, -1, ((double)processedRangeCount / totalRangeCount) * 100);
265272
ps.Runspace = runspace;
266273
// TODO: CLU
274+
Console.WriteLine(progressCommand);
267275
//ps.AddScript(progressCommand);
268-
ps.Invoke();
276+
//ps.Invoke();
269277
}
270278
}
271279

272280
public void WriteVerboseWithTimestamp(string message, params object[] args)
273281
{
282+
// TODO: CLU
274283
var messageWithTimeStamp = string.Format(CultureInfo.CurrentCulture, "{0:T} - {1}", DateTime.Now, string.Format(message, args));
275284
var progressCommand = String.Format(@"Write-Verbose -Message {0}", messageWithTimeStamp);
285+
Console.WriteLine(progressCommand);
286+
/*
276287
using (var ps = System.Management.Automation.PowerShell.Create())
277288
{
278289
ps.Runspace = runspace;
279290
// TODO: CLU
280291
//ps.AddScript(progressCommand);
281-
ps.Invoke();
292+
//ps.Invoke();
282293
}
294+
*/
283295
}
284296

285297

@@ -295,7 +307,8 @@ protected virtual void Dispose(bool disposing)
295307
{
296308
if (disposing)
297309
{
298-
runspace.Dispose();
310+
// TODO: CLU
311+
//runspace.Dispose();
299312
}
300313
this.disposed = true;
301314
}

0 commit comments

Comments
 (0)