From 1011229c8538e8bf28eb99e98692c98860707fa2 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Fri, 7 Jul 2017 21:18:37 +0200 Subject: [PATCH 1/6] Start investigating #51 --- test/plantuml-mode-test.el | 18 ++++++++++++++++++ test/test-helper.el | 5 ++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/test/plantuml-mode-test.el b/test/plantuml-mode-test.el index 4c95184..afcff0c 100644 --- a/test/plantuml-mode-test.el +++ b/test/plantuml-mode-test.el @@ -12,6 +12,24 @@ (should (equal (expand-file-name "~/plantuml.jar") plantuml-jar-path))) +(ert-deftest can-unload-plantuml () + (unload-feature 'plantuml-mode t) + (should (eq nil (boundp 'plantuml-jar-path))) + (load-plantuml-mode) + (should (not (eq nil (boundp 'plantuml-jar-path))))) + +(ert-deftest debug-install-issues () + (unload-feature 'plantuml-mode t) + + (condition-case nil + (require 'package) + (add-to-list 'package-archives + '("melpa" . "https://melpa.milkbox.net/packages/")) + (package-install "plantuml-mode") + (unload-feature 'plantuml-mode t)) + + (load-plantuml-mode)) + (provide 'plantuml-mode-test) ;;; plantuml-mode-test.el ends here diff --git a/test/test-helper.el b/test/test-helper.el index 6e9026c..9fba3f7 100644 --- a/test/test-helper.el +++ b/test/test-helper.el @@ -32,6 +32,9 @@ (defun read-test-file (path) (f-read (f-join plantuml-test-resources-path path) 'utf-8)) -(require 'plantuml-mode (f-expand "plantuml-mode.el" package-code-path)) +(defun load-plantuml-mode () + (require 'plantuml-mode (f-expand "plantuml-mode.el" package-code-path))) + +(load-plantuml-mode) ;;; test-helper.el ends here From 6a210b7bb1780194e3db845fdf98438db47ba8f5 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Sat, 8 Jul 2017 11:35:40 +0200 Subject: [PATCH 2/6] Try to test the install process --- .travis.yml | 6 +++--- plantuml-mode.el | 1 - test/resources/init.el | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 test/resources/init.el diff --git a/.travis.yml b/.travis.yml index 2e00140..5734a5b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,12 @@ language: emacs-lisp sudo: false +env: + - EVM_EMACS=emacs-25.1-travis before_install: - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh - evm install $EVM_EMACS --use --skip - cask -env: -# - EVM_EMACS=emacs-24.5-travis - - EVM_EMACS=emacs-25.1-travis script: - emacs --version - make test + - emacs -q --batch --load test/resources/init.el diff --git a/plantuml-mode.el b/plantuml-mode.el index 80e22f9..e24b1ca 100644 --- a/plantuml-mode.el +++ b/plantuml-mode.el @@ -7,7 +7,6 @@ ;; Maintainer: Carlo Sciolla (skuro) ;; Keywords: uml plantuml ascii ;; Version: 1.2.3 -;; Package-Requires: ((emacs "24")) ;; You can redistribute this program and/or modify it under the terms ;; of the GNU General Public License as published by the Free Software diff --git a/test/resources/init.el b/test/resources/init.el new file mode 100644 index 0000000..677eb09 --- /dev/null +++ b/test/resources/init.el @@ -0,0 +1,24 @@ +;; Used to test `plantuml-mode' installations + +(setq user-emacs-directory "./.emacs.d") + +(require 'subr-x) +(setq local-repository + (concat + (string-trim (shell-command-to-string "cask package-directory")) + "/../testing")) +(custom-set-variables `(package-archive-upload-base ,local-repository)) + +(require 'package-x) +(defun -package-upload (file) + (with-temp-buffer + (insert-file-contents file) + (let ((pkg-desc (package-buffer-info))) + (package-upload-buffer-internal pkg-desc "el")))) +(-package-upload "plantuml-mode.el") + +(setq package-archives `(("local" . ,local-repository))) +(package-initialize) + +(package-install 'plantuml-mode) +(require 'plantuml-mode) From 16b754f643f5189d1233099f33958e405aba27d8 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Sat, 8 Jul 2017 11:44:53 +0200 Subject: [PATCH 3/6] Create folders to avoid emacs prompts --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 5734a5b..38393d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,4 +9,5 @@ before_install: script: - emacs --version - make test + - mkdir "$(cask package-directory)/../testing" - emacs -q --batch --load test/resources/init.el From 15d1e41972c5d8fa74cd39c4d8546fdc0bf99c1c Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Fri, 18 Aug 2017 12:11:09 +0200 Subject: [PATCH 4/6] WIP --- Makefile | 6 ++++++ test/resources/init.el | 3 +++ 2 files changed, 9 insertions(+) diff --git a/Makefile b/Makefile index 457c389..84e6db3 100644 --- a/Makefile +++ b/Makefile @@ -15,4 +15,10 @@ unit: install: ${CASK} install +clean: + rm -Rf .emacs.d + eval $(foo := $(CASK package-directory)) + echo $(foo) + #rm -Rf ${dir}/../testing + .PHONY: all test unit ecukes install diff --git a/test/resources/init.el b/test/resources/init.el index 677eb09..88be1a3 100644 --- a/test/resources/init.el +++ b/test/resources/init.el @@ -22,3 +22,6 @@ (package-install 'plantuml-mode) (require 'plantuml-mode) + +(message + (concat "Successfully installed plantuml-mode v" plantuml-mode-version)) From 5c57f05086d90d3569da5c70f063a952fdf39583 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Sat, 19 Aug 2017 18:23:45 +0200 Subject: [PATCH 5/6] Better clean target for make --- Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 84e6db3..de3bd5a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ CASK ?= cask EMACS ?= emacs +CASK_DIR ?= `${CASK} package-directory` all: test @@ -17,8 +18,6 @@ install: clean: rm -Rf .emacs.d - eval $(foo := $(CASK package-directory)) - echo $(foo) - #rm -Rf ${dir}/../testing + rm -Rf ${CASK_DIR}/../testing .PHONY: all test unit ecukes install From da9d39c94760548746369161ec13d96934a8d5e0 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Sat, 19 Aug 2017 19:20:04 +0200 Subject: [PATCH 6/6] #51 Evaluate the `plantuml-java-args` defcustom at compile time `defcustom`s are not executed at byte-compile time. Wrapping the `defcustom` in an `eval-and-compile` form does the trick. --- .travis.yml | 2 -- Makefile | 2 +- plantuml-mode.el | 5 +++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 38393d5..6ca85a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,5 +9,3 @@ before_install: script: - emacs --version - make test - - mkdir "$(cask package-directory)/../testing" - - emacs -q --batch --load test/resources/init.el diff --git a/Makefile b/Makefile index de3bd5a..e03d2a2 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,6 @@ install: clean: rm -Rf .emacs.d - rm -Rf ${CASK_DIR}/../testing + rm -Rf .cask .PHONY: all test unit ecukes install diff --git a/plantuml-mode.el b/plantuml-mode.el index e24b1ca..eb75426 100644 --- a/plantuml-mode.el +++ b/plantuml-mode.el @@ -77,8 +77,9 @@ (defcustom plantuml-java-command "java" "The java command used to execute PlantUML.") -(defcustom plantuml-java-args '("-Djava.awt.headless=true" "-jar") - "The parameters passed to `plantuml-java-command' when executing PlantUML.") +(eval-and-compile + (defcustom plantuml-java-args '("-Djava.awt.headless=true" "-jar") + "The parameters passed to `plantuml-java-command' when executing PlantUML.")) (defcustom plantuml-suppress-deprecation-warning t "To silence the deprecation warning when `puml-mode' is found upon loading.")