[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/wgrep adcfa31854 1/2: adjust to the latest Emacs environme
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/wgrep adcfa31854 1/2: adjust to the latest Emacs environment. |
Date: |
Tue, 7 Feb 2023 06:59:58 -0500 (EST) |
branch: elpa/wgrep
commit adcfa3185448e53df86f790a089ecff53e02ee50
Author: Masahiro Hayashi <mhayashi1120@gmail.com>
Commit: Masahiro Hayashi <mhayashi1120@gmail.com>
adjust to the latest Emacs environment.
- remove travis
- prepare to introduce GithubAction CI
---
.gitignore | 1 -
.travis.yml | 12 ------
Makefile | 121 +++++++++++++++++++++++++++++++++++++++-------------------
env.mk.sample | 7 +---
run-ci.sh | 10 +++++
5 files changed, 92 insertions(+), 59 deletions(-)
diff --git a/.gitignore b/.gitignore
index bd6b7a0a72..3e37f80f07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,2 @@
*.elc
-ext
env.mk
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 243dbc00ea..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-language: emacs-lisp
-env:
- matrix:
- - EMACS=emacs24
-before_install:
- - if [ "$EMACS" = "emacs24" ]; then
- sudo add-apt-repository -y ppa:cassou/emacs &&
- sudo apt-get update -q &&
- sudo apt-get install -q emacs24 emacs24-el;
- fi
-script:
- - make EMACS=${EMACS} check
diff --git a/Makefile b/Makefile
index a4abe469d1..688edb1dd5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,71 +1,112 @@
+###
+### Package
+###
+
-include env.mk
EMACS ?= emacs
-BATCH := $(EMACS) -q -batch -L .
+NEEDED-PACKAGES ?=
-TEST_BATCH := $(BATCH) -l $(DASH-EL) -l $(S-EL)
+BATCH := $(EMACS) -Q -batch -L .
-# NOTE: This come from `pacakge-lint/run-tests.sh`
-LINT_BATCH := $(BATCH) -eval "(progn \
- (require 'package) \
- (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) \
- (package-initialize) \
- (package-refresh-contents))"
-
-EL = wgrep.el
+EL := wgrep.el
EL += wgrep-ack.el
EL += wgrep-ag.el
EL += wgrep-helm.el
EL += wgrep-pt.el
+TEST_EL := wgrep-test.el
+
+##
+## package.el
+##
+
+ifdef ELPA-DIR
+ BATCH += -eval "(setq package-user-dir (expand-file-name
\"$(ELPA-DIR)\"))"
+endif
+
+# This come from `package-lint/run-tests.sh`
+define package-installer
+ "(progn \
+ (require 'package) \
+ (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) \
+ (package-initialize) \
+ (package-refresh-contents) \
+ (dolist (pkg '($(1))) \
+ (unless (package-installed-p pkg) \
+ (package-install pkg))))"
+endef
+
+###
+### Command
+###
+
+BUILD_BATCH := $(BATCH) -eval "(require 'package)" -f package-initialize
+ifndef EMACS_LINT_IGNORE
+ BUILD_BATCH += -eval "(setq byte-compile-error-on-warn t)"
+endif
+
+ifdef EMACS_LINT_IGNORE
+ LINT_BATCH := true
+else
+ LINT_BATCH := $(BATCH) -eval $(call package-installer, package-lint)
+endif
+
+CI_BATCH := $(BATCH) -eval $(call package-installer, package-lint
$(NEEDED-PACKAGES))
+
+###
+### Files
+###
+
ELC := $(EL:%.el=%.elc)
+BUILD_GENERATED := *.elc
+MAINTAINER_GENERATED := elpa *~
LOAD_EL := $(EL:%=-l %)
LOAD_ELC := $(ELC:%=-l %)
-GENERATED := *.elc
+LOAD_TEST_EL := $(TEST_EL:%=-l %)
###
-### General target
+### General rule
###
+.PHONY: all check compile clean
+
all: check
check: compile
- $(TEST_BATCH) -l wgrep.el -l wgrep-test.el -f
ert-run-tests-batch-and-exit
- $(TEST_BATCH) -l wgrep.elc -l wgrep-test.el -f
ert-run-tests-batch-and-exit
+ $(BUILD_BATCH) $(LOAD_EL) $(LOAD_TEST_EL) -f
ert-run-tests-batch-and-exit
+ $(BUILD_BATCH) $(LOAD_ELC) $(LOAD_TEST_EL) -f
ert-run-tests-batch-and-exit
compile:
- $(BATCH) -f batch-byte-compile $(EL)
+ $(BUILD_BATCH) -f batch-byte-compile $(EL)
clean:
- rm -f $(GENERATED)
+ rm -rf $(BUILD_GENERATED)
###
-### for Package maintainer
+### Maintainer rule
###
+.PHONY: lint package maintainer-clean
+
lint:
- $(LINT_BATCH) -l $(PACKAGE-LINT-EL) -f package-lint-batch-and-exit $(EL)
-
-check-extra: check subtest
-
-subtest:
- $(TEST_BATCH) \
- -l $(AG-EL) \
- $(LOAD_EL) \
- -l wgrep-test.el -l wgrep-subtest.el \
- -eval "(ert-run-tests-batch-and-exit '(tag wgrep-subtest))"
- $(TEST_BATCH) \
- -l $(AG-EL) \
- $(LOAD_ELC) \
- -l wgrep-test.el -l wgrep-subtest.el \
- -eval "(ert-run-tests-batch-and-exit '(tag wgrep-subtest))"
-
-package: lint check check-extra compile
- @echo ""
- @echo "======================================="
- @echo "Successfuly finished package build. "
- @echo "Maintainer should add correct `git tag` each pacakges."
- @echo "======================================="
- @echo ""
+ $(LINT_BATCH) -f package-lint-batch-and-exit $(EL)
+
+package: lint check compile
+
+
+maintainer-clean: clean
+ rm -rf $(MAINTAINER_GENERATED)
+
+###
+### CI/CD rule
+###
+
+.PHONY: ci prepare-cicd
+
+ci: prepare-cicd package
+
+prepare-cicd:
+ $(CI_BATCH)
diff --git a/env.mk.sample b/env.mk.sample
index 86f4ad94a9..fb0c816a28 100644
--- a/env.mk.sample
+++ b/env.mk.sample
@@ -1,6 +1 @@
-# This file is a sample of `env.mk` file.
-# Need `cp env.mk.sample env.mk` and change to correct path.
-DASH-EL = /path/to/elpa/dash.el
-S-EL = /path/to/elpa/s.el
-AG-EL = /path/to/elpa/ag.el
-PACKAGE-LINT-EL = /path/to/elpa/package-lint.el
+ELPA-DIR = ~/path/to/developer/elpa/
diff --git a/run-ci.sh b/run-ci.sh
new file mode 100755
index 0000000000..6461e97e6d
--- /dev/null
+++ b/run-ci.sh
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+# This script is intended invoke by GithubAction `CI` job
+# Keep as *~ to unexpectedly be executed by developer.
+test -f env.mk && mv env.mk env.mk~
+
+# Local elpa directory.
+echo "ELPA-DIR = ./elpa" >> env.mk
+
+make ci