Using assembly plugin to create deployment layout of the 'static' calculator demo emul
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 30 Jan 2013 17:36:45 +0100
branchemul
changeset 6124bc57543ab71
parent 611 9839e9a75bcf
child 613 a4a06840209a
Using assembly plugin to create deployment layout of the 'static' calculator demo
javaquery/demo-calculator/pom.xml
javaquery/demo-calculator/src/main/assembly/bck2brwsr.xml
javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml
     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"> &amp; </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">&lt;jaroslav.tulach@apidesign.org&gt;</span>
    3.21 -     <span class="comment">*/</span>
    3.22 -    @Page(xhtml=<span class="string">&quot;</span><span class="string">Calculator.xhtml</span><span class="string">&quot;</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">&quot;</span><span class="string">clear</span><span class="string">&quot;</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">&quot;</span><span class="string">0</span><span class="string">&quot;</span>);
    3.32 -        }
    3.33 -
    3.34 -        @OnClick(id= { <span class="string">&quot;</span><span class="string">plus</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">minus</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">mul</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">div</span><span class="string">&quot;</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">&quot;</span><span class="string">0</span><span class="string">&quot;</span>);
    3.39 -        }
    3.40 -
    3.41 -        @OnClick(id=<span class="string">&quot;</span><span class="string">result</span><span class="string">&quot;</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">&quot;</span><span class="string">plus</span><span class="string">&quot;</span>: setValue(memory + getValue()); <span class="keyword-directive">break</span>;
    3.45 -                <span class="keyword-directive">case</span> <span class="string">&quot;</span><span class="string">minus</span><span class="string">&quot;</span>: setValue(memory - getValue()); <span class="keyword-directive">break</span>;
    3.46 -                <span class="keyword-directive">case</span> <span class="string">&quot;</span><span class="string">mul</span><span class="string">&quot;</span>: setValue(memory * getValue()); <span class="keyword-directive">break</span>;
    3.47 -                <span class="keyword-directive">case</span> <span class="string">&quot;</span><span class="string">div</span><span class="string">&quot;</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">&quot;</span><span class="string">n0</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n1</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n2</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n3</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n4</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n5</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n6</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n7</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n8</span><span class="string">&quot;</span>, <span class="string">&quot;</span><span class="string">n9</span><span class="string">&quot;</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">&quot;</span><span class="string">err</span><span class="string">&quot;</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>