| <?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> |
| <groupId>org.apache.guacamole</groupId> |
| <artifactId>guacamole</artifactId> |
| <packaging>war</packaging> |
| <version>1.5.2</version> |
| <name>guacamole</name> |
| <url>http://guacamole.apache.org/</url> |
| |
| <parent> |
| <groupId>org.apache.guacamole</groupId> |
| <artifactId>guacamole-client</artifactId> |
| <version>1.5.2</version> |
| <relativePath>../</relativePath> |
| </parent> |
| |
| <description> |
| The Guacamole web application, providing authentication and an HTML5 |
| remote desktop client. |
| </description> |
| |
| <!-- All applicable licenses --> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| |
| <!-- Git repository --> |
| <scm> |
| <url>https://github.com/apache/guacamole-client</url> |
| <connection>scm:git:https://git.wip-us.apache.org/repos/asf/guacamole-client.git</connection> |
| </scm> |
| |
| <build> |
| <plugins> |
| |
| <!-- Build AngularJS portion of application using NPM --> |
| <plugin> |
| <groupId>com.github.eirslett</groupId> |
| <artifactId>frontend-maven-plugin</artifactId> |
| <version>1.11.3</version> |
| <configuration> |
| <workingDirectory>src/main/frontend</workingDirectory> |
| <installDirectory>${project.build.directory}</installDirectory> |
| </configuration> |
| <executions> |
| <execution> |
| <id>install-node-and-npm</id> |
| <goals> |
| <goal>install-node-and-npm</goal> |
| </goals> |
| <configuration> |
| <nodeVersion>v14.16.0</nodeVersion> |
| </configuration> |
| </execution> |
| <execution> |
| <id>npm-ci</id> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <configuration> |
| <arguments>ci</arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>npm-build</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>npm</goal> |
| </goals> |
| <configuration> |
| <arguments>run build</arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Copy automatically-generated set of NPM module dependencies for |
| later use by LICENSE generator --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-npm-dependency-list</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${dependency.list.directory}</outputDirectory> |
| <resources> |
| <resource> |
| <directory>src/main/frontend/dist</directory> |
| <includes> |
| <include>npm-dependencies.txt</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Automatically generate LICENSE and NOTICE --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-license-files</id> |
| <phase>generate-resources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-war-plugin</artifactId> |
| <version>3.3.1</version> |
| <configuration> |
| |
| <webResources> |
| |
| <!-- Add frontend folder to war package ... --> |
| <resource> |
| <directory>src/main/frontend/dist</directory> |
| <excludes> |
| <exclude>translations/*.json</exclude> |
| <exclude>index.html</exclude> |
| <exclude>verifyCachedVersion.js</exclude> |
| </excludes> |
| </resource> |
| |
| <!-- ... but filter index.html and translation strings --> |
| <resource> |
| <directory>src/main/frontend/dist</directory> |
| <filtering>true</filtering> |
| <includes> |
| <include>translations/*.json</include> |
| <include>index.html</include> |
| <include>verifyCachedVersion.js</include> |
| </includes> |
| </resource> |
| |
| <!-- Include all licenses within META-INF --> |
| <resource> |
| <directory>${project.build.directory}/licenses</directory> |
| <targetPath>META-INF</targetPath> |
| </resource> |
| |
| </webResources> |
| |
| <!-- Add files from guacamole-common-js --> |
| <overlays> |
| <overlay> |
| <groupId>org.apache.guacamole</groupId> |
| <artifactId>guacamole-common-js</artifactId> |
| <type>zip</type> |
| </overlay> |
| </overlays> |
| |
| </configuration> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>exploded</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <dependencies> |
| |
| <!-- Java servlet API --> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| <version>2.5</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- JSR 356 WebSocket API --> |
| <dependency> |
| <groupId>javax.websocket</groupId> |
| <artifactId>javax.websocket-api</artifactId> |
| <version>1.0</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- Logging --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <exclusions> |
| |
| <!-- Exclude optional dependency on JavaMail --> |
| <exclusion> |
| <groupId>com.sun.mail</groupId> |
| <artifactId>javax.mail</artifactId> |
| </exclusion> |
| |
| </exclusions> |
| </dependency> |
| |
| <!-- Guacamole Extension API --> |
| <dependency> |
| <groupId>org.apache.guacamole</groupId> |
| <artifactId>guacamole-ext</artifactId> |
| <version>1.5.2</version> |
| </dependency> |
| |
| <!-- Guacamole JavaScript API --> |
| <dependency> |
| <groupId>org.apache.guacamole</groupId> |
| <artifactId>guacamole-common-js</artifactId> |
| <version>1.5.2</version> |
| <type>zip</type> |
| <scope>runtime</scope> |
| </dependency> |
| |
| <!-- Jetty 8 servlet API (websocket) --> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-websocket</artifactId> |
| <version>8.1.1.v20120215</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- Jetty 9.0 servlet API (websocket) --> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-parent</artifactId> |
| <version>20</version> |
| <scope>provided</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty.websocket</groupId> |
| <artifactId>websocket-api</artifactId> |
| <version>9.0.7.v20131107</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty.websocket</groupId> |
| <artifactId>websocket-servlet</artifactId> |
| <version>9.0.7.v20131107</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- Tomcat servlet API (websocket) --> |
| <dependency> |
| <groupId>org.apache.tomcat</groupId> |
| <artifactId>tomcat-catalina</artifactId> |
| <version>7.0.37</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.tomcat</groupId> |
| <artifactId>tomcat-coyote</artifactId> |
| <version>7.0.37</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- Guice - Dependency Injection --> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-assistedinject</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-servlet</artifactId> |
| </dependency> |
| |
| <!-- Jersey - JAX-RS Implementation --> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>guice-bridge</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-jackson</artifactId> |
| <exclusions> |
| |
| <!-- Resolve version conflict (see below - transitive |
| dependencies of jersey-media-json-jackson disagree on |
| 1.2.1 vs. 1.2.2) --> |
| <exclusion> |
| <groupId>jakarta.activation</groupId> |
| <artifactId>jakarta.activation-api</artifactId> |
| </exclusion> |
| |
| </exclusions> |
| </dependency> |
| |
| <!-- JSR-250 annotations --> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>jsr250-api</artifactId> |
| <version>1.0</version> |
| </dependency> |
| |
| <!-- Guava Base Libraries --> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| |
| <!-- Force use of version 1.2.2 (transitive dependencies of |
| jersey-media-json-jackson disagree on 1.2.1 vs. 1.2.2) --> |
| <dependency> |
| <groupId>jakarta.activation</groupId> |
| <artifactId>jakarta.activation-api</artifactId> |
| <version>1.2.2</version> |
| </dependency> |
| |
| </dependencies> |
| |
| </project> |