2014-11-24 10 views
9

Wir entwickeln runscripts und versuchen, etwas wie brew install runscripts zu unterstützen.How to package gehen Projekt für Homebrew

Es ist in Golang geschrieben und haben einige Abhängigkeiten, die go get erforderlich sind. Jetzt habe ich keine Idee, die Formel zu schreiben, um GOPATH einzurichten und go get auszuführen. Unser Projekt kann in eine Binärdatei kompiliert werden, aber wir brauchen run --init, um es zu installieren.

Kann jemand helfen, ein Beispiel für ein Homebrew-Formel von Go-Projekt zu geben?

+0

Docker ist in Go: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/docker.rb – Matt

+0

Dank @Matt. Ich habe 'docker.rb' gelesen, aber es ist ein wenig kompliziert. Wir müssen nur die Abhängigkeiten "holen" und einen Befehl ausführen, um es zu installieren. – tobe

Antwort

1

Ich habe Bezug auf termshare.rb und es scheint, wir können einfach go get und Homebrew wird alles über GOPATH für uns behandeln.

Das ist großartig und ich denke mein Problem ist gelöst.

+0

Der ursprüngliche Link ist archiviert (schreibgeschützt), aber er hat immer noch einen Wert, weshalb ich ihn nicht bearbeiten wollte. Dies ist jedoch der aktuelle Link zur formatshare.rb-Formel: https://github.com/Homebrew/homebrew-core/blob/master/Formula/termshare.rb –

-1

ist hier eine mögliche Arbeit um ein build Verzeichnis innerhalb der Kasse als GOPATH erstellen:

... 
def install 
    system "mkdir -p build/src" 
    system "ln -s `pwd` build/src/repo" 
    system "GOPATH=`pwd`/build go get repo/mytool" 
    bin.install "build/bin/mytool" 
    ... 
end 
... 
2

Fork homebrew, sehen Sie sich den Inhalt von Library/Formula/consul.rb an. Sie müssen nicht alle Ressourcen manuell generieren. Verwenden Sie homebrew-go-resources. Ein vollständigeres Intro könnte here gefunden werden.