druid/web-console/pom.xml

166 lines
5.7 KiB
XML

<?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 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>druid-console</artifactId>
<name>druid-console</name>
<description>Unified web console for a Druid cluster</description>
<parent>
<groupId>org.apache.druid</groupId>
<artifactId>druid</artifactId>
<version>0.24.0-SNAPSHOT</version>
</parent>
<properties>
<resources.directory>${project.build.directory}/resources</resources.directory>
<druid.console.skip>false</druid.console.skip> <!-- this property is overidden in Travis CI to skip the javascript-related work -->
<node.version>v14.19.3</node.version>
<npm.version>6.14.16</npm.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<skip>${druid.console.skip}</skip>
</configuration>
<executions>
<execution>
<id>install-node-and-npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
<workingDirectory>${project.build.directory}</workingDirectory>
<installDirectory>${project.build.directory}</installDirectory>
</configuration>
</execution>
<execution>
<id>npm-install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>ci</arguments>
<installDirectory>${project.build.directory}</installDirectory>
</configuration>
</execution>
<execution>
<id>license-check</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run check-licenses</arguments>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</execution>
<execution>
<id>test-console</id>
<goals>
<goal>npm</goal>
</goals>
<phase>test</phase>
<configuration>
<arguments>run test-ci</arguments>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</execution>
<execution>
<id>generate-licenses-file</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run generate-licenses-file</arguments>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<skip>${druid.console.skip}</skip>
</configuration>
<executions>
<execution>
<id>clean-console</id>
<phase>clean</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>script/clean</executable>
</configuration>
</execution>
<execution>
<id>build-console</id>
<phase>generate-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<environmentVariables><PATH>${project.build.directory}/node:${env.PATH}</PATH></environmentVariables>
<executable>script/build</executable>
</configuration>
</execution>
<execution>
<id>package-console</id>
<phase>generate-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>script/cp-to</executable>
<arguments>
<argument>${resources.directory}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.outputDirectory}/org/apache/druid/console</outputDirectory>
<skip>${druid.console.skip}</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>${resources.directory}</directory>
</resource>
</resources>
</build>
</project>