Skip to content

Added a "Project" where we can store and open - #19

Open
rappen wants to merge 3 commits into
imranakram:masterfrom
rappen:master
Open

rappen wants to merge 3 commits into
imranakram:masterfrom
rappen:master

Conversation

@rappen

@rappen rappen commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Used to store all current watching files, to easily be able to open the same list of plugins/packages, but not webresources yet, please fulfill it for us :)
Solves #18

Copilot AI lite review requested due to automatic review settings September 4, 2026 09:23
@rappen

rappen commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

@imranakram, Please review my thoughts and let me know if this is implemented well or if it should be done more efficiently!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Project apply/open currently has watcher lifecycle/config issues (not disposing existing watchers and leaving package config active) and AddPluginAssembly ignores its path parameter, which can lead to incorrect behavior.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds a new “Project” concept to AutoDeployer to persist and reopen the current set of watched artifacts across sessions (assemblies and plugin packages; web resources explicitly not supported yet), integrating it into the main toolbar UI.

Changes:

  • Introduces Project / WatchFile XML-serializable model and adds Open/Save project actions (*.adproj).
  • Updates the main UI (ToolStrip) with a new Project dropdown and supporting icons/resources.
  • Extends plugin package watcher display data (PluginPackageName) and includes some small safety/readability tweaks.
File summaries
File Description
XrmToolBox.AutoDeployer/XrmToolBox.AutoDeployer.csproj Includes new Project.cs and additional icon resources in the project.
XrmToolBox.AutoDeployer/WatchPluginPackageFile.cs Exposes plugin package name for persistence/display; minor guard/bracing changes.
XrmToolBox.AutoDeployer/Properties/Resources.resx Adds new bitmap resources (folder/disk/package icons) for the UI.
XrmToolBox.AutoDeployer/Properties/Resources.Designer.cs Adds strongly-typed accessors for the new resources.
XrmToolBox.AutoDeployer/Project.cs Adds the new Project/WatchFile model and enum for serialization.
XrmToolBox.AutoDeployer/MainControl.Designer.cs Adds Project UI controls (Open/Save) and updates ToolStrip layout/tooltips.
XrmToolBox.AutoDeployer/MainControl.cs Implements project open/save, project application to watchers, and package config updates.
Review details

Files not reviewed (2)

  • XrmToolBox.AutoDeployer/MainControl.Designer.cs: Generated file
  • XrmToolBox.AutoDeployer/Properties/Resources.Designer.cs: Generated file
  • Files reviewed: 5/10 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +99 to +103
private void AddPluginAssembly(string path)
{
if (ofdPlugin.ShowDialog() == DialogResult.OK)
var plugin = new WatchPluginFile(ofdPlugin.FileName, Service, this);
plugin.Changed += Plugin_Changed;
listWatching.Items.Add(plugin.ListItem);
Comment on lines +148 to +151
listWatching.Items.Clear();
//ClearWebResourceWatchers();
ClearPluginPackageWatchers();
}
this.bSave.Name = "bSave";
this.bSave.Size = new System.Drawing.Size(68, 28);
this.bSave.Text = "Save...";
this.bSave.ToolTipText = "Save list of watched files to can get opened for next time.";
Comment on lines +6 to +10
public enum Type
{
PluginAssembly,
PluginPackage,
WebResource
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants