public override bool Execute() { var pkgPath = Package.ItemSpec; var defines = Defines.IsNullOrEmpty() ? new string[0] : Defines.Select(each => each.ItemSpec).ToArray(); try { using (var script = new PackageScript(pkgPath)) { if (PackageDirectory.Is()) { script.AddNuGetPackageDirectory(PackageDirectory.GetFullPath()); } if (defines != null) { foreach (var i in defines) { var p = i.IndexOf("="); var k = p > -1 ? i.Substring(0, p) : i; var v = p > -1 ? i.Substring(p + 1) : ""; script.AddMacro(k, v); } } IEnumerable <string> overlayFiles; var pkg = script.Save(PackageTypes.NuGet, true, false, out overlayFiles); OverlayPackages = overlayFiles.Select(each => (ITaskItem) new TaskItem(each)).ToArray(); MainPackages = new ITaskItem[] { new TaskItem(pkg) }; OverlayPackages = new ITaskItem[0]; /* * AllPackages = script.AllPackages.Select(each => (ITaskItem)new TaskItem(each)).ToArray(); * * // AllPackages = script.Packages.Select(each => (ITaskItem)new TaskItem(each)).ToArray(); * * OverlayPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("overlay") > -1).ToArray(); * SymbolsPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("symbols") > -1).ToArray(); * MainPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("overlay") == -1 && each.ItemSpec.ToLower().IndexOf("symbols") == -1).ToArray(); * * foreach (var p in OverlayPackages) { * var n = Path.GetFileNameWithoutExtension(p.ItemSpec); * var o = n.IndexOf(".overlay."); * * p.SetMetadata("pkgIdentity", "{0} {1}".format(n.Substring(0, o + 7), n.Substring(o + 8))); * } */ NuGetSuccess = true; return(true); } } catch { } NuGetSuccess = false; return(false); }
public override bool Execute() { var pkgPath = Package.ItemSpec; var defines = Defines.IsNullOrEmpty() ? new string[0] : Defines.Select(each => each.ItemSpec).ToArray(); try { using (var script = new PackageScript(pkgPath)) { if (PackageDirectory.Is()) { script.AddNuGetPackageDirectory(PackageDirectory.GetFullPath()); } if (defines != null) { foreach (var i in defines) { var p = i.IndexOf("="); var k = p > -1 ? i.Substring(0, p) : i; var v = p > -1 ? i.Substring(p + 1) : ""; script.AddMacro(k, v); } } IEnumerable<string> overlayFiles; var pkg = script.Save(PackageTypes.NuGet, true, false, out overlayFiles); OverlayPackages = overlayFiles.Select(each => (ITaskItem)new TaskItem(each)).ToArray(); MainPackages = new ITaskItem[] { new TaskItem(pkg) }; OverlayPackages = new ITaskItem[0]; /* AllPackages = script.AllPackages.Select(each => (ITaskItem)new TaskItem(each)).ToArray(); // AllPackages = script.Packages.Select(each => (ITaskItem)new TaskItem(each)).ToArray(); OverlayPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("overlay") > -1).ToArray(); SymbolsPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("symbols") > -1).ToArray(); MainPackages = AllPackages.Where(each => each.ItemSpec.ToLower().IndexOf("overlay") == -1 && each.ItemSpec.ToLower().IndexOf("symbols") == -1).ToArray(); foreach (var p in OverlayPackages) { var n = Path.GetFileNameWithoutExtension(p.ItemSpec); var o = n.IndexOf(".overlay."); p.SetMetadata("pkgIdentity", "{0} {1}".format(n.Substring(0, o + 7), n.Substring(o + 8))); } */ NuGetSuccess = true; return true; } } catch { } NuGetSuccess = false; return false; }
private void Start(string[] args) { CurrentTask.Events += new SourceError((code, location, message, objects) => { location = location ?? SourceLocation.Unknowns; Console.WriteLine("{0}:Error {1}:{2}", location.FirstOrDefault(), code, message.format(objects)); return(true); }); CurrentTask.Events += new SourceWarning((code, location, message, objects) => { location = location ?? SourceLocation.Unknowns; Console.WriteLine("{0}:Warning {1}:{2}", location.FirstOrDefault(), message.format(objects)); return(false); }); CurrentTask.Events += new SourceDebug((code, location, message, objects) => { location = location ?? SourceLocation.Unknowns; Console.WriteLine("{0}:DebugMessage {1}:{2}", location.FirstOrDefault(), code, message.format(objects)); return(false); }); CurrentTask.Events += new Error((code, message, objects) => { Console.WriteLine("{0}:Error {1}", code, message.format(objects)); return(true); }); CurrentTask.Events += new Warning((code, message, objects) => { Console.WriteLine("{0}:Warning {1}", code, message.format(objects)); return(false); }); CurrentTask.Events += new Debug((code, message, objects) => { Console.WriteLine("{0}:DebugMessage {1}", code, message.format(objects)); return(false); }); CurrentTask.Events += new Verbose((code, message, objects) => { Console.WriteLine("{0}:Verbose {1}", code, message.format(objects)); return(false); }); CurrentTask.Events += new Message((code, message, objects) => { Console.WriteLine("{0}:Message {1}", code, message.format(objects)); return(false); }); #if true try { Environment.CurrentDirectory = @"C:\root\V2\coapp-packages\openssl\copkg"; Console.WriteLine("Package script"); using (var script = new PackageScript("openssl.autopkg")) { script.Save(PackageTypes.NuGet, false); } Console.WriteLine(); } catch (Exception e) { Console.WriteLine("{0} =>\r\n\r\nat {1}", e.Message, e.StackTrace.Replace("at ClrPlus.Scripting.Languages.PropertySheetV3.PropertySheetParser", "PropertySheetParser")); } #else try { // Environment.CurrentDirectory = @"C:\project"; Console.WriteLine("Build script"); using (var script = new BuildScript("test.buildinfo")) { script.Execute(); } } catch (Exception e) { Console.WriteLine("{0} =>\r\n\r\nat {1}", e.Message, e.StackTrace.Replace("at ClrPlus.Scripting.Languages.PropertySheetV3.PropertySheetParser", "PropertySheetParser")); } #endif return; // }
protected override void ProcessRecord() { #if USING_RESTABLE_CMDLET if (Remote) { ProcessRecordViaRest(); return; } #endif ProviderInfo packagePathProviderInfo; var pkgPath = SessionState.Path.GetResolvedProviderPathFromPSPath(Package, out packagePathProviderInfo); using (var local = LocalEventSource) { local.Events += new SourceError((code, location, message, objects) => { location = location ?? SourceLocation.Unknowns; Host.UI.WriteErrorLine("{0}:Error {1}:{2}".format(location.FirstOrDefault(), code, message.format(objects))); return(true); }); if (!NoWarnings) { local.Events += new SourceWarning((code, location, message, objects) => { WriteWarning("{0}:Warning {1}:{2}".format((location ?? SourceLocation.Unknowns).FirstOrDefault(), message.format(objects))); return(false); }); } local.Events += new SourceDebug((code, location, message, objects) => { WriteVerbose("{0}:DebugMessage {1}:{2}".format((location ?? SourceLocation.Unknowns).FirstOrDefault(), code, message.format(objects))); return(false); }); using (var script = new PackageScript(pkgPath.FirstOrDefault())) { script.SplitThreshold = SplitThreshold * 1024 * 1024; if (PackageDirectory.Is()) { script.AddNuGetPackageDirectory(PackageDirectory.GetFullPath()); } if (Defines != null) { foreach (var i in Defines) { var p = i.IndexOf("="); var k = p > -1 ? i.Substring(0, p) : i; var v = p > -1 ? i.Substring(p + 1) : ""; script.AddMacro(k, v); } } if (Define != null) { foreach (var i in Define) { var p = i.IndexOf("="); var k = p > -1 ? i.Substring(0, p) : i; var v = p > -1 ? i.Substring(p + 1) : ""; script.AddMacro(k, v); } } IEnumerable <string> overlayPackages; var pkgFile = script.Save(PackageTypes.NuGet, !NoClean, GenerateOnly, out overlayPackages); } } }