public override void Process(BuildPackageArgs args) { if (this.AbortIfErrorsDetected(args)) { return; } var fileName = this.GetFileName(args); this.Log.Debug("File name will be '" + fileName + "'", this); var directoryPath = this.PackageStoragePath(args); this.Log.Debug("File directory path will be '" + directoryPath + "'", this); if (!Directory.Exists(directoryPath)) { this.Log.Debug("Creating directory '" + directoryPath + "'...", this); Directory.CreateDirectory(directoryPath); } var filePath = Path.Combine(directoryPath, fileName); if (File.Exists(filePath)) { this.Log.Debug("File exists, deleting file '" + filePath + "'...", this); File.Delete(filePath); } args.PackageFilePath = filePath; }
protected virtual string PackageStoragePath(BuildPackageArgs args) { var storageSetting = Settings.GetSetting("Pintle.PackageStoragePath", "/packager"); if (storageSetting.StartsWith("/")) { return(MainUtil.MapPath(storageSetting)); } return(storageSetting); }
public BuildPackageResult(BuildPackageArgs args) : this() { if (args.Errors.Any()) { this.Success = false; this.Errors = args.Errors; } else { this.PackageFilePath = args.PackageFilePath; this.PackageUrl = MainUtil.UnmapPath(args.PackageFilePath).Replace("\\", "/"); var lastSlashIndex = args.PackageFilePath.LastIndexOf('\\'); this.PackageFileName = args.PackageFilePath.Substring(lastSlashIndex + 1, args.PackageFilePath.Length - lastSlashIndex - 1); this.PackageUrl = this.PackageUrl.Replace(this.PackageFileName.ToLower(), this.PackageFileName); } }
public override void Process(BuildPackageArgs args) { foreach (var param in args.PackageConfiguration.Parameters) { if (!args.Parameters.ContainsKey(param.Key) && param.Value.Required) { args.Errors.Add(param.Key, $"Parameter '{param.Key}' is required but was not passed to the package builder."); } else if (args.Parameters.ContainsKey(param.Key) && param.Value.Required) { var parameter = args.Parameters[param.Key]; if (string.IsNullOrWhiteSpace(parameter)) { args.Errors.Add(param.Key, $"Parameter '{param.Key}' is required but was not passed to the package builder."); } } } }
public override void Process(BuildPackageArgs args) { if (this.AbortIfErrorsDetected(args)) { return; } args.Package.Metadata = new MetadataSource { PackageName = args.PackageConfiguration.Metadata.PackageName, Author = args.PackageConfiguration.Metadata.Author, Version = args.PackageConfiguration.Metadata.Version, Publisher = args.PackageConfiguration.Metadata.Publisher, Comment = args.PackageConfiguration.Metadata.Comment, License = args.PackageConfiguration.Metadata.License, PackageID = args.PackageConfiguration.Metadata.PackageId, Readme = args.PackageConfiguration.Metadata.Readme, Revision = args.PackageConfiguration.Metadata.Revision }; }
public override void Process(BuildPackageArgs args) { if (this.AbortIfErrorsDetected(args)) { return; } foreach (var itemConfig in args.PackageConfiguration.Items) { var item = Factory.GetDatabase(itemConfig.Database).Items.GetItem(itemConfig.Path); if (item != null) { var logMessage = "Added item '" + itemConfig.Path + "' from '" + itemConfig.Database + "' database "; if (itemConfig.IncludeChildren) { logMessage += "with children."; args.PackageSources.Add(new ItemSource { SkipVersions = false, Database = item.Uri.DatabaseName, Root = item.Uri.ItemID.ToString() }); } else { logMessage += "no children."; args.PackageItems.Entries.Add(new ItemReference(item.Uri, false).ToString()); } this.Log.Debug(logMessage, this); } else { this.Log.Warn("Unable to add item '" + itemConfig.Path + "' from '" + itemConfig.Database + "' database to the package. Item does not exist", null, this); } } }
public override void Process(BuildPackageArgs args) { if (this.AbortIfErrorsDetected(args)) { return; } foreach (var fileConfig in args.PackageConfiguration.Files) { var pathMapped = MainUtil.MapPath(fileConfig.Path); if (!string.IsNullOrWhiteSpace(pathMapped) && File.Exists(pathMapped)) { args.PackageFiles.Entries.Add(pathMapped); this.Log.Debug("Added file '" + pathMapped + "' to the package", this); } else { this.Log.Warn("Unable to add file '" + pathMapped + "' to the package. File does not exist", null, this); } } }
public override void Process(BuildPackageArgs args) { if (this.AbortIfErrorsDetected(args)) { return; } if (args.PackageFiles.Entries.Count > 0) { args.Package.Sources.Add(args.PackageFiles); } if (args.PackageItems.Entries.Count > 0 || args.PackageSources.Sources.Count > 0) { args.Package.Sources.Add(args.PackageSources); } args.Package.SaveProject = true; try { this.Log.Debug("Generating package '" + args.PackageFilePath + "'...", this); using (new SiteContextSwitcher(SiteContext.GetSite("shell"))) using (new DatabaseSwitcher(Database.GetDatabase("core"))) using (var writer = new PackageWriter(args.PackageFilePath)) { var context = Sitecore.Install.Serialization.IOUtils.SerializationContext; writer.Initialize(Installer.CreateInstallationContext()); PackageGenerator.GeneratePackage(args.Package, writer); } } catch (Exception ex) { args.Errors.Add(ex.GetType().Name, ex.Message); this.Log.Error("Error generating package '" + args.PackageFilePath + "'", ex, this); } }
protected virtual string GetFileName(BuildPackageArgs args) { return($"{args.PackageConfiguration.Metadata.PackageName} v.{args.PackageConfiguration.Metadata.Version} {About.VersionInformation()}.zip"); }