diff options
Diffstat (limited to 'mod/designtool/nifi-war-to-jar')
-rwxr-xr-x | mod/designtool/nifi-war-to-jar/extract.sh | 33 | ||||
-rw-r--r-- | mod/designtool/nifi-war-to-jar/pom.xml | 62 |
2 files changed, 95 insertions, 0 deletions
diff --git a/mod/designtool/nifi-war-to-jar/extract.sh b/mod/designtool/nifi-war-to-jar/extract.sh new file mode 100755 index 0000000..99e8621 --- /dev/null +++ b/mod/designtool/nifi-war-to-jar/extract.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# ============================================================================== +# Copyright (c) 2020 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======================================================= + +# +# The nifi web api is available as a war file but not as a jar file. +# We need to compile patches against the classes in it, so we need +# a jar file. This shell extracts the class files from the war and copies +# them to target/classes so maven can package them into a jar file. +# The jar is then used as a "provided" dependency for compiling the +# design tool patches +# + +set -euf -o pipefail +echo Extracting classes from "$1" +cd target +rm -rf WEB-INF classes +jar xf $1 WEB-INF/classes/org/apache/nifi +mv WEB-INF/classes . +rmdir WEB-INF diff --git a/mod/designtool/nifi-war-to-jar/pom.xml b/mod/designtool/nifi-war-to-jar/pom.xml new file mode 100644 index 0000000..03a5074 --- /dev/null +++ b/mod/designtool/nifi-war-to-jar/pom.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> +<!-- +================================================================================ +Copyright (c) 2020 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========================================================= + +--> +<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.mod</groupId> + <artifactId>designtool</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + <artifactId>nifi-war-to-jar</artifactId> + <name>dcaegen2-platform-mod-designtool-nifi-web-api-war-to-jar</name> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2.1</version> + <dependencies> + <dependency> + <groupId>org.apache.nifi</groupId> + <artifactId>nifi-web-api</artifactId> + <version>${nifi.version}</version> + <type>war</type> + </dependency> + </dependencies> + <configuration> + <includeProjectDependencies>false</includeProjectDependencies> + <includePluginDependencies>true</includePluginDependencies> + <executable>./extract.sh</executable> + <arguments> + <argument>${env.HOME}/.m2/repository/org/apache/nifi/nifi-web-api/${nifi.version}/nifi-web-api-${nifi.version}.war</argument> + </arguments> + </configuration> + <executions> + <execution> + <phase>process-classes</phase> + <goals> + <goal>exec</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> |