Installing package for Rhino 8 using Yak.exe

I am using Yak.exe (0.12.14) from https://files.mcneel.com/yak/tools/latest/yak.exe. The attached package was built using yak.exe.

In the plugin, I am using RhinoCommon 8.5 and Yak correctly identified it based on the package name it provided.

When I install it using yak install it still installs the package in C:\Users\<username>\AppData\Roaming\McNeel\Rhinoceros\Packages\7.0. Why is that?

I was expecting the yak to install the package to C:\Users\<username>\AppData\Roaming\McNeel\Rhinoceros\Packages\8.0. How can I achieve that?

I think the larger questions is, regardless the rhinocommon used. How do I make yak install packages to C:\Users\<username>\AppData\Roaming\McNeel\Rhinoceros\Packages\8.0?

gradienttools-0.0.7-rh8_5-any.yak (13.0 KB)

cc @CallumSykes, @will

If I use the yak.exe (0.13.0) found in C:\Program Files\Rhino 8\System, it installs in Packages\8.0. Now the question is how can I get a url to yak.exe (0.13.0) for use in our CI?

1 Like

@Devang_Chauhan Did you find a solution to this? We have the same issue.

Hi @patrick.kastner,

Nice to see you here.

McNeel has still not released a self-contained version of yak.exe that we can use. The pending request is here.

We ended up hosting yak.exe ourselves that we drop on a user’s machine to install plugins. The following are the files that make up yak.exe that we host. They are all found in C:\Program Files\Rhino 8\System

  • Yak.exe
  • Yak.Core.dll
  • YamlDotNet.dll
  • DocoptNet.dll
  • Newtonsoft.Json.Rhino.dll

@Devang_Chauhan

Thanks! Good to hear you got it working. Would you mind sharing your GH action file with me/us? :slight_smile:

If you mean Github actions when you say GH action then I am afraid I won’t be able to help. Our codebase is not on Github.

You can invoke a pre-written powershell script file to download the files from your hosted location on the user’s machine, and do the installation. That’s what we have done.

      - name: đź“Ą Download yak
        env:
          ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
        run: curl -o ${{ github.workspace }}/yak.exe http://files.mcneel.com/yak/tools/latest/yak.exe
        
      - name: 📦 Build yak package
        env:
          ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
        run: ${{ github.workspace }}/yak.exe build --version ${{ inputs.version }}
        # I prepopulated a manifest file and copied it next to the .gha
        working-directory: ${{ env.GH_PATH }}/${{ inputs.module }}
        
      - name: 🛎 Checkout information
        shell: pwsh
        run: |
            Get-ChildItem -Path ${{ env.GH_PATH }}/${{ inputs.module }} -Name

If you still need this.

1 Like

Here are the “latest” download links for the version of the yak CLI tool that shipped with Rhino 8 up to SR14.

I published these under a specific version number to make them more “pin-able” than the changing “latest” URL used before. Working on a way to make these links more discoverable!