blob: bf6e123bc8628f0ad120be9de1c9ca192465c864 [file] [log] [blame]
Dave Barach8d0f2f02018-03-12 09:31:36 -04001;;; Copyright (c) 2016 Cisco and/or its affiliates.
2;;; Licensed under the Apache License, Version 2.0 (the "License");
3;;; you may not use this file except in compliance with the License.
4;;; You may obtain a copy of the License at:
5;;;
6;;; http://www.apache.org/licenses/LICENSE-2.0
7;;;
8;;; Unless required by applicable law or agreed to in writing, software
9;;; distributed under the License is distributed on an "AS IS" BASIS,
10;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11;;; See the License for the specific language governing permissions and
12;;; limitations under the License.
13
Dave Barachb852bfa2016-01-04 15:27:42 -050014(defun make-plugin ()
15 "Create a plugin"
16 (interactive)
17 (save-excursion
18 (let (cd-args cmd-args start-dir)
19 (setq start-dir default-directory)
20 (makunbound 'plugin-name)
21 (makunbound 'PLUGIN-NAME)
22 (setq plugin-name (read-string "Plugin name: "))
23 (setq PLUGIN-NAME (upcase plugin-name))
Dave Barach605c6362017-01-02 12:22:48 -050024 (find-file (concat plugin-name ".am"))
25 (skel-plugin-makefile-am-fragment)
26 (setq cmd-args (concat "mkdir -p " plugin-name))
Dave Barachb852bfa2016-01-04 15:27:42 -050027 (shell-command cmd-args)
Dave Barach605c6362017-01-02 12:22:48 -050028 (setq cd-args (concat start-dir "/" plugin-name))
Dave Barachb852bfa2016-01-04 15:27:42 -050029 (setq default-directory cd-args)
Dave Barachb852bfa2016-01-04 15:27:42 -050030 (find-file (concat plugin-name ".api"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070031 (skel-plugin-api)
Dave Barachb852bfa2016-01-04 15:27:42 -050032 (find-file (concat plugin-name "_all_api_h.h"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070033 (skel-plugin-all-apih)
Dave Barachb852bfa2016-01-04 15:27:42 -050034 (find-file (concat plugin-name ".h"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070035 (skel-plugin-h)
Dave Barachb852bfa2016-01-04 15:27:42 -050036 (find-file (concat plugin-name ".c"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070037 (skel-plugin-main)
Dave Barachb852bfa2016-01-04 15:27:42 -050038 (find-file (concat plugin-name "_msg_enum.h"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070039 (skel-plugin-msg-enum)
Dave Barachb852bfa2016-01-04 15:27:42 -050040 (find-file "node.c")
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070041 (skel-plugin-node)
Dave Barachb852bfa2016-01-04 15:27:42 -050042 (find-file (concat plugin-name "_test.c"))
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070043 (skel-plugin-test)
Dave Barachf4addbd2018-04-30 13:03:46 -040044 (find-file (concat plugin-name "_periodic.c"))
45 (skel-plugin-periodic)
Dave Barachb852bfa2016-01-04 15:27:42 -050046 (cd start-dir))))
47