Only build one jar which runs stand alone and as a plugin.
diff --git a/build.xml b/build.xml --- a/build.xml +++ b/build.xml @@ -11,7 +11,7 @@ <delete dir="${classes}"/> </target> - <!--Build external dependencies from source, but keep them separate. --> + <!-- Build external dependencies from source, but keep them separate. --> <target name="compile.alien.src"> <mkdir dir="${classes}"/> <javac srcdir="${alien.src}" destdir="${classes}" debug="true"> @@ -19,7 +19,8 @@ </javac> </target> - <target name="check.for.freenet.jar"> + <target name="compile" depends="compile.alien.src"> + <mkdir dir="${classes}"/> <mkdir dir="${alien.libs}"/> <fail message="No freenet.jar! Copy freenet.jar into: ${alien.libs}"> <condition> @@ -30,10 +31,6 @@ </not> </condition> </fail> - </target> - - <target name="compile" depends="check.for.freenet.jar, compile.alien.src"> - <mkdir dir="${classes}"/> <javac srcdir="${src}" destdir="${classes}" debug="true"> <compilerarg line="-encoding utf8"/> <classpath> @@ -42,32 +39,13 @@ </javac> </target> - <target name="compile.plugin.src" depends="check.for.freenet.jar, compile"> - <mkdir dir="${classes}"/> - <javac srcdir="${plugin.src}" destdir="${classes}" debug="true"> - <compilerarg line="-encoding utf8"/> - <classpath> - <pathelement location="${alien.libs}/freenet.jar"/> - </classpath> - </javac> - </target> - + <!-- jfniki.jar contains both standalone and plugin code too. --> <target name="jar" depends="compile"> <mkdir dir="${jars}"/> <jar destfile="${jars}/jfniki.jar" basedir="${classes}"> <manifest> <attribute name="Main-Class" value="fniki.standalone.ServeHttp"/> - </manifest> - </jar> - </target> - - <!-- jfniki-plugin.jar contains all the standalone code too. --> - <target name="plugin" depends="compile.plugin.src"> - <mkdir dir="${jars}"/> - <jar destfile="${jars}/jfniki-plugin.jar" basedir="${classes}"> - <manifest> - <attribute name="Main-Class" value="fniki.standalone.ServeHttp"/> - <attribute name="Plugin-Main-Class" value="fniki.plugin.Fniki"/> + <attribute name="Plugin-Main-Class" value="fniki.freenet.plugin.Fniki"/> </manifest> </jar> </target> diff --git a/readme.txt b/readme.txt --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -20110122 +20110126 djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks WARNING: @@ -30,9 +30,14 @@ Edit the script/jfniki.sh to set PRIVATE Look at http://127.0.0.1:8083 with your web browser. BUILD FREENET PLUGIN: +The plugin code is included in the jfniki.jar but there is no UI for configuration yet, +so you have to edit the source code and recompile. + Manually edit plugin/src/fniki/plugin/Fniki.java to include your FMS_ID and PRIVATE_FMS_SSK. -ant plugin -load the jar file from ./build/jar/jfniki-plugin.jar +ant jar +load the jar file from ./build/jar/jfniki.jar - +KNOWN ISSUES: +o Pages don't auto-refresh. You need to manually reload to see status changes. + [Freenet ContentFilter is eating meta-refresh???] diff --git a/script/jfniki.sh b/script/jfniki.sh --- a/script/jfniki.sh +++ b/script/jfniki.sh @@ -1,8 +1,8 @@ #!/usr/bin/env sh # TIP: -# You should be able to copy this script anywhere you want and make a symlink -# to the jfniki.jar file in your build directory, in the directory you copy it to. +# You should be able to copy this script anywhere you want. Just make symlinks +# to the jfniki.jar and freenet.jar files in the same directory. # TIP: # Look in the XML file generate by FMS when you export and identity on diff --git a/src/fniki/freenet/filter/ContentFilterFactory.java b/src/fniki/freenet/filter/ContentFilterFactory.java --- a/src/fniki/freenet/filter/ContentFilterFactory.java +++ b/src/fniki/freenet/filter/ContentFilterFactory.java @@ -26,7 +26,7 @@ package fniki.freenet.filter; import fniki.wiki.ContentFilter; -// Keep Freenet gook out of my code. +// Keep explicit Freenet dependencies out of my code. public class ContentFilterFactory { public static ContentFilter create(String containerPrefix, String fproxyPrefix) { return new WikiContentFilter(containerPrefix, fproxyPrefix); diff --git a/plugin/src/fniki/plugin/Fniki.java b/src/fniki/freenet/plugin/Fniki.java rename from plugin/src/fniki/plugin/Fniki.java rename to src/fniki/freenet/plugin/Fniki.java --- a/plugin/src/fniki/plugin/Fniki.java +++ b/src/fniki/freenet/plugin/Fniki.java @@ -22,7 +22,7 @@ * "fniki" (a wiki implementation running over Freenet). */ -package fniki.plugin; +package fniki.freenet.plugin; import java.io.IOException; import java.io.UnsupportedEncodingException; diff --git a/src/fniki/wiki/WikiApp.java b/src/fniki/wiki/WikiApp.java --- a/src/fniki/wiki/WikiApp.java +++ b/src/fniki/wiki/WikiApp.java @@ -380,7 +380,7 @@ public class WikiApp implements ChildCon } // NO trailing slash. - private static String containerPrefix() { return "/plugins/fniki.plugin.Fniki"; } + private static String containerPrefix() { return "/plugins/fniki.freenet.plugin.Fniki"; } //////////////////////////////////////////////////////////// // Wiki context implementations. diff --git a/src/fniki/wiki/child/WikiContainer.java b/src/fniki/wiki/child/WikiContainer.java --- a/src/fniki/wiki/child/WikiContainer.java +++ b/src/fniki/wiki/child/WikiContainer.java @@ -197,7 +197,7 @@ public class WikiContainer implements Ch buffer.append(makeLocalLink(context, "fniki/getversions", "confirm", "Discover")); buffer.append(" other recent version.<br>"); - + buffer.append("<a href=\"http://google.com\">Google</a>"); buffer.append("</body></html>"); }