Il Gestore pacchetti è stato introdotto in Rhino 7. Rende più facile scoprire, installare e gestire i plug-in direttamente da Grasshopper. Questa guida descrive come creare un pacchetto da un plug-in di Grasshopper, che può essere pubblicato sul server dei pacchetti.
"/Applications/Rhino 8.app/Contents/Resources/bin/yak"
.Per prima cosa, supponiamo di avere una cartella sul computer che contiene tutti i file che si desidera distribuire nel pacchetto. Qualcosa del tipo…
C:\Users\Bozo\dist
├── Marmoset.gha
├── icon.png
└── misc\
├── README.md
└── LICENSE.txt
Utilizzeremo lo strumento Yak CLI per creare il pacchetto, quindi apriamo un prompt dei comandi e navighiamo nella directory di cui sopra.
> cd C:\Users\Bozo\dist
Adesso, ci serve un file manifest.yml
! Si può facilmente creare il proprio studiando la Guida di riferimento ai manifesti.
In alternativa, possiamo usare il comando spec
per creare un file con la struttura.
In questo caso, ci occuperemo di quest’ultimo aspetto.
> "C:\Program Files\Rhino 8\System\Yak.exe" spec
Inspecting content: Marmoset.gha
---
name: marmoset
version: 1.0.0
authors:
- Park Ranger
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: https://example.com
Saved to C:\Users\Bozo\dist\manifest.yml
Il comando spec
esamina la directory corrente e, se presente, ricava informazioni utili dall’assembly .gha
e le usa per creare un manifest.yml
con nome, versione, autori e contenuti preinseriti.
Se non sono state aggiunte queste informazioni, verranno utilizzati dei segnaposto.
spec
è utile per creare inizialmente il file manifest.yml.
Una volta creato, è utile tenerlo con il progetto e aggiornarlo per ogni release.Quindi, aprire il file manifest l’editor desiderato e riempire gli spazi vuoti.
In seguito, otterremo qualcosa del genere…
---
name: marmoset
version: 1.0.0
authors:
- Park Ranger
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: https://example.com
icon: icon.png
keywords:
- mammal
Ora che abbiamo un file manifest, possiamo compilare il pacchetto!
> "C:\Program Files\Rhino 8\System\Yak.exe" build
Building package from contents of C:\Users\Bozo\dist
Found manifest.yml for package: marmoset (1.0.0)
Inspecting content: Marmoset.gha
Creating marmoset-1.0.0-rh6_18-any.yak
---
name: marmoset
version: 1.0.0
authors:
- Will Pearson
description: >
This plug-in does something. I'm not really sure exactly what it's supposed to
do, but it does it better than any other plug-in.
url: example.com
keywords:
- mammal
- guid:c9beedb9-07ec-4974-a0a2-44670ddb17e4
C:\Users\Bozo\dist\marmoset-1.0.0-rh6_18-any.yak
├── Marmoset.dll
├── Marmoset.gha
├── manifest.yml
├── misc\LICENSE.txt
└── misc\README.md
rh6_18-any
). La prima parte, rh6_18
, viene dedotta dalla versione di Grasshopper.dll o Rhinocommon.dll a cui si fa riferimento nel progetto del plug-in. La seconda parte, any
, si riferisce alla piattaforma a cui il plug-in è destinato. Per creare un pacchetto specifico per la piattaforma, eseguire nuovamente il comandobuild
con l’argomento --platform <platform>
dove <platform>
può essere win
o mac
.rh6*
, questo non sarà installabile per Rhino 7. Se il plug-in funziona anche in Rhino 7, occorre contrassegnarlo come compatibile copiando il file .yak, aggiornando la parte del nome del file relativa al tag di distribuzione (ad esempiorh6_18
➡ rh7_0
) e inviando entrambi al server dei pacchetti.Ottimo lavoro! 🙌 Abbiamo appena creato un pacchetto per il plug-in di Grasshopper.
Passi successivi
Ora che abbiamo creato un pacchetto, possiamo inviarlo al server dei pacchetti per renderlo disponibile nel Gestore pacchetti.