Browse Source

Fix build process and add linting to it

master
Damien Cassou 4 years ago
parent
commit
023dcde81e
No known key found for this signature in database GPG Key ID: A7123815F5DCE914
4 changed files with 81 additions and 9 deletions
  1. +2
    -9
      .travis.yml
  2. +10
    -0
      Cask
  3. +65
    -0
      Makefile
  4. +4
    -0
      pass-secrets.el

+ 2
- 9
.travis.yml View File

@ -7,9 +7,8 @@ before_install:
- cask
env:
- EVM_EMACS=emacs-24.3-travis
- EVM_EMACS=emacs-24.4-travis
- EVM_EMACS=emacs-24.5-travis
- EVM_EMACS=emacs-25.1-travis
- EVM_EMACS=emacs-25.2-travis
- EVM_EMACS=emacs-git-snapshot
matrix:
@ -19,10 +18,4 @@ matrix:
script:
- emacs --version
- make info
- make check
addons:
apt:
packages:
- texinfo

+ 10
- 0
Cask View File

@ -0,0 +1,10 @@
(source gnu)
(source melpa)
(package-file "pass-secrets.el")
(depends-on "f")
(depends-on "pass")
(development
(depends-on "package-lint"))

+ 65
- 0
Makefile View File

@ -0,0 +1,65 @@
CASK ?= cask
EMACS ?= emacs
DIST ?= dist
EMACSFLAGS = --batch -Q
EMACSBATCH = $(EMACS) $(EMACSFLAGS)
VERSION := $(shell EMACS=$(EMACS) $(CASK) version)
PKG_DIR := $(shell EMACS=$(EMACS) $(CASK) package-directory)
PROJ_ROOT := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
EMACS_D = ~/.emacs.d
USER_ELPA_D = $(EMACS_D)/elpa
SRCS = $(filter-out %-autoloads.el, $(filter-out %-pkg.el, $(wildcard *.el)))
TESTS = $(wildcard test/*.el)
TAR = $(DIST)/pass-secrets-$(VERSION).tar
.PHONY: all check lint deps install uninstall reinstall clean-all clean clean-elc
all : deps $(TAR)
deps :
$(CASK) install
install : $(TAR)
$(EMACSBATCH) -l package -f package-initialize \
--eval '(package-install-file "$(PROJ_ROOT)/$(TAR)")'
uninstall :
rm -rf $(USER_ELPA_D)/pass-secrets-*
reinstall : clean uninstall install
clean-all : clean
rm -rf $(PKG_DIR)
clean-elc :
rm -f *.elc test/*.elc
clean : clean-elc
rm -rf $(DIST)
rm -f *-pkg.el
$(TAR) : $(DIST) $(SRCS)
$(CASK) package $(DIST)
$(DIST) :
mkdir $(DIST)
check: lint
lint : $(SRCS) clean-elc
# Byte compile all and stop on any warning or error
${CASK} emacs $(EMACSFLAGS) \
--eval "(setq byte-compile-error-on-warn t)" \
-L . -f batch-byte-compile ${SRCS} ${TESTS}
# Run package-lint to check for packaging mistakes
${CASK} emacs $(EMACSFLAGS) \
--eval "(require 'package)" \
--eval "(push '(\"melpa\" . \"http://melpa.org/packages/\") package-archives)" \
--eval "(package-initialize)" \
--eval "(package-refresh-contents)" \
-l package-lint.el \
-f package-lint-batch-and-exit ${SRCS}

+ 4
- 0
pass-secrets.el View File

@ -3,6 +3,10 @@
;; Copyright (C) 2017 Nicolas Petton
;; Author: Nicolas Petton <nicolas@petton.fr>
;; Version: 0.1.0
;; Package-Requires: ((emacs "25.1") (f "0.19.0") (pass "1.7"))
;; GIT: https://gitlab.petton.fr/nico/pass-secrets.el.git
;; Keywords: tools
;; This program is free software; you can redistribute it and/or modify


Loading…
Cancel
Save