site

(djk)
2011-01-26: Only build one jar which runs stand alone and as a plugin.

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>");
     }