Package Manager Error: "Your dependencies are not in the correct form"

I am depreciating the DynaShape dedicated installer so today I tried to publish the package via the package manager. When I hit the “Publish online” button I got the error as showed in the screenshot below.

Publishing Locally is still fine.

I am using Dynamo 2.1 inside Revit 2020

FYI, because I need to force DynaShape to be alphabetically loaded AFTER MeshToolkit package, I put the “" character in front of the DynaShape name. I wonder if this is the cause of the error. Because I noticed whenever I added the "” character, the “dependencies” field inside the auto-generated pkg.json file (in Publish Locally mode) will include the entry {“name”:“DynaShape”,“version”:“0.6.0.0”}

@LongNguyen I believe dependencies here refers to other packages - like MeshToolkit - are you somehow marking a dependency on meshtoolkit? What does your generated package.json look like?

You should also not include a whitespace character at the start or end - it’s likely the input is sanitized to avoid user confusion (ie one package masquerading as another) but in this case perhaps it causes other issues…

Try it without any special characters in the names.

also FYI - this issue where package names need to be modified to force correct load order should be fixed in Dynamo master builds.

@LongNguyen as @Michael_Kirschner2 suggested you no will longer need to rename your package to force a particular load order in Dynamo 2.3 or higher builds. In other words your package could have any name even though it may have dependencies on other packages. If you could try one of the latest builds (2.3+) and can get it working with Revit2020 you could give it a shot again at publishing DynaShape. We would like to know if you still face any issues.

1 Like

@Michael_Kirschner2 @Aparajit_Pratap
Thanks for replying. Just got back from 2-week vacation. I will try your suggestion soon.

Glad to hear that package dependency is now being supported !!! Does it ONLY work starting from 2.3 build onward. I actually was using 2.2.1 what that error message occured

I did not add white space in front of DynaShape package name. Instead, I added the Underscore character “_”. So the package name is “_DynaShape”

This is what the generated pkg.json looks like (when publishing DynaShape locally) if the package name is “DynaShape” (Without being prefixed by the Underscore character)

{
“license”:"",
“file_hash”:null,
“name”:“DynaShape”,
“version”:“0.6.0”,
“description”:“Some Description”,
“group”:"",
“keywords”:null,
“dependencies”:[ ],
“contents”:"",
“engine_version”:“2.1.0.7733”,
“engine”:“dynamo”,
“engine_metadata”:"",
“site_url”:"",
“repository_url”:"",
“contains_binaries”:true,
“node_libraries”:[“DynaShape, Version=0.6.0.0, Culture=neutral, PublicKeyToken=null”]
}

@Michael_Kirschner2 @Aparajit_Pratap

I can now confirm that publishing online with the name “DynaShape” works fine, the error “Your dependencies are not in the correct form” only appeared when publishing using the name “_DynaShape”

However, the dependency on MeshToolkit was not detected and not written into the pkg.json by the package manager.

If I understood correctly, I need to publish using build 2.3+ in order for dependency to be detected properly? If so, how do I get 2.3 running from Revit?

Hi @LongNguyen - the issue I was referring to was this:

I see that you also have a second issue which is that (I’m guessing) the package upload process does not detect that you are depending on MeshToolKit types - and only detects that dependency if you publish a Meshtoolkit node in your package. - I’m not sure if this is supported or not.

You could try manually adding a dependency by editing the pkg.json - so that when users install your package meshtoolkit is also downloaded - but this won’t help them with the second bug unless they have moved to Dynamo 2.3 (which is not out yet)…