API


이 문서는 Cask 확장 API를 간략히 설명합니다. 각 함수에 대한 자세한 설명은 doc-string을 읽어주세요.

아래에서 보이듯이 모든 함수는 첫번째 인자로 bundle을 받습니다. 번들이란 현재 Cask 프로젝트를 의미합니다. 번들 객체를 직접 조작하지 마세요. API 함수들을 이용해서 조작하시기 바랍니다.

bundle 객체를 처음 만드려면 cask-setup이나 cask-initialize 함수를 사용할 수 있습니다.

문서와 예제

cask-setup (project-path)

project-pathbundle 객체를 생성합니다. cask-setup은 패키지를 관리하는데 사용합니다. Emacs 설정을 할 때는 cask-initialize을 사용하세요.

(let ((bundle (cask-setup "/path/to/project")))
  ;; ...
  )

cask-initialize (&optional project-path)

cask-setup와 비슷한 기능을 하지만 추가적으로 모든 의존 라이브러리를 초기화합니다. cask-initialize는 Emacs를 설정할 때 사용합니다. 패키지를 만들 때는 cask-setup을 사용하세요.

(let ((bundle (cask-initialize "/path/to/project")))
  ;; ...
  )

cask-update (bundle)

의존 라이브러리를 업데이트하고 업데이트된 의존 라이브러리의 리스트를 출력합니다.

(let ((updated (cask-update bundle)))
  ;; ...
  )

cask-outdated (bundle)

최신 버전이 아닌 모든 의존 라이브러리의 목록을 리턴합니다.

(let ((outdated (cask-outdated bundle)))
  ;; ...
  )

cask-install (bundle)

의존 라이브러리를 설치합니다.

(cask-install bundle)

cask-caskify (bundle &optional dev-mode)

Cask 파일을 생성합니다.

(cask-caskify bundle)           ;; For Emacs configuration
(cask-caskify bundle 'dev-mode) ;; For packages

cask-package-name (bundle)

패키지 이름을 리턴합니다.

(cask-package-name bundle) ;; => 'foo

cask-package-version (bundle)

패키지 버전을 리턴합니다.

(cask-package-version bundle) ;; => "0.1.2"

cask-package-description (bundle)

패키지 설명을 리턴합니다.

(cask-package-description bundle) ;; => "Description for Foo package"

cask-version ()

Cask 버전을 리턴합니다.

(cask-version)

cask-load-path (bundle)

의존 라이브러리가 있는 load-path를 리턴합니다.

(cask-load-path bundle) ;; => '("/path/to/.cask/24.3.1/elpa/foo-1.2.3" ...)

cask-exec-path (bundle)

의존 라이브러리가 있는 exec-path를 리턴합니다.

(cask-exec-path bundle) ;; => '("/path/to/.cask/24.3.1/elpa/foo-1.2.3/bin" ...)

cask-elpa-path (bundle)

elpa 디렉토리 경로를 리턴합니다.

(cask-elpa-path bundle) ;; => "/path/to/.cask/24.3.1/elpa"

cask-runtime-dependencies (bundle &optional deep)

런타임 의존 라이브러리 목록을 리턴합니다.

(cask-runtime-dependencies bundle)
(cask-runtime-dependencies bundle 'deep)

cask-development-dependencies (bundle &optional deep)

개발 의존 라이브러리의 목록을 리턴합니다.

(cask-development-dependencies bundle)
(cask-development-dependencies bundle 'deep)

cask-dependencies (bundle &optional deep)

런타임 의존 라이브러리와 개발 의존 라이브러리 전체 목록을 리턴합니다.

(cask-dependencies bundle)
(cask-dependencies bundle 'deep)

cask-installed-dependencies (bundle &optional deep)

현재 설치된 의존 라이브러리 목록을 리턴합니다.

(cask-installed-dependencies bundle)
(cask-installed-dependencies bundle 'deep)

cask-has-dependency (bundle name)

프로젝트가 name이라는 라이브러리에 의존성이 있으면 true를 리턴합니다.

(cask-has-dependency bundle 'foo)

cask-find-dependency (bundle name)

name으로 검색된 의존 라이브러리를 리턴합니다.

(cask-find-dependency bundle 'foo)

cask-define-package-string (bundle)

-pkg.el에서 사용하는 define-package 문자열을 리턴합니다.

(cask-define-package-string bundle) ;; => "(define-package ...)"

cask-define-package-file (bundle)

-pkg.el 파일의 경로를 리턴합니다.

(cask-define-package-file bundle) ;; => "/path/to/project-pkg.el"

cask-dependency-path (bundle name)

name이라는 이름을 가진 의존 라이브러리의 경로를 리턴합니다.

(cask-dependency-path bundle 'foo) ;; => "/path/to/.cask/24.3.1/elpa/foo-1.3.3"

cask-path (bundle)

프로젝트 루트 디렉토리 경로를 리턴합니다.

(cask-path bundle) ;; => "/path/to"

cask-file (bundle)

Cask-file의 경로를 리턴합니다.

(cask-file bundle) ;; => "/path/to/Cask"

cask-files (bundle)

프로젝트 파일들의 목록을 리턴합니다.

(cask-files bundle) ;; => '("foo.el" "foo-core.el" ...)

cask-add-dependency (bundle name &rest args)

name이라는 이름을 가진 의존 라이브러리를 추가합니다.

마지막 인자인 args에는 아래와 같은 것들이 들어갈 수 있습니다.

  • 최소 버전을 지정하는 문자열* VCS fetcher 옵션을 지정하는 plist * :ref - 체크아웃하고자 하는 Fetcher ref.
    • :branch - 체크아웃 하고자 하는 Fetcher 브랜치 * :files - 가져올 파일의 패턴(이 패턴에 일치하는 파일만 가져옵니다)
(cask-add-dependency bundle 'foo)
(cask-add-dependency bundle 'foo "1.2.3")
(cask-add-dependency bundle 'foo :git "https://foo.git" :ref "ij7ads0" :files '("*.el" (:exclude ".git")))
(cask-add-dependency bundle 'foo :git "https://foo.git" :branch "experimental")

cask-add-source (bundle name-or-alias &optional url)

ELPA 소스를 추가합니다.

(cask-add-dependency bundle "name" "http://path.to.elpa/packages/")
(cask-add-dependency bundle 'alias)

cask-remove-source (bundle name)

ELPA 소스를 삭제합니다.

(cask-remove-dependency bundle "name")

cask-build (bundle)

프로젝트 파일을 바이트 컴파일합니다.

(cask-build bundle)

cask-clean-elc (bundle)

바이트 컴파일된 파일을 삭제합니다.

(cask-clean-elc bundle)

cask-links (bundle)

링크 목록을 리턴합니다.

(cask-links bundle) ;; => '((foo "/path/to/too") (bar "/path/to/bar"))

cask-link (bundle name source)

name에서 source 경로를 향하는 링크를 생성합니다.

(cask-link bundle 'foo "/path/to/foo")

cask-link-delete (bundle name)

name 이름을 가진 링크를 삭제합니다.

(cask-delete-link bundle 'foo)

cask-linked-p (bundle name)

name 이름을 가진 링크가 있으면 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.

(cask-linked-p bundle 'foo)

cask-package (bundle &optional target-dir)

현재 프로젝트를 ELPA 패키지로 만듭니다. 패키지를 dist 디렉토리로 옮기거나 target-dir가 지정되어 있으면 target-dir로 옮깁니다.

(cask-package bundle)
(cask-package bundle "/path/to/dist")
Cask 공식 문서nacyot이 번역한 사이트입니다. 번역은 Github 저장소에서 관리하고 있습니다.