blob: 35e24b6d6febc606865531d19d8ae4a978777718 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!--
/**
* 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.
*/
-->
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>${revision}</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-website</artifactId>
<packaging>pom</packaging>
<name>Apache HBase - Website</name>
<description>Apache HBase Website built with React and TypeScript</description>
<properties>
<node.version>v22.20.0</node.version>
<npm.version>11.6.2</npm.version>
</properties>
<build>
<plugins>
<!-- Clean build and node_modules directories -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/build</directory>
<followSymlinks>false</followSymlinks>
</fileset>
<fileset>
<directory>${project.basedir}/node_modules</directory>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.15.1</version>
<configuration>
<installDirectory>${project.build.directory}</installDirectory>
<workingDirectory>${project.basedir}</workingDirectory>
</configuration>
<executions>
<!-- Install Node.js and npm -->
<execution>
<id>install-node-and-npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<nodeVersion>${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
</configuration>
</execution>
<!-- Run npm install -->
<execution>
<id>npm-install</id>
<goals>
<goal>npm</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<!-- Extract developers from parent pom.xml -->
<execution>
<id>extract-developers</id>
<goals>
<goal>npm</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<arguments>run extract-developers</arguments>
</configuration>
</execution>
<!-- Run npm run ci -->
<execution>
<id>npm-run-ci</id>
<goals>
<goal>npm</goal>
</goals>
<phase>site</phase>
<configuration>
<arguments>run ci</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Profile to skip website build -->
<profile>
<id>skip-site</id>
<activation>
<property>
<name>skipSite</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<executions>
<execution>
<id>install-node-and-npm</id>
<phase>none</phase>
</execution>
<execution>
<id>extract-developers</id>
<phase>none</phase>
</execution>
<execution>
<id>npm-install</id>
<phase>none</phase>
</execution>
<execution>
<id>npm-run-ci</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>