Skip to content

Incorrectly specifying multiple package-files in Cask? #638

@akirak

Description

@akirak

Hello,

I've seen your Cask file, and it contains multiple package-file entries:

(package-file "php.el")
(package-file "php-face.el")
(package-file "php-mode.el")
(package-file "php-project.el")
(package-file "php-mode-debug.el")

I personally don't use Cask, so I don't exactly understand its DSL, but according to its document, package-file is defined as:

Define this package and its runtime dependencies from the package headers of a file (used only for package development).

I guess there should be only one package-file entry per package, and the file (I call this a main file) should define all of the dependencies in its Package-Requires header. This is how package-lint works now.

The other files should be listed in files entry along with the main file of the package. For example, see the following example from nix-mode. It has only one package-file, but all the *.el files are listed in one files clause:

(package-file "nix-mode.el")

(files
 "nix-mode.el"
 "nix-company.el"
 "nix-format.el"
 "nix-repl.el"
 "nix-shell.el"
 "nix-mode-mmm.el"
 "nix-prettify-mode.el"
 "nix-store.el"
 "nix-instantiate.el"
 "nix-drv-mode.el"
 "nix-search.el"
 "nix-shebang.el"
 "nix.el"
 "nix-shell-haskell.el"
 )

I am currently developing a tool to parse Cask files, and I noticed this difference while I was looking at your package as input. I would like to know if my understanding is correct. Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions