/*
 * 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.
 */

plugins {
    id 'ofbiz-node-conventions'
}

dependencies {
    pluginLibsCompile 'org.apache.tomcat.embed:tomcat-embed-websocket:9.0.104' // Moving to Tomcat 10 needs more work or maybe removing websocket that does not work anyway, see OFBIZ-7073
}

node {
    nodeProjectDir = file("vite-react-app")
}

task buildReactApp (type: NpmTask) {
    inputs.files(fileTree('vite-react-app'))

    outputs.dir('webapp/example/vite-react-app')

    dependsOn npmInstall
    args = ['run', 'build', '--', '--emptyOutDir']
}

// Build the react app when the classes task is run.
project.rootProject.tasks.getByName('classes').dependsOn buildReactApp

// Hook into the root project's clean task to clean up the output from the
// buildReactApp task.
project.rootProject.tasks.clean.dependsOn cleanBuildReactApp
