Rewriting to Ahead-Of-Time compilation
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 09 Jun 2014 12:39:34 +0200
changeset 160be13d9823456
parent 159 1b667288ba9c
child 161 0ab3f9d7552d
Rewriting to Ahead-Of-Time compilation
minesweeper/nbactions-bck2brwsr.xml
minesweeper/pom.xml
minesweeper/src/main/assembly/bck2brwsr.xml
minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java
minesweeper/src/main/webapp/pages/index.html
     1.1 --- a/minesweeper/nbactions-bck2brwsr.xml	Sun Jun 08 09:22:48 2014 +0200
     1.2 +++ b/minesweeper/nbactions-bck2brwsr.xml	Mon Jun 09 12:39:34 2014 +0200
     1.3 @@ -29,7 +29,7 @@
     1.4          <actionName>run</actionName>
     1.5          <goals>
     1.6              <goal>package</goal>
     1.7 -            <goal>bck2brwsr:brwsr</goal>
     1.8 +            <goal>bck2brwsr:show</goal>
     1.9          </goals>
    1.10          <properties>
    1.11              <skipTests>true</skipTests>
     2.1 --- a/minesweeper/pom.xml	Sun Jun 08 09:22:48 2014 +0200
     2.2 +++ b/minesweeper/pom.xml	Mon Jun 09 12:39:34 2014 +0200
     2.3 @@ -24,9 +24,9 @@
     2.4    <url>http://html.java.net/</url>
     2.5    <properties>
     2.6      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     2.7 -    <brwsr.startpage>pages/index.html</brwsr.startpage>
     2.8      <project.mainclass>org.apidesign.demo.minesweeper.Main</project.mainclass>
     2.9      <netbeans.compile.on.save>none</netbeans.compile.on.save>
    2.10 +    <bck2brwsr.obfuscationlevel>FULL</bck2brwsr.obfuscationlevel>
    2.11    </properties>
    2.12    <build>
    2.13        <plugins>
    2.14 @@ -163,8 +163,8 @@
    2.15            <id>bck2brwsr</id>
    2.16            <activation>
    2.17                <property>
    2.18 -                  <name>brwsr</name>
    2.19                    <value>bck2brwsr</value>
    2.20 +                  <name>show</name>
    2.21                </property>
    2.22            </activation>
    2.23            <build>
    2.24 @@ -191,12 +191,19 @@
    2.25                            <execution>
    2.26                                <goals>
    2.27                                    <goal>brwsr</goal>
    2.28 +                                  <goal>aot</goal>
    2.29                                </goals>
    2.30                            </execution>
    2.31                        </executions>
    2.32                        <configuration>
    2.33 -                          <directory>${basedir}/src/main/webapp/</directory>
    2.34 -                          <startpage>${brwsr.startpage}</startpage>
    2.35 +                          <obfuscation>${bck2brwsr.obfuscationlevel}</obfuscation>
    2.36 +                          <directory>${project.build.directory}/${project.build.finalName}-bck2brwsr/public_html/</directory>
    2.37 +                          <startpage>index.html</startpage>
    2.38 +                          <classPathPrefix>lib</classPathPrefix>
    2.39 +                          <mainJavaScript>${project.build.directory}/minesweeper.js</mainJavaScript>
    2.40 +                          <exports>
    2.41 +                              <export>org.apidesign.demo.minesweeper.MinesModel</export>
    2.42 +                          </exports>
    2.43                        </configuration>
    2.44                    </plugin>
    2.45                    <plugin>
    2.46 @@ -236,6 +243,17 @@
    2.47                    <classifier>rt</classifier>
    2.48                </dependency>
    2.49                <dependency>
    2.50 +                  <groupId>org.netbeans.html</groupId>
    2.51 +                  <artifactId>net.java.html.boot</artifactId>
    2.52 +                  <version>${net.java.html.version}</version>
    2.53 +                  <exclusions>
    2.54 +                      <exclusion>
    2.55 +                          <artifactId>asm</artifactId>
    2.56 +                          <groupId>org.ow2.asm</groupId>
    2.57 +                      </exclusion>
    2.58 +                  </exclusions>
    2.59 +              </dependency>
    2.60 +              <dependency>
    2.61                    <groupId>org.apidesign.bck2brwsr</groupId>
    2.62                    <artifactId>ko-bck2brwsr</artifactId>
    2.63                    <version>${bck2brwsr.version}</version>
     3.1 --- a/minesweeper/src/main/assembly/bck2brwsr.xml	Sun Jun 08 09:22:48 2014 +0200
     3.2 +++ b/minesweeper/src/main/assembly/bck2brwsr.xml	Mon Jun 09 12:39:34 2014 +0200
     3.3 @@ -30,39 +30,23 @@
     3.4    <id>bck2brwsr</id>
     3.5    <formats>
     3.6        <format>zip</format>
     3.7 +      <format>dir</format>
     3.8    </formats>
     3.9    <baseDirectory>public_html</baseDirectory>
    3.10 -  <dependencySets>
    3.11 -    <dependencySet>
    3.12 -        <useProjectArtifact>false</useProjectArtifact>
    3.13 -        <scope>runtime</scope>
    3.14 -        <outputDirectory>lib</outputDirectory>
    3.15 -        <includes>
    3.16 -            <include>*:jar</include>
    3.17 -            <include>*:rt</include>
    3.18 -        </includes>
    3.19 -    </dependencySet>
    3.20 -    <dependencySet>
    3.21 -        <useProjectArtifact>false</useProjectArtifact>
    3.22 -        <scope>provided</scope>
    3.23 -        <includes>
    3.24 -            <include>*:js</include>
    3.25 -        </includes>
    3.26 -        <unpack>true</unpack>
    3.27 -        <outputDirectory>/</outputDirectory>
    3.28 -    </dependencySet>
    3.29 -  </dependencySets> 
    3.30    <fileSets>
    3.31        <fileSet>
    3.32            <directory>src/main/webapp/pages</directory>
    3.33            <outputDirectory>/</outputDirectory>
    3.34            <filtered>true</filtered>
    3.35        </fileSet>
    3.36 +        <fileSet>
    3.37 +            <directory>${project.build.directory}</directory>
    3.38 +            <outputDirectory>/</outputDirectory>
    3.39 +            <includes>
    3.40 +                <include>bck2brwsr.js</include>
    3.41 +                <include>minesweeper.js</include>
    3.42 +                <include>lib/*.js</include>
    3.43 +            </includes>
    3.44 +        </fileSet>
    3.45    </fileSets>
    3.46 -  <files>
    3.47 -    <file>
    3.48 -      <source>${project.build.directory}/${project.build.finalName}.jar</source>
    3.49 -      <outputDirectory>/</outputDirectory>
    3.50 -    </file>
    3.51 -  </files>
    3.52  </assembly>
     4.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java	Sun Jun 08 09:22:48 2014 +0200
     4.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java	Mon Jun 09 12:39:34 2014 +0200
     4.3 @@ -23,11 +23,6 @@
     4.4   */
     4.5  package org.apidesign.demo.minesweeper;
     4.6  
     4.7 -import java.io.File;
     4.8 -import java.net.URL;
     4.9 -import java.util.logging.ConsoleHandler;
    4.10 -import java.util.logging.Level;
    4.11 -import java.util.logging.Logger;
    4.12  import net.java.html.boot.BrowserBuilder;
    4.13  import org.netbeans.api.nbrwsr.OpenHTMLRegistration;
    4.14  import org.openide.awt.ActionID;
     5.1 --- a/minesweeper/src/main/webapp/pages/index.html	Sun Jun 08 09:22:48 2014 +0200
     5.2 +++ b/minesweeper/src/main/webapp/pages/index.html	Mon Jun 09 12:39:34 2014 +0200
     5.3 @@ -150,8 +150,9 @@
     5.4          <!-- boot bck2brwsr -->
     5.5          <script type="text/javascript" src="bck2brwsr.js"></script>
     5.6          <script>
     5.7 -            var vm = bck2brwsr('${project.build.finalName}.jar');
     5.8 -            vm.loadClass('org.apidesign.demo.minesweeper.MainBrwsr');
     5.9 +            var vm = bck2brwsr('minesweeper.js');
    5.10 +            var c = vm.loadClass('org.apidesign.demo.minesweeper.MinesModel');
    5.11 +            c.invoke('main');
    5.12          </script>
    5.13  
    5.14      </body>