emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]