-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More simplified work with solution folders #8
Labels
Milestone
Comments
3F
added a commit
that referenced
this issue
Mar 30, 2019
``` ProjectItem(string name, ProjectType pType) ProjectItem(string pGuid, string name, ProjectType pType) ProjectItem(string name, string path, ProjectType pType, string slnDir = null) ProjectItem(string pGuid, string name, string path, ProjectType pType, string slnDir = null) ProjectItem(string pGuid, string name, string path, string pType, string slnDir = null) ``` Also: * `ProjectItem.ProjectTypeBy(string guid)` marked as **Obsolete**. * Added tests for WNestedProjects handler.
3F
added a commit
that referenced
this issue
Apr 1, 2019
…on. Issue #8 +RawText Polynom function extracted as `HashPolynom` + `CalculateHashCode`
Fully updated constructors and implemented native object comparison for ProjectItem + SolutionFolder + RawText. Polynom function: extracted as Now it should be really easy to create/modify/or just use parsed folders, projects, and other. Safely compare anything: if(new ProjectItem(...) == new ProjectItem(...)) { ... }
if(new SolutionFolder(...) == new SolutionFolder(...)) { ... }
if(new RawText(...) == new RawText(...)) { ... }
if(new ConfigItem(...) == new ConfigItem(...)) { ... }
if((RawText)"data" == (RawText)"data") { ... } Use Subdirectories: new SolutionFolder("dir1",
new SolutionFolder("dir2",
new SolutionFolder("dir3", "hMSBuild.bat", "DllExport.bat")
)
);
...
new SolutionFolder("{EE7DD6B7-56F4-478D-8745-3D204D915473}", "MyFolder2", dir1, ".gnt\\gnt.core");
... Projects and Folders: new ProjectItem("Project1", ProjectType.Cs);
new ProjectItem("Project1", ProjectType.Cs, new SolutionFolder("dir1"));
new ProjectItem("Project2", ProjectType.Vc, "path 1");
new ProjectItem("{EE7DD6B7-56F4-478D-8745-3D204D915473}", "Project1", ProjectType.Cs, dir2);
... See related unit tests! |
Closed
3F
added a commit
that referenced
this issue
Apr 7, 2019
* FIXED: Fixed possible error when loading all found projects: 'An equivalent project is already present in the project collection, ...' * NEW: Implemented R/W Handlers for `NestedProjects` section. Issue #7 * NEW: Implemented new R/W handlers for `ExtensibilityGlobals` section. Use `ExtItems = 0x0400` flag to activate it. * NEW: Implemented native object comparison for ProjectItem, SolutionFolder, and RawText. ``` ~ if(new ProjectItem(...) == new ProjectItem(...)) { ... } if(new SolutionFolder(...) == new SolutionFolder(...)) { ... } if(new RawText(...) == new RawText(...)) { ... } if(new ConfigItem(...) == new ConfigItem(...)) { ... } if((RawText)"data" == (RawText)"data") { ... } ``` * NEW: New constructors for `SolutionFolder`. Issue #8: ``` +SolutionFolder(string fGuid, string name, IEnumerable<RawText> items) +SolutionFolder(Guid fGuid, string name) +SolutionFolder(string fGuid, string name, SolutionFolder parent, params RawText[] items) +SolutionFolder(string fGuid, string name, SolutionFolder? parent, IEnumerable<RawText> items) +SolutionFolder(string name, params RawText[] items) +SolutionFolder(string name, IEnumerable<RawText> items) +SolutionFolder(string name, SolutionFolder parent, params RawText[] items) +SolutionFolder(string name, SolutionFolder parent, IEnumerable<RawText> items) +SolutionFolder(ProjectItem pItem, params RawText[] def) +SolutionFolder(SolutionFolder folder) ``` * NEW: New constructors for `ProjectItem` (part of Issue #8): ``` +ProjectItem(string name, ProjectType pType, SolutionFolder? parent = null) +ProjectItem(string name, ProjectType pType, string path, SolutionFolder? parent = null, string slnDir = null) +ProjectItem(string pGuid, string name, ProjectType pType, SolutionFolder? parent = null) +ProjectItem(string pGuid, string name, ProjectType pType, string path, SolutionFolder? parent = null, string slnDir = null) +ProjectItem(string pGuid, string name, string path, string pType, string slnDir = null) +ProjectItem(ProjectItem prj) ``` * CHANGED: `ProjectItem.ProjectTypeBy(string guid)` marked as [Obsolete] and can be removed in new versions later. You can use new methods when you need: * `Guids.ProjectTypeBy(string guid)` * `Guids.GuidBy(ProjectType type)` * CHANGED: Updated package tools hMSBuild 2.0 & GetNuTool 1.7. Release notes: * https://github.com/3F/GetNuTool/releases/tag/v1.7 * https://github.com/3F/hMSBuild/releases/tag/v2.0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
too verbose ...
Related issue: #6
The text was updated successfully, but these errors were encountered: