Running inside OSGi container nicely reveals what packages need to be public...
1.1 --- a/boot/pom.xml Mon Nov 04 13:03:58 2013 +0100
1.2 +++ b/boot/pom.xml Tue Nov 05 09:04:29 2013 +0100
1.3 @@ -14,7 +14,7 @@
1.4 <url>http://maven.apache.org</url>
1.5 <properties>
1.6 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1.7 - <publicPackages>net.java.html.js,net.java.html.boot</publicPackages>
1.8 + <publicPackages>net.java.html.js,net.java.html.boot,org.apidesign.html.boot.spi</publicPackages>
1.9 </properties>
1.10 <build>
1.11 <plugins>
2.1 --- a/boot/src/main/java/org/apidesign/html/boot/spi/Fn.java Mon Nov 04 13:03:58 2013 +0100
2.2 +++ b/boot/src/main/java/org/apidesign/html/boot/spi/Fn.java Tue Nov 05 09:04:29 2013 +0100
2.3 @@ -23,7 +23,6 @@
2.4 import java.io.Reader;
2.5 import java.net.URL;
2.6 import org.apidesign.html.boot.impl.FnContext;
2.7 -import org.apidesign.html.boot.impl.FnUtils;
2.8
2.9 /** Represents single JavaScript function that can be invoked.
2.10 * Created via {@link Presenter#defineFn(java.lang.String, java.lang.String...)}.
2.11 @@ -73,6 +72,9 @@
2.12 public abstract Object invoke(Object thiz, Object... args) throws Exception;
2.13
2.14 /** The representation of a <em>presenter</em> - usually a browser window.
2.15 + * Should be provided by a library included in the application and registered
2.16 + * in <code>META-INF/services</code>, for example with
2.17 + * <code>@ServiceProvider(service = Fn.Presenter.class)</code> annotation.
2.18 */
2.19 public interface Presenter {
2.20 /** Creates new function with given parameter names and provided body.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/boot/src/main/java/org/apidesign/html/boot/spi/package.html Tue Nov 05 09:04:29 2013 +0100
3.3 @@ -0,0 +1,28 @@
3.4 +<!--
3.5 +
3.6 + HTML via Java(tm) Language Bindings
3.7 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
3.8 +
3.9 + This program is free software: you can redistribute it and/or modify
3.10 + it under the terms of the GNU General Public License as published by
3.11 + the Free Software Foundation, version 2 of the License.
3.12 +
3.13 + This program is distributed in the hope that it will be useful,
3.14 + but WITHOUT ANY WARRANTY; without even the implied warranty of
3.15 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3.16 + GNU General Public License for more details. apidesign.org
3.17 + designates this particular file as subject to the
3.18 + "Classpath" exception as provided by apidesign.org
3.19 + in the License file that accompanied this code.
3.20 +
3.21 + You should have received a copy of the GNU General Public License
3.22 + along with this program. Look for COPYING file in the top folder.
3.23 + If not, see http://wiki.apidesign.org/wiki/GPLwithClassPathException
3.24 +
3.25 +-->
3.26 +<!DOCTYPE html>
3.27 +<html>
3.28 + <body>
3.29 + <div>Interfaces for integrators of various execution environments.</div>
3.30 + </body>
3.31 +</html>