ko/kosample/client-web/pom.xml
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 14 Jun 2016 06:11:20 +0200
branchLibraries
changeset 1977 46efebc7e220
parent 1941 621825e167d7
permissions -rw-r--r--
We need to keep Function.Ax classes in the VM
jaroslav@1941
     1
<?xml version="1.0"?>
jaroslav@1941
     2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
jaroslav@1941
     3
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
jaroslav@1941
     4
    <modelVersion>4.0.0</modelVersion>
jaroslav@1941
     5
jaroslav@1941
     6
    <parent>
jaroslav@1941
     7
        <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
     8
        <artifactId>kosample-pom</artifactId>
jaroslav@1941
     9
        <version>1.0-SNAPSHOT</version>
jaroslav@1941
    10
    </parent>
jaroslav@1941
    11
jaroslav@1941
    12
    <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
    13
    <artifactId>kosample-web</artifactId>
jaroslav@1941
    14
    <version>1.0-SNAPSHOT</version>
jaroslav@1941
    15
    <packaging>jar</packaging>
jaroslav@1941
    16
jaroslav@1941
    17
    <name>kosample Client for Web</name>
jaroslav@1941
    18
jaroslav@1941
    19
    <properties>
jaroslav@1941
    20
        <netbeans.compile.on.save>none</netbeans.compile.on.save>
jaroslav@1941
    21
        <project.mainclass>org.apidesign.bck2brwsr.kosample.BrowserMain</project.mainclass>
jaroslav@1941
    22
        <browser.bootstrap>initialize bck2brwsr --&gt;
jaroslav@1941
    23
&lt;script type="text/javascript" src="bck2brwsr.js"&gt;&lt;/script&gt;
jaroslav@1941
    24
&lt;script&gt;
jaroslav@1941
    25
    var vm = bck2brwsr('kosample.js');
jaroslav@1941
    26
    var c = vm.loadClass('org.apidesign.bck2brwsr.kosample.BrowserMain');
jaroslav@1941
    27
    c.invoke('main');
jaroslav@1941
    28
&lt;/script&gt;
jaroslav@1941
    29
&lt;!-- end of initialization </browser.bootstrap>
jaroslav@1941
    30
    </properties>
jaroslav@1941
    31
    <build>
jaroslav@1941
    32
        <plugins>
jaroslav@1941
    33
            <plugin>
jaroslav@1941
    34
                <groupId>org.netbeans.html</groupId>
jaroslav@1941
    35
                <artifactId>html4j-maven-plugin</artifactId>
jaroslav@1941
    36
                <version>${net.java.html.version}</version>
jaroslav@1941
    37
                <executions>
jaroslav@1941
    38
                    <execution>
jaroslav@1941
    39
                        <id>js-classes</id>
jaroslav@1941
    40
                        <goals>
jaroslav@1941
    41
                            <goal>process-js-annotations</goal>
jaroslav@1941
    42
                        </goals>
jaroslav@1941
    43
                    </execution>
jaroslav@1941
    44
                </executions>
jaroslav@1941
    45
            </plugin>
jaroslav@1941
    46
            <plugin>
jaroslav@1941
    47
                <groupId>org.apache.maven.plugins</groupId>
jaroslav@1941
    48
                <artifactId>maven-compiler-plugin</artifactId>
jaroslav@1941
    49
                <version>2.3.2</version>
jaroslav@1941
    50
                <configuration>
jaroslav@1941
    51
                    <source>1.7</source>
jaroslav@1941
    52
                    <target>1.7</target>
jaroslav@1941
    53
                    <compilerArguments>
jaroslav@1941
    54
                        <bootclasspath>netbeans.ignore.jdk.bootclasspath</bootclasspath>
jaroslav@1941
    55
                    </compilerArguments>
jaroslav@1941
    56
                </configuration>
jaroslav@1941
    57
            </plugin>
jaroslav@1941
    58
            <plugin>
jaroslav@1941
    59
                <groupId>org.apache.maven.plugins</groupId>
jaroslav@1941
    60
                <artifactId>maven-jar-plugin</artifactId>
jaroslav@1941
    61
                <version>2.4</version>
jaroslav@1941
    62
                <configuration>
jaroslav@1941
    63
                    <archive>
jaroslav@1941
    64
                        <manifest>
jaroslav@1941
    65
                            <mainClass>${project.mainclass}</mainClass>
jaroslav@1941
    66
                            <addClasspath>true</addClasspath>
jaroslav@1941
    67
                            <classpathPrefix>lib/</classpathPrefix>
jaroslav@1941
    68
                            <useUniqueVersions>false</useUniqueVersions>
jaroslav@1941
    69
                        </manifest>
jaroslav@1941
    70
                    </archive>
jaroslav@1941
    71
                </configuration>
jaroslav@1941
    72
            </plugin>
jaroslav@1941
    73
            <plugin>
jaroslav@1941
    74
                <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
    75
                <artifactId>bck2brwsr-maven-plugin</artifactId>
jaroslav@1941
    76
                <version>${bck2brwsr.version}</version>
jaroslav@1941
    77
                <executions>
jaroslav@1941
    78
                    <execution>
jaroslav@1941
    79
                        <goals>
jaroslav@1941
    80
                            <goal>brwsr</goal>
jaroslav@1941
    81
                            <goal>aot</goal>
jaroslav@1941
    82
                        </goals>
jaroslav@1941
    83
                    </execution>
jaroslav@1941
    84
                </executions>
jaroslav@1941
    85
                <configuration>
jaroslav@1941
    86
                    <obfuscation>${bck2brwsr.obfuscationlevel}</obfuscation>
jaroslav@1941
    87
                    <directory>${project.build.directory}/${project.build.finalName}-bck2brwsr/public_html/</directory>
jaroslav@1941
    88
                    <startpage>index.html</startpage>
jaroslav@1941
    89
                    <classPathPrefix>lib</classPathPrefix>
jaroslav@1941
    90
                    <mainJavaScript>${project.build.directory}/kosample.js</mainJavaScript>
jaroslav@1941
    91
                    <exports>
jaroslav@1941
    92
                        <export>${project.mainclass}</export>
jaroslav@1941
    93
                    </exports>
jaroslav@1941
    94
                </configuration>
jaroslav@1941
    95
            </plugin>
jaroslav@1941
    96
            <plugin>
jaroslav@1941
    97
                <artifactId>maven-assembly-plugin</artifactId>
jaroslav@1941
    98
                <version>2.4</version>
jaroslav@1941
    99
                <executions>
jaroslav@1941
   100
                    <execution>
jaroslav@1941
   101
                        <id>distro-assembly</id>
jaroslav@1941
   102
                        <phase>package</phase>
jaroslav@1941
   103
                        <goals>
jaroslav@1941
   104
                            <goal>single</goal>
jaroslav@1941
   105
                        </goals>
jaroslav@1941
   106
                        <configuration>
jaroslav@1941
   107
                            <descriptors>
jaroslav@1941
   108
                                <descriptor>src/main/assembly/bck2brwsr.xml</descriptor>
jaroslav@1941
   109
                            </descriptors>
jaroslav@1941
   110
                        </configuration>
jaroslav@1941
   111
                    </execution>
jaroslav@1941
   112
                </executions>
jaroslav@1941
   113
            </plugin>
jaroslav@1941
   114
            <plugin>
jaroslav@1941
   115
                <groupId>org.apache.maven.plugins</groupId>
jaroslav@1941
   116
                <artifactId>maven-dependency-plugin</artifactId>
jaroslav@1941
   117
                <version>2.9</version>
jaroslav@1941
   118
                <executions>
jaroslav@1941
   119
                    <execution>
jaroslav@1941
   120
                        <id>unpack</id>
jaroslav@1941
   121
                        <phase>process-resources</phase>
jaroslav@1941
   122
                        <goals>
jaroslav@1941
   123
                            <goal>unpack-dependencies</goal>
jaroslav@1941
   124
                        </goals>
jaroslav@1941
   125
                    </execution>
jaroslav@1941
   126
                </executions>
jaroslav@1941
   127
                <configuration>
jaroslav@1941
   128
                    <type>zip</type>
jaroslav@1941
   129
                    <classifier>webpages</classifier>
jaroslav@1941
   130
                    <overWrite>true</overWrite>
jaroslav@1941
   131
                    <outputDirectory>target/web/pages</outputDirectory>
jaroslav@1941
   132
                    <includes>*/**</includes>
jaroslav@1941
   133
                </configuration>
jaroslav@1941
   134
            </plugin>
jaroslav@1941
   135
        </plugins>
jaroslav@1941
   136
    </build>
jaroslav@1941
   137
    <dependencies>
jaroslav@1941
   138
        <dependency>
jaroslav@1941
   139
            <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   140
            <artifactId>kosample</artifactId>
jaroslav@1941
   141
            <version>${project.version}</version>
jaroslav@1941
   142
            <exclusions>
jaroslav@1941
   143
                <exclusion>
jaroslav@1941
   144
                    <groupId>org.netbeans.html</groupId>
jaroslav@1941
   145
                    <artifactId>net.java.html.boot.fx</artifactId>
jaroslav@1941
   146
                </exclusion>
jaroslav@1941
   147
            </exclusions>
jaroslav@1941
   148
        </dependency>
jaroslav@1941
   149
        <dependency>
jaroslav@1941
   150
            <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   151
            <artifactId>emul</artifactId>
jaroslav@1941
   152
            <version>${bck2brwsr.version}</version>
jaroslav@1941
   153
            <classifier>rt</classifier>
jaroslav@1941
   154
        </dependency>
jaroslav@1941
   155
        <dependency>
jaroslav@1941
   156
            <groupId>org.netbeans.html</groupId>
jaroslav@1941
   157
            <artifactId>net.java.html.boot</artifactId>
jaroslav@1941
   158
            <version>${net.java.html.version}</version>
jaroslav@1941
   159
            <exclusions>
jaroslav@1941
   160
                <exclusion>
jaroslav@1941
   161
                    <artifactId>asm</artifactId>
jaroslav@1941
   162
                    <groupId>org.ow2.asm</groupId>
jaroslav@1941
   163
                </exclusion>
jaroslav@1941
   164
            </exclusions>
jaroslav@1941
   165
        </dependency>
jaroslav@1941
   166
        <dependency>
jaroslav@1941
   167
            <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   168
            <artifactId>emul</artifactId>
jaroslav@1941
   169
            <version>${bck2brwsr.version}</version>
jaroslav@1941
   170
            <classifier>bck2brwsr</classifier>
jaroslav@1941
   171
            <scope>provided</scope>
jaroslav@1941
   172
        </dependency>
jaroslav@1941
   173
        <dependency>
jaroslav@1941
   174
            <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   175
            <artifactId>ko-bck2brwsr</artifactId>
jaroslav@1941
   176
            <version>${bck2brwsr.version}</version>
jaroslav@1941
   177
            <classifier>bck2brwsr</classifier>
jaroslav@1941
   178
            <scope>provided</scope>
jaroslav@1941
   179
        </dependency>
jaroslav@1941
   180
        <dependency>
jaroslav@1941
   181
            <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   182
            <artifactId>kosample-js</artifactId>
jaroslav@1941
   183
            <version>${project.version}</version>
jaroslav@1941
   184
            <classifier>bck2brwsr</classifier>
jaroslav@1941
   185
            <scope>provided</scope>
jaroslav@1941
   186
            <type>jar</type>
jaroslav@1941
   187
        </dependency>
jaroslav@1941
   188
    </dependencies>
jaroslav@1941
   189
    <profiles>
jaroslav@1941
   190
        <profile>
jaroslav@1941
   191
            <id>teavm</id>
jaroslav@1941
   192
            <properties>
jaroslav@1941
   193
                <teavm.version>0.4.0</teavm.version>
jaroslav@1941
   194
                <teavm.debug>false</teavm.debug>
jaroslav@1941
   195
                <browser.bootstrap>initialize TeaVM --&gt;
jaroslav@1941
   196
&lt;script type="text/javascript" src="teavm.js"&gt;&lt;/script&gt;
jaroslav@1941
   197
&lt;script&gt;
jaroslav@1941
   198
    main();
jaroslav@1941
   199
&lt;/script&gt;
jaroslav@1941
   200
&lt;!-- end of initialization </browser.bootstrap>
jaroslav@1941
   201
            </properties>
jaroslav@1941
   202
            <dependencies>
jaroslav@1941
   203
                <!-- needs special compile time dep otherwise TeaVM ignores the JAR -->
jaroslav@1941
   204
                <dependency>
jaroslav@1941
   205
                    <groupId>org.netbeans.html</groupId>
jaroslav@1941
   206
                    <artifactId>ko4j</artifactId>
jaroslav@1941
   207
                    <version>${net.java.html.version}</version>
jaroslav@1941
   208
                </dependency>
jaroslav@1941
   209
            </dependencies>
jaroslav@1941
   210
            <build>
jaroslav@1941
   211
                <plugins>
jaroslav@1941
   212
                    <plugin>
jaroslav@1941
   213
                        <groupId>org.teavm</groupId>
jaroslav@1941
   214
                        <artifactId>teavm-maven-plugin</artifactId>
jaroslav@1941
   215
                        <version>${teavm.version}</version>
jaroslav@1941
   216
                        <dependencies>
jaroslav@1941
   217
                            <dependency>
jaroslav@1941
   218
                                <groupId>org.teavm</groupId>
jaroslav@1941
   219
                                <artifactId>teavm-classlib</artifactId>
jaroslav@1941
   220
                                <version>${teavm.version}</version>
jaroslav@1941
   221
                            </dependency>
jaroslav@1941
   222
                            <!-- This module adds html4j support. It mainly includes JavaScriptBuilder support.
jaroslav@1941
   223
                            Also there are some little patches to JCL emulation, that are required to pass TCK -->
jaroslav@1941
   224
                            <dependency>
jaroslav@1941
   225
                                <groupId>org.teavm</groupId>
jaroslav@1941
   226
                                <artifactId>teavm-html4j</artifactId>
jaroslav@1941
   227
                                <version>${teavm.version}</version>
jaroslav@1941
   228
                            </dependency>
jaroslav@1941
   229
                        </dependencies>
jaroslav@1941
   230
                        <executions>
jaroslav@1941
   231
                            <execution>
jaroslav@1941
   232
                                <id>generate-teavm</id>
jaroslav@1941
   233
                                <goals>
jaroslav@1941
   234
                                    <goal>compile</goal>
jaroslav@1941
   235
                                </goals>
jaroslav@1941
   236
                                <phase>process-classes</phase>
jaroslav@1941
   237
                                <configuration>
jaroslav@1941
   238
                                    <mainClass>${project.mainclass}</mainClass>
jaroslav@1941
   239
                                    <debugInformationGenerated>${teavm.debug}</debugInformationGenerated>
jaroslav@1941
   240
                                    <sourceMapsGenerated>${teavm.debug}</sourceMapsGenerated>
jaroslav@1941
   241
                                    <sourceFilesCopied>${teavm.debug}</sourceFilesCopied>
jaroslav@1941
   242
                                    <!-- Whether we want TeaVM to minify (obfuscate) the generated JavaScript -->
jaroslav@1941
   243
                                    <minifying>false</minifying>
jaroslav@1941
   244
                                    <!-- Don't include main page - we created it by ourselves -->
jaroslav@1941
   245
                                    <mainPageIncluded>false</mainPageIncluded>
jaroslav@1941
   246
                                    <!-- Merge runtime.js instead of putting as a separate file -->
jaroslav@1941
   247
                                    <runtime>MERGED</runtime>
jaroslav@1941
   248
                                    <!-- Name of the generated file -->
jaroslav@1941
   249
                                    <targetFileName>teavm.js</targetFileName>
jaroslav@1941
   250
                                    <targetDirectory>${project.build.directory}/teavm</targetDirectory>
jaroslav@1941
   251
                                    <!-- This transformer adds null checks before virtual calls. It is not included
jaroslav@1941
   252
                                    by default as we don't always need these null checks
jaroslav@1941
   253
                                    <transformers>
jaroslav@1941
   254
                                        <param>org.teavm.javascript.NullPointerExceptionTransformer</param>
jaroslav@1941
   255
                                    </transformers>
jaroslav@1941
   256
                                    -->
jaroslav@1941
   257
                                </configuration>
jaroslav@1941
   258
                            </execution>
jaroslav@1941
   259
                        </executions>
jaroslav@1941
   260
                    </plugin>
jaroslav@1941
   261
                    <plugin>
jaroslav@1941
   262
                        <artifactId>maven-assembly-plugin</artifactId>
jaroslav@1941
   263
                        <version>2.4</version>
jaroslav@1941
   264
                        <executions>
jaroslav@1941
   265
                            <execution>
jaroslav@1941
   266
                                <id>distro-assembly</id>
jaroslav@1941
   267
                                <phase>package</phase>
jaroslav@1941
   268
                                <goals>
jaroslav@1941
   269
                                    <goal>single</goal>
jaroslav@1941
   270
                                </goals>
jaroslav@1941
   271
                                <configuration>
jaroslav@1941
   272
                                    <descriptors>
jaroslav@1941
   273
                                        <descriptor>src/main/assembly/teavm.xml</descriptor>
jaroslav@1941
   274
                                    </descriptors>
jaroslav@1941
   275
                                </configuration>
jaroslav@1941
   276
                            </execution>
jaroslav@1941
   277
                        </executions>
jaroslav@1941
   278
                    </plugin>
jaroslav@1941
   279
                    <plugin>
jaroslav@1941
   280
                        <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1941
   281
                        <artifactId>bck2brwsr-maven-plugin</artifactId>
jaroslav@1941
   282
                        <version>${bck2brwsr.version}</version>
jaroslav@1941
   283
                        <executions>
jaroslav@1941
   284
                            <execution>
jaroslav@1941
   285
                                <goals>
jaroslav@1941
   286
                                    <goal>brwsr</goal>
jaroslav@1941
   287
                                </goals>
jaroslav@1941
   288
                            </execution>
jaroslav@1941
   289
                        </executions>
jaroslav@1941
   290
                        <configuration>
jaroslav@1941
   291
                            <directory>${project.build.directory}/${project.build.finalName}-teavm/public_html/</directory>
jaroslav@1941
   292
                            <startpage>index.html</startpage>
jaroslav@1941
   293
                        </configuration>
jaroslav@1941
   294
                    </plugin>
jaroslav@1941
   295
                </plugins>
jaroslav@1941
   296
            </build>
jaroslav@1941
   297
        </profile>
jaroslav@1947
   298
        <profile>
jaroslav@1947
   299
            <id>test-run</id>
jaroslav@1947
   300
            <activation>
jaroslav@1947
   301
                <property>
jaroslav@1947
   302
                    <name>!skipTests</name>
jaroslav@1947
   303
                </property>
jaroslav@1947
   304
            </activation>
jaroslav@1947
   305
            <build>
jaroslav@1947
   306
                <plugins>
jaroslav@1947
   307
                    <plugin>
jaroslav@1947
   308
                        <groupId>org.apidesign.bck2brwsr</groupId>
jaroslav@1947
   309
                        <artifactId>bck2brwsr-maven-plugin</artifactId>
jaroslav@1947
   310
                        <version>${project.version}</version>
jaroslav@1947
   311
                        <executions>
jaroslav@1947
   312
                            <execution>
jaroslav@1947
   313
                                <id>show</id>
jaroslav@1947
   314
                                <goals>
jaroslav@1947
   315
                                    <goal>show</goal>
jaroslav@1947
   316
                                </goals>
jaroslav@1947
   317
                                <phase>integration-test</phase>
jaroslav@1947
   318
                            </execution>
jaroslav@1947
   319
                        </executions>
jaroslav@1947
   320
                    </plugin>
jaroslav@1947
   321
                </plugins>
jaroslav@1947
   322
            </build>
jaroslav@1947
   323
        </profile>
jaroslav@1941
   324
    </profiles>
jaroslav@1941
   325
</project>