blob: 5959fe06442f07afee2720baa75080c0a27e8d73 [file] [log] [blame]
Joey Armstrong0205d332023-04-11 17:29:23 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
3# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# -----------------------------------------------------------------------
17
18##-------------------##
19##---] GLOBALS [---##
20##-------------------##
21
22groovy-check := npm-groovy-lint
23
24groovy-check-args := $(null)
25# groovy-check-args += --loglevel info
26# groovy-check-args += --ignorepattern
27# groovy-check-args += --verbose
28
29##-------------------##
30##---] TARGETS [---##
31##-------------------##
32ifndef NO-LINT-GROOVY
33 lint : lint-groovy
34endif
35
36## -----------------------------------------------------------------------
Joey Armstrongf548adc2023-09-08 15:59:42 -040037## All or on-demand
38## make lint-groovy BY_SRC="a/b/c.groovy d/e/f.groovy"
39## -----------------------------------------------------------------------
40ifdef LINT_SRC
41 lint-groovy : lint-groovy-src
42else
43 lint-groovy : lint-groovy-all
44endif
45
46## -----------------------------------------------------------------------
Joey Armstrong0205d332023-04-11 17:29:23 -040047## Intent: Perform a lint check on command line script sources
48## -----------------------------------------------------------------------
Joey Armstrongf548adc2023-09-08 15:59:42 -040049lint-groovy-all:
Joey Armstrong0205d332023-04-11 17:29:23 -040050 $(groovy-check) --version
51 @echo
52 $(HIDE)$(env-clean) find . -iname '*.groovy' -print0 \
53 | $(xargs-n1) $(groovy-check) $(groovy-check-args)
54
55## -----------------------------------------------------------------------
Joey Armstrongf548adc2023-09-08 15:59:42 -040056## Intent: Perform lint check on a named list of files
57## -----------------------------------------------------------------------
58BY_SRC ?= $(error $(MAKE) $@ BY_SRC= is required)
59lint-groovy-src:
60 $(groovy-check) --version
61 @echo
62# $(foreach fyl,$(BY_SRC),$(groovy-check) $(groovy-check-args) $(fyl))
63 $(groovy-check) $(groovy-check-args) $(BY_SRC)
64
65## -----------------------------------------------------------------------
66## Intent: Perform lint check on a named list of files
67## -----------------------------------------------------------------------
68BYGIT = $(shell git diff --name-only HEAD | grep '\.groovy')
69lint-groovy-mod:
70 $(groovy-check) --version
71 @echo
72 $(foreach fyl,$(BYGIT),$(groovy-check) $(groovy-check-args) $(fyl))
73
74## -----------------------------------------------------------------------
Joey Armstrong0205d332023-04-11 17:29:23 -040075## Intent: Display command help
76## -----------------------------------------------------------------------
77help-summary ::
Joey Armstrongf548adc2023-09-08 15:59:42 -040078 @echo ' lint-groovy Conditionally lint groovy source'
79 @echo ' BY_SRC=a/b/c.groovy d/e/f.groovy'
80 ifdef VERBOSE
81 @echo ' lint-groovy-all Lint all available sources'
82 @echo ' lint-groovy-mod Lint locally modified (git status)'
83 @echo ' lint-groovy-src Lint individually (BY_SRC=list-of-files)'
84 endif
Joey Armstrong0205d332023-04-11 17:29:23 -040085# [EOF]