blob: c45d4e7efc5c8a8c8e2a20d24950733bd5cb294d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You 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.
-->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>zeppelin</artifactId>
<groupId>org.apache.zeppelin</groupId>
<version>0.10.1</version>
</parent>
<artifactId>zeppelin-web</artifactId>
<packaging>war</packaging>
<name>Zeppelin: web Application</name>
<properties>
<web.e2e.disabled>true</web.e2e.disabled>
<web.e2e.enabled>false</web.e2e.enabled>
<zeppelin.daemon.package.base>../bin</zeppelin.daemon.package.base>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--plugin versions-->
<plugin.frontend.nodeDownloadRoot>https://nodejs.org/dist/</plugin.frontend.nodeDownloadRoot>
<plugin.frontend.npmDownloadRoot>https://registry.npmjs.org/npm/-/</plugin.frontend.npmDownloadRoot>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>dist</warSourceDirectory>
<webXml>dist\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<nodeDownloadRoot>${plugin.frontend.nodeDownloadRoot}</nodeDownloadRoot>
<npmDownloadRoot>${plugin.frontend.npmDownloadRoot}</npmDownloadRoot>
</configuration>
<executions>
<execution>
<id>install node</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<skip>${web.e2e.enabled}</skip>
<arguments>install --no-lockfile</arguments>
</configuration>
</execution>
<execution>
<id>npm build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<skip>${web.e2e.enabled}</skip>
<arguments>${web.build.command}</arguments>
</configuration>
</execution>
<execution>
<id>npm test</id>
<goals>
<goal>npm</goal>
</goals>
<phase>test</phase>
<configuration>
<skip>${web.e2e.disabled}</skip>
<arguments>run karma-test</arguments>
</configuration>
</execution>
<execution>
<id>npm e2e</id>
<goals>
<goal>npm</goal>
</goals>
<phase>integration-test</phase>
<configuration>
<skip>${web.e2e.disabled}</skip>
<arguments>run e2e</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>start-zeppelin</id>
<phase>pre-integration-test</phase>
<configuration>
<skip>${web.e2e.disabled}</skip>
<target unless="skipTests">
<exec executable="./zeppelin-daemon.sh" dir="${zeppelin.daemon.package.base}" spawn="false">
<arg value="start" />
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>stop-zeppelin</id>
<phase>post-integration-test</phase>
<configuration>
<skip>${web.e2e.disabled}</skip>
<target unless="skipTests">
<exec executable="./zeppelin-daemon.sh" dir="${zeppelin.daemon.package.base}" spawn="false">
<arg value="stop" />
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
Disabling test report generation as it forks the lifecycle
and results in https://issues.apache.org/jira/browse/ZEPPELIN-69
There is no better way to do it, as per
https://jira.codehaus.org/browse/MCOBERTURA-154
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<executions>
<execution>
<id>cobertura</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
</plugin>
<plugin>
<!-- clean task will be executed by front-end-maven plugin -->
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>bower_components</directory>
</fileset>
<fileset>
<directory>node</directory>
</fileset>
<fileset>
<directory>node_modules</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>web-dist</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<web.build.command>run build:dist</web.build.command>
</properties>
</profile>
<profile>
<id>web-ci</id>
<properties>
<web.build.command>run build:ci</web.build.command>
</properties>
</profile>
<profile>
<id>web-e2e</id>
<properties>
<web.e2e.disabled>false</web.e2e.disabled>
<web.e2e.enabled>true</web.e2e.enabled>
</properties>
</profile>
</profiles>
</project>