Loading 'Class-Path' attributes of scripts relatively to location of the script that is referencing them
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 26 Dec 2015 08:51:01 +0100
changeset 1852805b62b77f91
parent 1851 c78122e85b31
child 1853 42c6e5a05360
Loading 'Class-Path' attributes of scripts relatively to location of the script that is referencing them
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
rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java
     1.1 --- a/javaquery/demo-calculator/pom.xml	Sat Dec 26 08:23:24 2015 +0100
     1.2 +++ b/javaquery/demo-calculator/pom.xml	Sat Dec 26 08:51:01 2015 +0100
     1.3 @@ -32,8 +32,14 @@
     1.4                      <execution>
     1.5                          <goals>
     1.6                              <goal>aot</goal>
     1.7 +                        </goals>
     1.8 +                    </execution>
     1.9 +                    <execution>
    1.10 +                        <id>show</id>
    1.11 +                        <goals>
    1.12                              <goal>show</goal>
    1.13                          </goals>
    1.14 +                        <phase>integration-test</phase>
    1.15                      </execution>
    1.16                  </executions>
    1.17                  <configuration>
     2.1 --- a/javaquery/demo-calculator/src/main/assembly/bck2brwsr.xml	Sat Dec 26 08:23:24 2015 +0100
     2.2 +++ b/javaquery/demo-calculator/src/main/assembly/bck2brwsr.xml	Sat Dec 26 08:51:01 2015 +0100
     2.3 @@ -30,7 +30,14 @@
     2.4    <fileSets>
     2.5        <fileSet>
     2.6            <directory>${project.build.directory}</directory>
     2.7 -          <outputDirectory>/</outputDirectory>
     2.8 +          <outputDirectory>/vm/</outputDirectory>
     2.9 +          <includes>
    2.10 +              <include>bck2brwsr.js</include>
    2.11 +          </includes>
    2.12 +      </fileSet>
    2.13 +      <fileSet>
    2.14 +          <directory>${project.build.directory}</directory>
    2.15 +          <outputDirectory>/app/</outputDirectory>
    2.16            <includes>
    2.17                <include>bck2brwsr.js</include>
    2.18                <include>calculator.js</include>
     3.1 --- a/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml	Sat Dec 26 08:23:24 2015 +0100
     3.2 +++ b/javaquery/demo-calculator/src/main/resources/org/apidesign/bck2brwsr/demo/calc/staticcompilation/Calculator.xhtml	Sat Dec 26 08:51:01 2015 +0100
     3.3 @@ -89,9 +89,9 @@
     3.4          </ul>
     3.5          
     3.6          <div data-bind="text: displayPreview"></div>
     3.7 -        <script src="bck2brwsr.js"></script>
     3.8 +        <script src="vm/bck2brwsr.js"></script>
     3.9          <script>
    3.10 -            var vm = bck2brwsr('calculator.js');
    3.11 +            var vm = bck2brwsr('app/calculator.js');
    3.12              var c = vm.loadClass('org.apidesign.bck2brwsr.demo.calc.staticcompilation.Calc');
    3.13              c.invoke('main');
    3.14          </script>
     4.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Sat Dec 26 08:23:24 2015 +0100
     4.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Sat Dec 26 08:51:01 2015 +0100
     4.3 @@ -655,10 +655,12 @@
     4.4                  + "      console.log('Will not register: ' + extension);\n"
     4.5                  + "      return false;\n"
     4.6                  + "    }\n"
     4.7 +                + "    var cs = document['currentScript'];\n"
     4.8 +                + "    var prefix = cs ? cs['src']['replace'](/\\/[^\\/]*$/,'/') : '';\n"
     4.9                  + "    extensions.push(extension);\n"
    4.10                  + "    var cp = config['classpath'];\n"
    4.11                  + "    if (cp) for (var i = 0; i < cp.length; i++) {\n"
    4.12 -                + "      loadExtension(cp[i]);\n"
    4.13 +                + "      loadExtension(prefix + cp[i]);\n"
    4.14                  + "    }\n"
    4.15                  + "    return null;\n"
    4.16                  + "  };\n");