<!-- ~ Copyright 2016 Alexey Andreev. ~ ~ Licensed 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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.teavm</groupId> <artifactId>teavm-samples</artifactId> <version>0.7.0-SNAPSHOT</version> </parent> <artifactId>teavm-samples-benchmark</artifactId> <packaging>war</packaging> <name>TeaVM performance benchmark</name> <description>Compares performance of the JavaScript code produced by TeaVM and GWT</description> <properties> <bck2brwsr.version>0.22</bck2brwsr.version> <gwt.version>2.8.2</gwt.version> </properties> <dependencies> <dependency> <groupId>org.teavm</groupId> <artifactId>teavm-classlib</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.teavm</groupId> <artifactId>teavm-jso-apis</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.teavm</groupId> <artifactId>teavm-interop</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jbox2d</groupId> <artifactId>jbox2d-library</artifactId> <version>2.2.1.1</version> </dependency> <dependency> <groupId>org.jbox2d</groupId> <artifactId>jbox2d-library</artifactId> <version>2.2.1.1</version> <classifier>sources</classifier> <scope>provided</scope> </dependency> <dependency> <groupId>org.apidesign.bck2brwsr</groupId> <artifactId>emul</artifactId> <version>${bck2brwsr.version}</version> <classifier>rt</classifier> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${gwt.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.dukescript.canvas</groupId> <artifactId>html5-canvas</artifactId> <version>0.7.2</version> </dependency> <dependency> <groupId>org.apidesign.bck2brwsr</groupId> <artifactId>ko-bck2brwsr</artifactId> <version>${bck2brwsr.version}</version> <classifier>bck2brwsr</classifier> <scope>provided</scope> </dependency> <dependency> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.boot</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <webResources> <resource> <directory>${project.build.directory}/generated/js</directory> </resource> <resource> <directory>${project.build.directory}/generated/wasm</directory> </resource> </webResources> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>jar</goal> </goals> <configuration> <archive> <manifest> <mainClass>org.teamvm.samples.benchmark.htmljava.BenchmarkStarter</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <useUniqueVersions>false</useUniqueVersions> </manifest> </archive> <excludes> <exclude>**/gwt/*</exclude> <exclude>**/teavm/*</exclude> <exclude>**/benchmark/jvm/*</exclude> </excludes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.teavm</groupId> <artifactId>teavm-maven-plugin</artifactId> <version>${project.version}</version> <executions> <execution> <id>web-client</id> <goals> <goal>compile</goal> </goals> <configuration> <targetDirectory>${project.build.directory}/generated/js/teavm</targetDirectory> <mainClass>org.teavm.samples.benchmark.teavm.BenchmarkStarter</mainClass> <minifying>true</minifying> <debugInformationGenerated>true</debugInformationGenerated> <optimizationLevel>FULL</optimizationLevel> </configuration> </execution> <execution> <id>wasm-client</id> <goals> <goal>compile</goal> </goals> <configuration> <targetDirectory>${project.build.directory}/generated/wasm/teavm-wasm</targetDirectory> <mainClass>org.teavm.samples.benchmark.teavm.WasmBenchmarkStarter</mainClass> <debugInformationGenerated>true</debugInformationGenerated> <targetType>WEBASSEMBLY</targetType> <optimizationLevel>FULL</optimizationLevel> <heapSize>8</heapSize> </configuration> </execution> <execution> <id>native-client</id> <goals> <goal>compile</goal> </goals> <configuration> <targetDirectory>${project.build.directory}/generated/c</targetDirectory> <mainClass>org.teavm.samples.benchmark.teavm.Gtk3BenchmarkStarter</mainClass> <debugInformationGenerated>true</debugInformationGenerated> <targetType>C</targetType> <optimizationLevel>FULL</optimizationLevel> <heapSize>8</heapSize> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>${gwt.version}</version> <executions> <execution> <goals> <goal>compile</goal> </goals> <configuration> <optimizationLevel>9</optimizationLevel> <compileSourcesArtifacts> <item>org.jbox2d:jbox2d-library</item> </compileSourcesArtifacts> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>../../checkstyle.xml</configLocation> <propertyExpansion>config_loc=${basedir}/../..</propertyExpansion> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>fx</id> <dependencies> <dependency> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.boot.fx</artifactId> <version>1.1</version> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <mainClass>org.teavm.samples.benchmark.htmljava.BenchmarkFX</mainClass> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>