Skip to content
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

DYN-1662: As a dynamo dev, I want to serialize what packages are needed in a graph #9723

Merged
merged 61 commits into from
Jun 3, 2019
Merged
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
8ef55c5
Add Extensions block to json
scottmitchell May 19, 2019
38dca45
Serialize package manager data to new Extensions block
scottmitchell May 19, 2019
f29ec23
Added IPackage interface
scottmitchell May 24, 2019
9344d0c
Added IPackage interface
scottmitchell May 24, 2019
25b1ecf
Added PackageDependencies property to workspace model
scottmitchell May 24, 2019
b349de0
Added comments
scottmitchell May 24, 2019
464c7e8
Unsubscribe from workspace on dispose
scottmitchell May 24, 2019
145cf1a
Simplify CollectingAssembliesUsed
scottmitchell May 24, 2019
e866d43
assemblyPackageDict uses AssemblyName objects instead of strings. Ren…
scottmitchell May 24, 2019
63349ff
NodeLibraries should be internal, not private
scottmitchell May 24, 2019
7d03524
assemblyPackageDict uses AssemblyName.FullName
scottmitchell May 24, 2019
d1001d0
Use set for packageDependencies to avoid duplicates
scottmitchell May 24, 2019
ce71f56
Add some comments to assembly collection
scottmitchell May 24, 2019
50b3186
AssemblyNames summary
scottmitchell May 24, 2019
91b55c5
Adds PackageDependency serialization support for custom nodes from pa…
scottmitchell May 28, 2019
8259502
Rename GetCustomNodesPackagesFromGuids
scottmitchell May 28, 2019
6f892ef
Rename GetCustomNodesPackagesFromGuids
scottmitchell May 28, 2019
2118181
Add new PackageInfo class to replace IPackage for serialization
scottmitchell May 28, 2019
5b08005
Remove IPackage
scottmitchell May 28, 2019
cb968f1
Move assembly name matching logic to PackageManager in order to remov…
scottmitchell May 28, 2019
c1b7e4f
Remove unnecessary
scottmitchell May 28, 2019
8417307
Fix AssemblyNames error
scottmitchell May 28, 2019
23b9749
Null check for PackageInfo converter
scottmitchell May 28, 2019
1478287
Add obsolete attribute to events that should only be used by package …
scottmitchell May 28, 2019
a1a7053
Use InternalsVisibleTo to ensure only PM extension can subscribe to p…
scottmitchell May 28, 2019
1638aeb
Serialize IDs of nodes that are dependent on each package
scottmitchell May 29, 2019
619375a
Update package manager dictionary logic for package load and remove e…
scottmitchell May 29, 2019
78097ca
Fix Guid serialization
scottmitchell May 30, 2019
df478d6
Add comment to InternalsVisibleTo
scottmitchell May 30, 2019
0355e90
Name changes to make referencedAssembly use more clear
scottmitchell May 30, 2019
bcf05c5
Add comments to Assembly collection and make more efficient
scottmitchell May 30, 2019
47d9004
Comment added
scottmitchell May 30, 2019
5112e0c
Remove unnecessary ref
scottmitchell May 30, 2019
c04b448
Removed Unecessary ref
scottmitchell May 30, 2019
c1d4f22
Comment fixes
scottmitchell May 30, 2019
c7463c7
Rename PackageInfo -> PackageDependencyInfo
scottmitchell May 30, 2019
ab7e94a
Use Version type for PackageDependencyInfo Version property
scottmitchell May 30, 2019
c866ca2
Rename Dependents -> Nodes
scottmitchell May 30, 2019
0a743aa
Move GetAssembliesReferencedByNodes
scottmitchell May 30, 2019
3d48363
Added PackageDependency deserialization
scottmitchell May 31, 2019
5813e73
Simplify if statement
scottmitchell May 31, 2019
e196912
Improve PackageDependencies update
scottmitchell May 31, 2019
c3220a9
PackageDependency deserialization null check
scottmitchell Jun 1, 2019
6ed3162
one line code improvements
scottmitchell Jun 1, 2019
4e0ad4e
IsNodeLibrary check
scottmitchell Jun 1, 2019
8278756
Remove unnecessary Any check
scottmitchell Jun 1, 2019
b8ca7d3
Add unsuccessful PackageDependencyInfo serialization log
scottmitchell Jun 1, 2019
1e284dc
Log message when node libraries or custom nodes are loaded by multipl…
scottmitchell Jun 1, 2019
7f45515
Improved RemovedNodes handling
scottmitchell Jun 1, 2019
d6d3529
Simplify descriptor lookup
scottmitchell Jun 1, 2019
e2babfd
Update comments
scottmitchell Jun 1, 2019
46b2323
Store list of packages per assembly
scottmitchell Jun 2, 2019
b03e6b3
Store list of packages per custom node id
scottmitchell Jun 2, 2019
1fa351d
Unsubscribe CurrentWorkspaceChanged
scottmitchell Jun 2, 2019
3bd9de0
lock packageDependencies
scottmitchell Jun 3, 2019
3205f95
Add NodePackageDictionary and CustomNodePackageDictionary null check
scottmitchell Jun 3, 2019
f4412f9
Move assembly collection to WorkspaceModel because LibraryServices no…
scottmitchell Jun 3, 2019
e0ff759
Remove white space
scottmitchell Jun 3, 2019
398bbfe
Add "PackageDependencies" item to test .dyn
scottmitchell Jun 3, 2019
f425b5b
Remove PackageDependencyInfo FullName property
scottmitchell Jun 3, 2019
54693ae
Throw exception for illegal subscribers to PackageDependency events
scottmitchell Jun 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/DynamoPackages/PackageManagerExtension.cs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ private void OnCurrentWorkspaceChanged(IWorkspaceModel ws)

private PackageDependencyInfo GetNodePackageFromAssemblyName(AssemblyName assemblyName)
{
if (NodePackageDictionary.ContainsKey(assemblyName.FullName))
if (NodePackageDictionary!= null && NodePackageDictionary.ContainsKey(assemblyName.FullName))
scottmitchell marked this conversation as resolved.
Show resolved Hide resolved
{
return NodePackageDictionary[assemblyName.FullName].FirstOrDefault();
}
Expand All @@ -208,7 +208,7 @@ private PackageDependencyInfo GetNodePackageFromAssemblyName(AssemblyName assemb

private PackageDependencyInfo GetCustomNodePackageFromID(Guid functionID)
{
if (CustomNodePackageDictionary.ContainsKey(functionID))
if (CustomNodePackageDictionary != null && CustomNodePackageDictionary.ContainsKey(functionID))
{
return CustomNodePackageDictionary[functionID].FirstOrDefault();
}
Expand Down