aboutsummaryrefslogtreecommitdiffstats
path: root/check-blueprint-vs-input
diff options
context:
space:
mode:
Diffstat (limited to 'check-blueprint-vs-input')
-rwxr-xr-xcheck-blueprint-vs-input/bin/check-blueprint-vs-input262
-rw-r--r--check-blueprint-vs-input/lib/sample-inputs.yaml35
-rw-r--r--check-blueprint-vs-input/man/check-blueprint-vs-input.150
-rw-r--r--check-blueprint-vs-input/man/check-blueprint-vs-input.man55
-rw-r--r--check-blueprint-vs-input/pom.xml250
5 files changed, 0 insertions, 652 deletions
diff --git a/check-blueprint-vs-input/bin/check-blueprint-vs-input b/check-blueprint-vs-input/bin/check-blueprint-vs-input
deleted file mode 100755
index c6b271b..0000000
--- a/check-blueprint-vs-input/bin/check-blueprint-vs-input
+++ /dev/null
@@ -1,262 +0,0 @@
-#!/usr/bin/env python3
-# -*- indent-tabs-mode: nil -*-
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this code except in compliance
-# with the License. You may obtain a copy of the License
-# at http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# permissions and limitations under the License.
-
-from __future__ import print_function
-
-"""
-
- NAME
- check-blueprint-vs-input - given a blueprint and inputs file pair, validate them against each other
-
- USAGE
- check-blueprint-vs-input [-v] [-t] -b BLUEPRINT [-B exclusion-list] -i INPUTS [-B exclusion-list]
-
- DESCRIPTION
-"""
-description = """
- Validate a blueprint and inputs file against each other. This looks for the inputs: node of the blueprint
- file, the inputs used by {get_input} within the blueprint, and the values found in the inputs file. The
- files may be in either YAML or JSON formats. The names default to blueprint.yaml and inputs.yaml. If
- a blueprint inputs name has a default value, it is not considered an error if it is not in the inputs file.
-
- If using a template inputs file, add the -t/--template option. This will look for the inputs under
- an "inputs:" node instead of at the top level.
-
- If there are blueprint nodes or inputs nodes that should not be considered an error, specify them
- using the -B/--blueprint-exclusion-list and -I/inputs-exclusion-list parameters.
-
- "check-blueprint-vs-input --help" will list all of the available options.
-"""
-
-import sys, argparse, json, yaml
-from yaml.composer import Composer
-from yaml.constructor import Constructor
-from yaml.constructor import SafeConstructor
-from yaml.constructor import ScalarNode
-
-def main():
- DEF_BLUEPRINT_NAME = "blueprint.yaml"
- DEF_INPUTS_NAME = "inputs.yaml"
- parser = argparse.ArgumentParser(description=description)
- parser.add_argument("-b", "--blueprint", type=str, help="Path to blueprint file, defaults to '%s'" % DEF_BLUEPRINT_NAME,
- default=DEF_BLUEPRINT_NAME)
- parser.add_argument("-i", "--inputs", type=str, help="Port to listen on, defaults to '%s'" % DEF_INPUTS_NAME,
- default=DEF_INPUTS_NAME)
- parser.add_argument("-B", "--blueprint-exclusion-list", type=str, help="Comma-separated list of names not to warn about not being in the blueprint file", default="")
- parser.add_argument("-I", "--inputs-exclusion-list", type=str, help="Comma-separated list of names not to warn about not being in the inputs file", default="")
- parser.add_argument("-t", "--inputs-template", help="Treat inputs file as coming from template area", action="store_true")
- parser.add_argument("-v", "--verbose", help="Verbose, may be specified multiple times", action="count", default=0)
- args = parser.parse_args()
-
- blueprintExclusionList = args.blueprint_exclusion_list.split(",")
- if args.verbose: print("blueprintExclusionList=%s" % blueprintExclusionList)
-
- inputsExclusionList = args.inputs_exclusion_list.split(",")
- if args.verbose: print("inputsExclusionList=%s" % inputsExclusionList)
-
- def loadYaml(filename, where):
- """
- Load a YAML file
-
- Line number manipulation is inspired by:
- https://stackoverflow.com/questions/13319067/parsing-yaml-return-with-line-number
-
- The YAML loader parses the file first into a set of nodes. Capture the
- line numbers and column numbers during that parsing pass.
- The YAML object is then created from those objects.
- """
-
- def compose_node(parent, index):
- lineno = loader.line # the line number where the previous token has ended (plus empty lines)
- # column = loader.column
- node = Composer.compose_node(loader, parent, index)
- node.__lineno__ = lineno + 1
- # node.__column__ = column + 1
- return node
-
- def construct_scalar(node):
- where[node.value] = str(node.__lineno__) # + ":" + str(node.__column__)
- return SafeConstructor.construct_scalar(loader, node)
-
- def construct_mapping(node, deep=False):
- mapping = SafeConstructor.construct_mapping(loader, node, deep=deep)
- mapping['__lineno__'] = str(node.__lineno__) # + ":" + str(node.__column__)
- return mapping
-
- yread = None
- try:
- with open(filename, "r") as fd:
- yread = fd.read()
- except:
- type, value, traceback = sys.exc_info()
- sys.exit(value)
-
- loader = yaml.SafeLoader(yread)
- loader.compose_node = compose_node
- loader.construct_mapping = construct_mapping
- loader.construct_scalar = construct_scalar
- data = loader.get_single_data()
- if args.verbose > 2:
- print("================ %s ================" % filename)
- yaml.dump(data, sys.stdout)
- print("================================")
- return data
-
- blueprint = loadYaml(args.blueprint, {})
- inputsWhere = { }
- inputs = loadYaml(args.inputs, inputsWhere)
-
- # if inputs file is empty, provide an empty dictionary
- if inputs is None: inputs = { }
-
- # blueprint file has inputs under the inputs: node
- blueprintInputs = blueprint['inputs']
-
- # inputs file normally has inputs at the top level,
- # but templated inputs files have themunder the inputs: node
- if args.inputs_template: inputs = inputs['inputs']
-
-
- exitval = 0
-
- def check_blueprint_inputs(blueprintInputs, inputs, inputsExclusionList):
- """
- check the blueprint inputs against the inputs file
- """
- foundone = False
- for input in blueprintInputs:
- if input == '__lineno__': continue
- if args.verbose: print("blueprint input=%s\n%s" % (input, blueprintInputs[input]))
- if input in inputs:
- if args.verbose: print("\tIS in inputs file")
- else:
- # print("blueprintInputs.get(input)=%s and blueprintInputs[input].get('default')=%s" % (blueprintInputs.get(input), blueprintInputs[input].get('default')))
- if blueprintInputs.get(input) and blueprintInputs[input].get('default'):
- if args.verbose: print("\tHAS a default value")
- elif input not in inputsExclusionList:
- print("<<<<<<<<<<<<<<<< %s (blueprint line %s) not in inputs file" % (input, blueprintInputs[input].get('__lineno__')))
- foundone = True
- else:
- if args.verbose: print("<<<<<<<<<<<<<<<< %s not in inputs file, but being ignored" % input)
- return foundone
-
- # check the blueprint inputs: against the inputs file
- if args.verbose: print("================ check the blueprint inputs: against the inputs file")
- foundone = check_blueprint_inputs(blueprintInputs, inputs, inputsExclusionList)
- if foundone: print("")
- if foundone: exitval = 1
-
- def prettyprint(msg,j):
- print(msg)
- json.dump(j, sys.stdout, indent=4, sort_keys=True)
- print("")
-
- def check_get_inputs(blueprint, blueprintInputs, inputs, inputsExclusionList):
- """
- check the blueprint get_input values against the inputs file
- """
-
- def findInputs(d, where):
- if args.verbose > 2: print("check_get_inputs(): d=%s" % d)
- ret = [ ]
- if isinstance(d, dict):
- if args.verbose: print("type(d) is dict")
- for key,val in d.items():
- linecol = d.get('__lineno__')
- if args.verbose: print("looking at d[key=%s], line=%s" % (key, linecol))
- if key == '__lineno__': continue
- if key == "get_input":
- if args.verbose: print("found get_input, adding '%s'" % val)
- ret += [ val ]
- if not where.get(val): where[val] = str(linecol)
- else: where[val] += "," + str(linecol)
- return ret
- else:
- if args.verbose: print("going recursive on '%s'" % val)
- ret += findInputs(val, where)
- elif isinstance(d, list):
- if args.verbose: print("type(d) is list")
- for val in d:
- if args.verbose: print("going recursive on '%s'" % val)
- ret += findInputs(val, where)
- else:
- if args.verbose: print("type(d) is scalar: %s" % d)
- return ret
-
- foundone = False
- where = {}
- inputList = findInputs(blueprint, where)
- if args.verbose:
- print("done looking for get_input, found:\n%s" % inputList)
- prettyprint("where=",where)
- alreadySeen = { }
- for input in inputList:
- if input not in alreadySeen:
- alreadySeen[input] = True
- if args.verbose: print("checking input %s" % input)
- if input in inputs:
- if args.verbose: print("\tIS in input file")
- else:
- if blueprintInputs.get(input) and blueprintInputs[input].get('default'):
- if args.verbose: print("\tHAS a default value")
- elif input not in inputsExclusionList:
- line = where[input]
- s = "s" if line.find(",") >= 0 else ""
- print(":::::::::::::::: get_input: {0} is NOT in input file (blueprint line{1} {2})".format(input, s, line))
- foundone = True
- else:
- if args.verbose:
- line = where[input]
- s = "s" if line.find(",") >= 0 else ""
- print(":::::::::::::::: get_input: %s is NOT in input file (blueprint line{1} {2}), but being ignored" % (input, s, line))
-
- return foundone
-
-
-
- # check the blueprint's get_input calls against the inputs file
- if args.verbose: print("================ check the blueprint's get_input calls against the inputs file ================")
- foundone = check_get_inputs(blueprint, blueprintInputs, inputs, inputsExclusionList)
- if foundone: print("")
- if foundone: exitval = 1
-
- def check_inputs(blueprintInputs, inputs, blueprintExclusionList):
- """
- check the inputs file against the blueprints inputs list
- """
- foundone = False
- # prettyprint("inputs=", inputs)
- for key,val in inputs.items():
- if key == '__lineno__': continue
- if args.verbose: print("inputs key=%s" % key)
- # print("inputs key=%s, line=%s, val=%s" % (key,inputsWhere[key],val)) # DELETE
- if key in blueprintInputs:
- if args.verbose: print("\tIS in blueprint")
- else:
- if key not in blueprintExclusionList:
- print(">>>>>>>>>>>>>>>> %s is in inputs file (around line %s) but not in blueprint file" % (key, inputsWhere[key]))
- foundone = True
- else:
- if args.verbose: print(">>>>>>>>>>>>>>>> %s is in inputs file (around line %s), but not in blueprint file and being ignored" % (key, inputsWhere[key]))
- return foundone
-
- # check the inputs file against the blueprints input: section
- if args.verbose: print("================ check the inputs file against the blueprints input: section ================")
- foundone = check_inputs(blueprintInputs, inputs, blueprintExclusionList)
- if foundone: exitval = 1
- sys.exit(exitval)
-
-if __name__ == "__main__":
- main()
diff --git a/check-blueprint-vs-input/lib/sample-inputs.yaml b/check-blueprint-vs-input/lib/sample-inputs.yaml
deleted file mode 100644
index a56652b..0000000
--- a/check-blueprint-vs-input/lib/sample-inputs.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-# ================================================================================
-# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-centos7image_id: 'some-value-in-guid-format'
-ubuntu1604image_id: 'another-value-in-guid-format'
-flavor_id: '4'
-security_group: '55a11193-6559-4f6c-b2d2-0119a9817062'
-public_net: 'admin_floating_228_net'
-private_net: 'onap-f-net'
-openstack:
- username: 'MY_LOGIN'
- password: 'MY_PASSWORD'
- tenant_name: 'TENANT_NAME'
- auth_url: 'KEYSTONE_AUTH_URL'
- region: 'RegionOne'
-keypair: 'KEYNME'
-key_filename: '/opt/dcae/key'
-location_prefix: 'onapr1'
-location_domain: 'onapdevlab.onap.org'
-codesource_url: 'https://nexus.onap.org/service/local/repositories/raw/content'
-codesource_version: 'org.onap.dcaegen2.deployments/releases/scripts'
diff --git a/check-blueprint-vs-input/man/check-blueprint-vs-input.1 b/check-blueprint-vs-input/man/check-blueprint-vs-input.1
deleted file mode 100644
index 247fbc6..0000000
--- a/check-blueprint-vs-input/man/check-blueprint-vs-input.1
+++ /dev/null
@@ -1,50 +0,0 @@
-check-blueprint-vs-input(1UTIL) ONAP check-blueprint-vs-input(1UTIL)
-
-
-
-NNAAMMEE
- check-blueprint-vs-input
-
-SSYYNNOOPPSSIISS
- check-blueprint-vs-input [-h] [-b BLUEPRINT] [-i INPUTS]
- [-B BLUEPRINT_EXCLUSION_LIST]
- [-I INPUTS_EXCLUSION_LIST] [-t] [-v]
-
-DDEESSCCRRIIPPTTIIOONN
- Validate a blueprint and inputs file against each other. This looks for
- the inputs: node of the blueprint file, the inputs used by {get_input}
- within the blueprint, and the values found in the inputs file. The
- files may be in either YAML or JSON formats. The names default to blue‐
- print.yaml and inputs.yaml. If a blueprint inputs name has a default
- value, it is not considered an error if it is not in the inputs file.
- If using a template inputs file, add the -t/--template option. This
- will look for the inputs under an "inputs:" node instead of at the top
- level. If there are blueprint nodes or inputs nodes that should not be
- considered an error, specify them using the -B/--blueprint- exclusion-
- list and -I/inputs-exclusion-list parameters. "check-blueprint-vs-
- input --help" will list all of the available options.
-
- OOPPTTIIOONNSS
- -h, --help show this help message and exit
-
- -b BLUEPRINT, --blueprint BLUEPRINT Path to blueprint file, defaults to
- 'blueprint.yaml'
-
- -i INPUTS, --inputs INPUTS Port to listen on, defaults to 'inputs.yaml'
-
- -B BLUEPRINT_EXCLUSION_LIST, --blueprint-exclusion-list BLUE‐
- PRINT_EXCLUSION_LIST Comma-separated list of names
- not to warn about not
- being in the blueprint file
-
- -I INPUTS_EXCLUSION_LIST, --inputs-exclusion-list INPUTS_EXCLUSION_LIST
- Comma-separated list of names not to warn about not
- being in the inputs file
-
- -t, --inputs-template Treat inputs file as coming from template area
-
- -v, --verbose Verbose, may be specified multiple times
-
-
-
-ONAP {{DATE}} check-blueprint-vs-input(1UTIL)
diff --git a/check-blueprint-vs-input/man/check-blueprint-vs-input.man b/check-blueprint-vs-input/man/check-blueprint-vs-input.man
deleted file mode 100644
index 017d529..0000000
--- a/check-blueprint-vs-input/man/check-blueprint-vs-input.man
+++ /dev/null
@@ -1,55 +0,0 @@
-'\" Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-'\"
-'\" Licensed under the Apache License, Version 2.0 (the "License");
-'\" you may not use this code except in compliance
-'\" with the License. You may obtain a copy of the License
-'\" at http://www.apache.org/licenses/LICENSE-2.0
-'\"
-'\" Unless required by applicable law or agreed to in writing, software
-'\" distributed under the License is distributed on an "AS IS" BASIS,
-'\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-'\" implied. See the License for the specific language governing
-'\" permissions and limitations under the License.
-.TH check-blueprint-vs-input 1UTIL {{DATE}} ONAP ONAP
-.SH NAME
-check-blueprint-vs-input
-.SH SYNOPSIS
-check-blueprint-vs-input [-h] [-b BLUEPRINT] [-i INPUTS]
- [-B BLUEPRINT_EXCLUSION_LIST]
- [-I INPUTS_EXCLUSION_LIST] [-t] [-v]
-.SH DESCRIPTION
-Validate a blueprint and inputs file against each other. This looks for the
-inputs: node of the blueprint file, the inputs used by {get_input} within the
-blueprint, and the values found in the inputs file. The files may be in either
-YAML or JSON formats. The names default to blueprint.yaml and inputs.yaml. If
-a blueprint inputs name has a default value, it is not considered an error if
-it is not in the inputs file. If using a template inputs file, add the
--t/--template option. This will look for the inputs under an "inputs:" node
-instead of at the top level. If there are blueprint nodes or inputs nodes that
-should not be considered an error, specify them using the -B/--blueprint-
-exclusion-list and -I/inputs-exclusion-list parameters. "check-blueprint-vs-
-input --help" will list all of the available options.
-.SS OPTIONS
-.HP 20
--h, --help
-show this help message and exit
-.HP 20
--b BLUEPRINT, --blueprint BLUEPRINT
-Path to blueprint file, defaults to 'blueprint.yaml'
-.HP 20
--i INPUTS, --inputs INPUTS
-Port to listen on, defaults to 'inputs.yaml'
-.HP 20
--B BLUEPRINT_EXCLUSION_LIST, --blueprint-exclusion-list BLUEPRINT_EXCLUSION_LIST
-Comma-separated list of names not to warn about not
- being in the blueprint file
-.HP 20
--I INPUTS_EXCLUSION_LIST, --inputs-exclusion-list INPUTS_EXCLUSION_LIST
-Comma-separated list of names not to warn about not
- being in the inputs file
-.HP 20
--t, --inputs-template
-Treat inputs file as coming from template area
-.HP 20
--v, --verbose
-Verbose, may be specified multiple times
diff --git a/check-blueprint-vs-input/pom.xml b/check-blueprint-vs-input/pom.xml
deleted file mode 100644
index 14b4d50..0000000
--- a/check-blueprint-vs-input/pom.xml
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0"?>
-<!--
-================================================================================
-Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
-================================================================================
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-============LICENSE_END=========================================================
-
-ECOMP is a trademark and service mark of AT&T Intellectual Property.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.dcaegen2.platform.blueprints</groupId>
- <artifactId>blueprints</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- </parent>
- <groupId>org.onap.dcaegen2.plaform.blueprints</groupId>
- <artifactId>check-blueprint-vs-input</artifactId>
- <name>dcaegen2-plaform-blueprints-check-blueprint-vs-input</name>
- <version>1.0.0-SNAPSHOT</version>
- <url>http://maven.apache.org</url>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <sonar.skip>true</sonar.skip>
- <sonar.sources>.</sonar.sources>
- <!-- customize the SONARQUBE URL -->
- <!-- sonar.host.url>http://localhost:9000</sonar.host.url -->
- <!-- below are language dependent -->
- <!-- for Python -->
- <sonar.language>py</sonar.language>
- <sonar.pluginName>Python</sonar.pluginName>
- <sonar.inclusions>**/*.py</sonar.inclusions>
- <!-- for JavaScaript -->
- <!--
- <sonar.language>js</sonar.language>
- <sonar.pluginName>JS</sonar.pluginName>
- <sonar.inclusions>**/*.js</sonar.inclusions>
- -->
- </properties>
- <build>
- <finalName>${project.artifactId}-${project.version}</finalName>
- <pluginManagement>
- <plugins>
- <!-- the following plugins are invoked from oparent, we do not need them -->
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <configuration>
- <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <!-- This version supports the "deployAtEnd" parameter -->
- <version>2.8</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <!-- first disable the default Java plugins at various stages -->
- <!-- maven-resources-plugin is called during "*resource" phases by default behavior. it prepares
- the resources dir. we do not need it -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <!-- maven-compiler-plugin is called during "compile" phases by default behavior. we do not need it -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <!-- maven-jar-plugin is called during "compile" phase by default behavior. we do not need it -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <phase/>
- </execution>
- </executions>
- </plugin>
- <!-- maven-install-plugin is called during "install" phase by default behavior. it tries to copy stuff under
- target dir to ~/.m2. we do not need it -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <!-- maven-surefire-plugin is called during "test" phase by default behavior. it triggers junit test.
- we do not need it -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.12.4</version>
- <configuration>
- <skipTests>true</skipTests>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <!-- plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4.1</version>
- <configuration>
- <descriptors>
- <descriptor>assembly/dep.xml</descriptor>
- </descriptors>
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin -->
- <!-- now we configure custom action (calling a script) at various lifecycle phases -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <executions>
- <execution>
- <id>clean phase script</id>
- <phase>clean</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>clean</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>generate-sources script</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>generate-sources</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>compile script</id>
- <phase>compile</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>compile</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>package script</id>
- <phase>package</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>package</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>test script</id>
- <phase>test</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>test</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>install script</id>
- <phase>install</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>install</argument>
- </arguments>
- </configuration>
- </execution>
- <execution>
- <id>deploy script</id>
- <phase>deploy</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <arguments>
- <argument>${project.artifactId}</argument>
- <argument>deploy</argument>
- <argument>bin/check-blueprint-vs-input</argument>
- <argument>man/check-blueprint-vs-input.1</argument>
- </arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>