2011-09-05 67 views
2

我正在使用cloin的lein(leiningen) - 並編寫一個插件來自動執行一些常見任務。我想讓我的插件依賴,並調用另一個插件功能 - 但我不知道如何做到這一點,沒有什麼hacky - 任何想法?從另一個插件調用clojure Leiningen插件

+1

你可以在這裏看到一個簡單的例子:https://github.com/vbauer/lein-jslint插件「lein-jslint」使用插件「lein-npm」。 –

回答

2

只要將另一個插件聲明爲您正在使用的插件的依賴關係,然後在您的代碼中需要其名稱空間並調用所需的函數。

;;; in project.clj 
(defproject your-plugin "0.1.0-SNAPSHOT" 
    :dependencies [... [other-plugin "1.2.3"] ...] 
    ) 

;;; in src/leiningen/your_plugin.clj 
(ns leiningen.your-plugin 
    (:require [leiningen.other-plugin :as other]) 
    ...) 

... (other/foo ...) ... 

參見lein-margauto(它取決於lein-marginalia),用於一個實際的工作示例。