Hi im trying to build guacamole-client locally on my system but im getting error in frontend dependencies. I’ve tried updating the libraries but still not able to build it. I’m getting below error:
INFO] [1mReactor Summary for guacamole-client 1.6.0:[m
[INFO]
[INFO] guacamole-client ................................... [1;32mSUCCESS[m [ 28.211 s]
[INFO] guacamole-common ................................... [1;32mSUCCESS[m [ 4.123 s]
[INFO] guacamole-ext ...................................... [1;32mSUCCESS[m [ 2.886 s]
[INFO] guacamole-common-js ................................ [1;32mSUCCESS[m [ 9.941 s]
[INFO] guacamole .......................................... [1;31mFAILURE[m [04:21 min]
[INFO] extensions ......................................... [1;33mSKIPPED[m
[INFO] guacamole-auth-ban ................................. [1;33mSKIPPED[m
[INFO] guacamole-auth-duo ................................. [1;33mSKIPPED[m
[INFO] guacamole-auth-header .............................. [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc ................................ [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc-base ........................... [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc-mysql .......................... [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc-postgresql ..................... [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc-sqlserver ...................... [1;33mSKIPPED[m
[INFO] guacamole-auth-jdbc-dist ........................... [1;33mSKIPPED[m
[INFO] guacamole-auth-json ................................ [1;33mSKIPPED[m
[INFO] guacamole-auth-ldap ................................ [1;33mSKIPPED[m
[INFO] guacamole-auth-quickconnect ........................ [1;33mSKIPPED[m
[INFO] guacamole-auth-restrict ............................ [1;33mSKIPPED[m
[INFO] guacamole-auth-sso ................................. [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-base ............................ [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-cas ............................. [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-openid .......................... [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-saml ............................ [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-ssl ............................. [1;33mSKIPPED[m
[INFO] guacamole-auth-sso-dist ............................ [1;33mSKIPPED[m
[INFO] guacamole-auth-totp ................................ [1;33mSKIPPED[m
[INFO] guacamole-history-recording-storage ................ [1;33mSKIPPED[m
[INFO] guacamole-vault .................................... [1;33mSKIPPED[m
[INFO] guacamole-vault-base ............................... [1;33mSKIPPED[m
[INFO] guacamole-vault-ksm ................................ [1;33mSKIPPED[m
[INFO] guacamole-vault-dist ............................... [1;33mSKIPPED[m
[INFO] guacamole-display-statistics ....................... [1;33mSKIPPED[m
[INFO] guacamole-example .................................. [1;33mSKIPPED[m
[INFO] guacamole-playback-example ......................... [1;33mSKIPPED[m
[INFO] [1m------------------------------------------------------------------------[m
[INFO] [1;31mBUILD FAILURE[m
[INFO] [1m------------------------------------------------------------------------[m
[INFO] Total time: 05:10 min
[INFO] Finished at: 2024-12-18T17:41:25+05:30
[INFO] [1m------------------------------------------------------------------------[m
[ERROR] Failed to execute goal [32mcom.github.eirslett:frontend-maven-plugin:1.12.0:npm[m [1m(npm-build)[m on project [36mguacamole[m: [1;31mFailed to run task[m: 'npm run build --verbose' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [1m[Help 1][m
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal [32mcom.github.eirslett:frontend-maven-plugin:1.12.0:npm[m [1m(npm-build)[m on project [36mguacamole[m: [1;31mFailed to run task[m
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:333)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:448)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:311)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed to run task
at com.github.eirslett.maven.plugins.frontend.mojo.AbstractFrontendMojo.execute(AbstractFrontendMojo.java:100)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
... 31 more
Caused by: com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException: 'npm run build --verbose' failed.
at com.github.eirslett.maven.plugins.frontend.lib.NodeTaskExecutor.execute(NodeTaskExecutor.java:63)
at com.github.eirslett.maven.plugins.frontend.mojo.NpmMojo.execute(NpmMojo.java:62)
at com.github.eirslett.maven.plugins.frontend.mojo.AbstractFrontendMojo.execute(AbstractFrontendMojo.java:94)
... 33 more
Caused by: com.github.eirslett.maven.plugins.frontend.lib.ProcessExecutionException: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at com.github.eirslett.maven.plugins.frontend.lib.ProcessExecutor.execute(ProcessExecutor.java:82)
at com.github.eirslett.maven.plugins.frontend.lib.ProcessExecutor.executeAndRedirectOutput(ProcessExecutor.java:64)
at com.github.eirslett.maven.plugins.frontend.lib.NodeExecutor.executeAndRedirectOutput(NodeExecutor.java:29)
at com.github.eirslett.maven.plugins.frontend.lib.NodeTaskExecutor.execute(NodeTaskExecutor.java:58)
... 35 more
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at com.github.eirslett.maven.plugins.frontend.lib.ProcessExecutor.execute(ProcessExecutor.java:74)
... 38 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] [1mmvn <args> -rf :guacamole[m
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, file-static, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory
Also this is my webpack.config.js file content:
const AngularTemplateCacheWebpackPlugin = require('angular-templatecache-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
const DependencyListPlugin = require('./plugins/dependency-list-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require('path');
const webpack = require('webpack');
module.exports = {
bail: true,
mode: 'production',
stats: 'detailed',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'guacamole.[contenthash].js',
},
devtool: 'source-map',
entry: './src/app/index/indexModule.js',
module: {
rules: [
{
test: /.js$/i,
exclude:/node_modules/(?!(yaml)/).*/,
use: {
loader: 'babel-loader',
options: {
presets: [['@babel/preset-env']],
},
},
},
{
test: /.css$/i,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
import: false,
url: false,
},
},
],
},
{
test: require.resolve('angular'),
loader: 'exports-loader',
options: {
type: 'commonjs',
exports: 'single window.angular',
},
},
],
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: {
compress: { drop_console: true },
output: { comments: false },
},
extractComments: false,
}),
],
splitChunks: {
cacheGroups: {
styles: {
name: 'styles',
test: /.css$/,
chunks: 'all',
enforce: true,
},
},
},
},
plugins: [
new AngularTemplateCacheWebpackPlugin({
module: 'templates-main',
root: 'app/',
source: 'src/app/**/*.html',
standalone: true,
}),
new CleanWebpackPlugin(),
new CopyPlugin({
patterns: [
{ from: 'app/**/*', context: path.resolve(__dirname, 'src') },
{ from: 'fonts/**/*', context: path.resolve(__dirname, 'src') },
{ from: 'images/**/*', context: path.resolve(__dirname, 'src') },
{ from: 'layouts/**/*', context: path.resolve(__dirname, 'src') },
{ from: 'manifest.json', context: path.resolve(__dirname, 'src') },
{ from: 'translations/**/*', context: path.resolve(__dirname, 'src') },
{ from: 'verifyCachedVersion.js', context: path.resolve(__dirname, 'src') },
],
}),
new CopyPlugin({
patterns: [
{ from: 'angular/angular.min.js', context: path.resolve(__dirname, 'node_modules') },
{ from: 'blob-polyfill/Blob.js', context: path.resolve(__dirname, 'node_modules') },
{ from: 'datalist-polyfill/datalist-polyfill.min.js', context: path.resolve(__dirname, 'node_modules') },
{ from: 'jquery/dist/jquery.min.js', context: path.resolve(__dirname, 'node_modules') },
{ from: 'lodash/lodash.min.js', context: path.resolve(__dirname, 'node_modules') },
],
}),
new HtmlWebpackPlugin({
inject: false,
template: 'src/index.html',
}),
new MiniCssExtractPlugin({
filename: 'guacamole.[contenthash].css',
chunkFilename: '[id].guacamole.[contenthash].css',
}),
new DependencyListPlugin(),
new webpack.ProvidePlugin({
jstz: 'jstz',
Pickr: '@simonwep/pickr',
saveAs: 'file-saver',
process: 'process/browser.js',
Buffer: ['buffer', 'Buffer'],
}),
],
resolve: {
modules: ['src', 'node_modules'],
},
};
I need the solution to build this locally so that I can make frontend and backend changes in it.