Using assembly plugin to create deployment layout of the 'static' calculator demo
1.1 --- a/javaquery/demo-calculator/pom.xml Wed Jan 30 14:03:49 2013 +0100
1.2 +++ b/javaquery/demo-calculator/pom.xml Wed Jan 30 17:36:45 2013 +0100
1.3 @@ -42,7 +42,7 @@
1.4 <configuration>
1.5 <executable>xdg-open</executable>
1.6 <arguments>
1.7 - <argument>${project.build.directory}/classes/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml</argument>
1.8 + <argument>${project.build.directory}/${project.build.finalName}-bck2brwsr/public_html/index.xhtml</argument>
1.9 </arguments>
1.10 </configuration>
1.11 </plugin>
1.12 @@ -55,6 +55,24 @@
1.13 <target>1.7</target>
1.14 </configuration>
1.15 </plugin>
1.16 + <plugin>
1.17 + <artifactId>maven-assembly-plugin</artifactId>
1.18 + <version>2.4</version>
1.19 + <executions>
1.20 + <execution>
1.21 + <id>distro-assembly</id>
1.22 + <phase>package</phase>
1.23 + <goals>
1.24 + <goal>single</goal>
1.25 + </goals>
1.26 + <configuration>
1.27 + <descriptors>
1.28 + <descriptor>src/main/assembly/bck2brwsr.xml</descriptor>
1.29 + </descriptors>
1.30 + </configuration>
1.31 + </execution>
1.32 + </executions>
1.33 + </plugin>
1.34 </plugins>
1.35 </build>
1.36
1.37 @@ -63,6 +81,12 @@
1.38 <groupId>org.apidesign.bck2brwsr</groupId>
1.39 <artifactId>emul.mini</artifactId>
1.40 <version>0.3-SNAPSHOT</version>
1.41 + <exclusions>
1.42 + <exclusion>
1.43 + <artifactId>org-openide-util-lookup</artifactId>
1.44 + <groupId>org.netbeans.api</groupId>
1.45 + </exclusion>
1.46 + </exclusions>
1.47 </dependency>
1.48 <dependency>
1.49 <groupId>org.apidesign.bck2brwsr</groupId>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/javaquery/demo-calculator/src/main/assembly/bck2brwsr.xml Wed Jan 30 17:36:45 2013 +0100
2.3 @@ -0,0 +1,34 @@
2.4 +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2.5 + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
2.6 +
2.7 + <id>bck2brwsr</id>
2.8 + <formats>
2.9 + <format>zip</format>
2.10 + <format>dir</format>
2.11 + </formats>
2.12 + <baseDirectory>public_html</baseDirectory>
2.13 + <dependencySets>
2.14 + <dependencySet>
2.15 + <useProjectArtifact>false</useProjectArtifact>
2.16 + <scope>runtime</scope>
2.17 + <outputDirectory>lib</outputDirectory>
2.18 + </dependencySet>
2.19 + </dependencySets>
2.20 + <files>
2.21 + <file>
2.22 + <source>${project.build.directory}/${project.build.finalName}.jar</source>
2.23 + <outputDirectory>/</outputDirectory>
2.24 + </file>
2.25 + <file>
2.26 + <source>${project.build.directory}/classes/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml</source>
2.27 + <outputDirectory>/</outputDirectory>
2.28 + <destName>index.xhtml</destName>
2.29 + </file>
2.30 + <file>
2.31 + <source>${project.build.directory}/classes/org/apidesign/bck2brwsr/demo/calc/staticcompilation/bootjava.js</source>
2.32 + <outputDirectory>/</outputDirectory>
2.33 + <destName>bck2brwsr.js</destName>
2.34 + </file>
2.35 + </files>
2.36 +
2.37 +</assembly>
2.38 \ No newline at end of file
3.1 --- a/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml Wed Jan 30 14:03:49 2013 +0100
3.2 +++ b/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml Wed Jan 30 17:36:45 2013 +0100
3.3 @@ -77,78 +77,6 @@
3.4 </tbody>
3.5 </table>
3.6 <div data-bind="text: displayPreview"></div>
3.7 - <script src="bootjava.js"/>
3.8 -
3.9 - <hr/>
3.10 - <pre>
3.11 - <span class="keyword-directive">package</span> org.apidesign.bck2brwsr.mavenhtml;
3.12 -
3.13 - <span class="keyword-directive">import</span> org.apidesign.bck2brwsr.htmlpage.api.OnClick;
3.14 - <span class="keyword-directive">import</span> org.apidesign.bck2brwsr.htmlpage.api.Page;
3.15 -
3.16 - <span class="comment">/**</span> <span class="comment">HTML5</span><span class="comment"> & </span><span class="comment">Java</span> <span class="comment">demo</span> <span class="comment">showing</span> <span class="comment">the</span> <span class="comment">power</span> <span class="comment">of</span> <a href="http://wiki.apidesign.org/wiki/AnnotationProcessor">annotation processors</a>
3.17 - <span class="comment"> * </span><span class="comment">as</span> <span class="comment">well</span> <span class="comment">as</span> <span class="comment">other</span> <span class="comment">goodies</span><span class="comment">, including type-safe association between</span>
3.18 - <span class="comment"> * </span><span class="comment">an XHTML page and Java.</span>
3.19 - <span class="comment"> * </span>
3.20 - <span class="comment"> * </span><span class="ST1">@author</span> <span class="comment">Jaroslav</span> <span class="comment">Tulach</span> <span class="ST0"><jaroslav.tulach@apidesign.org></span>
3.21 - <span class="comment">*/</span>
3.22 - @Page(xhtml=<span class="string">"</span><span class="string">Calculator.xhtml</span><span class="string">"</span>)
3.23 - <span class="keyword-directive">public</span> <span class="keyword-directive">class</span> App {
3.24 - <span class="keyword-directive">private</span> <span class="keyword-directive">static</span> <span class="keyword-directive">double</span> memory;
3.25 - <span class="keyword-directive">private</span> <span class="keyword-directive">static</span> String operation;
3.26 -
3.27 - @OnClick(id=<span class="string">"</span><span class="string">clear</span><span class="string">"</span>)
3.28 - <span class="keyword-directive">static</span> <span class="keyword-directive">void</span> clear() {
3.29 - memory = <span class="number">0</span>;
3.30 - operation = <span class="keyword-directive">null</span>;
3.31 - Calculator.DISPLAY.setValue(<span class="string">"</span><span class="string">0</span><span class="string">"</span>);
3.32 - }
3.33 -
3.34 - @OnClick(id= { <span class="string">"</span><span class="string">plus</span><span class="string">"</span>, <span class="string">"</span><span class="string">minus</span><span class="string">"</span>, <span class="string">"</span><span class="string">mul</span><span class="string">"</span>, <span class="string">"</span><span class="string">div</span><span class="string">"</span> })
3.35 - <span class="keyword-directive">static</span> <span class="keyword-directive">void</span> applyOp(String op) {
3.36 - memory = getValue();
3.37 - operation = op;
3.38 - Calculator.DISPLAY.setValue(<span class="string">"</span><span class="string">0</span><span class="string">"</span>);
3.39 - }
3.40 -
3.41 - @OnClick(id=<span class="string">"</span><span class="string">result</span><span class="string">"</span>)
3.42 - <span class="keyword-directive">static</span> <span class="keyword-directive">void</span> computeTheValue() {
3.43 - <span class="keyword-directive">switch</span> (operation) {
3.44 - <span class="keyword-directive">case</span> <span class="string">"</span><span class="string">plus</span><span class="string">"</span>: setValue(memory + getValue()); <span class="keyword-directive">break</span>;
3.45 - <span class="keyword-directive">case</span> <span class="string">"</span><span class="string">minus</span><span class="string">"</span>: setValue(memory - getValue()); <span class="keyword-directive">break</span>;
3.46 - <span class="keyword-directive">case</span> <span class="string">"</span><span class="string">mul</span><span class="string">"</span>: setValue(memory * getValue()); <span class="keyword-directive">break</span>;
3.47 - <span class="keyword-directive">case</span> <span class="string">"</span><span class="string">div</span><span class="string">"</span>: setValue(memory / getValue()); <span class="keyword-directive">break</span>;
3.48 - <span class="keyword-directive">default</span>: <span class="keyword-directive">throw</span> <span class="keyword-directive">new</span> IllegalStateException(operation);
3.49 - }
3.50 - }
3.51 -
3.52 - @OnClick(id={<span class="string">"</span><span class="string">n0</span><span class="string">"</span>, <span class="string">"</span><span class="string">n1</span><span class="string">"</span>, <span class="string">"</span><span class="string">n2</span><span class="string">"</span>, <span class="string">"</span><span class="string">n3</span><span class="string">"</span>, <span class="string">"</span><span class="string">n4</span><span class="string">"</span>, <span class="string">"</span><span class="string">n5</span><span class="string">"</span>, <span class="string">"</span><span class="string">n6</span><span class="string">"</span>, <span class="string">"</span><span class="string">n7</span><span class="string">"</span>, <span class="string">"</span><span class="string">n8</span><span class="string">"</span>, <span class="string">"</span><span class="string">n9</span><span class="string">"</span>})
3.53 - <span class="keyword-directive">static</span> <span class="keyword-directive">void</span> addDigit(String digit) {
3.54 - digit = digit.substring(<span class="number">1</span>);
3.55 - String v = Calculator.DISPLAY.getValue();
3.56 - <span class="keyword-directive">if</span> (getValue() == <span class="number">0.0</span>) {
3.57 - Calculator.DISPLAY.setValue(digit);
3.58 - } <span class="keyword-directive">else</span> {
3.59 - Calculator.DISPLAY.setValue(v + digit);
3.60 - }
3.61 - }
3.62 -
3.63 - <span class="keyword-directive">private</span> <span class="keyword-directive">static</span> <span class="keyword-directive">void</span> setValue(<span class="keyword-directive">double</span> v) {
3.64 - StringBuilder sb = <span class="keyword-directive">new</span> StringBuilder();
3.65 - sb.append(v);
3.66 - Calculator.DISPLAY.setValue(sb.toString());
3.67 - }
3.68 -
3.69 - <span class="keyword-directive">private</span> <span class="keyword-directive">static</span> <span class="keyword-directive">double</span> getValue() {
3.70 - <span class="keyword-directive">try</span> {
3.71 - <span class="keyword-directive">return</span> Double.parseDouble(Calculator.DISPLAY.getValue());
3.72 - } <span class="keyword-directive">catch</span> (NumberFormatException ex) {
3.73 - Calculator.DISPLAY.setValue(<span class="string">"</span><span class="string">err</span><span class="string">"</span>);
3.74 - <span class="keyword-directive">return</span> <span class="number">0.0</span>;
3.75 - }
3.76 - }
3.77 - }
3.78 -
3.79 - </pre>
3.80 + <script src="bck2brwsr.js"/>
3.81 </body>
3.82 </html>