Changeset e27af37


Ignore:
Timestamp:
Jun 10, 2016 7:10:59 PM (4 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
bb8e0504
Parents:
63272d3
Message:

i2psnark standalone:

  • Cherry-pick fixes from psi's github i2psnark_rpc branch
  • Fix up Jetty XML file for Jetty 8
  • Start with JettyStart?
  • Add UrlLauncher? to launch browser
  • Move RunStandalone? to standalone/ directory
  • Fix up paths in CSS files during build
  • Force startup delay to 0 when in router context
  • Fix theme selection when not in router context
  • Adjust CSS and image paths when not in router context
  • Add hosts.txt so announces work
Files:
1 added
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/build.xml

    r63272d3 re27af37  
    5151                <!-- jsp-api.jar only present for debian builds -->
    5252                <pathelement location="../../jetty/jettylib/jsp-api.jar" />
     53                <!-- jetty-i2p.jar only for RunStandalone -->
     54                <pathelement location="../../jetty/jettylib/jetty-i2p.jar" />
     55                <!-- systray.jar only for RunStandalone -->
     56                <pathelement location="../../systray/java/build/systray.jar" />
    5357            </classpath>
    5458        </javac>
     
    7276        <!-- set if unset -->
    7377        <property name="workspace.changes.tr" value="" />
    74         <jar destfile="./build/i2psnark.jar" basedir="./build/obj" includes="**/*.class" excludes="**/web/* **/messages_*.class">
     78        <jar destfile="./build/i2psnark.jar" basedir="./build/obj" includes="**/*.class" excludes="**/web/* **/messages_*.class, **/standalone/*">
    7579            <manifest>
    7680                <attribute name="Main-Class" value="org.klomp.snark.CommandLine" />
     
    180184        </zip>
    181185    </target>
    182     <target name="standalone_prep" depends="war">
     186
     187    <!-- make a fat jar for standalone -->
     188    <target name="standalone_jar" depends="war">
     189      <jar destfile="build/i2psnark-standalone.jar">
     190        <fileset dir="build/obj" includes="**/standalone/*.class" />
     191        <zipfileset src="build/i2psnark.jar" />
     192        <zipfileset src="../../../core/java/build/i2p.jar" />
     193        <zipfileset src="../../jetty/jettylib/commons-logging.jar"  />
     194        <zipfileset src="../../jetty/jettylib/jasper-runtime.jar"  />
     195        <zipfileset src="../../jetty/jettylib/javax.servlet.jar" />
     196        <zipfileset src="../../jetty/jettylib/jetty-continuation.jar" />
     197        <zipfileset src="../../jetty/jettylib/jetty-deploy.jar" />
     198        <zipfileset src="../../jetty/jettylib/jetty-http.jar" />
     199        <zipfileset src="../../jetty/jettylib/jetty-i2p.jar" />
     200        <zipfileset src="../../jetty/jettylib/jetty-io.jar" />
     201        <zipfileset src="../../jetty/jettylib/jetty-security.jar"  />
     202        <zipfileset src="../../jetty/jettylib/jetty-servlet.jar" />
     203        <zipfileset src="../../jetty/jettylib/jetty-util.jar" />
     204        <zipfileset src="../../jetty/jettylib/jetty-webapp.jar" />
     205        <zipfileset src="../../jetty/jettylib/jetty-xml.jar" />
     206        <zipfileset src="../../jetty/jettylib/org.mortbay.jetty.jar"  />
     207        <zipfileset src="../../ministreaming/java/build/mstreaming.jar" />
     208        <zipfileset src="../../streaming/java/build/streaming.jar" />
     209        <zipfileset src="../../systray/java/build/systray.jar" />
     210        <manifest>
     211            <attribute name="Main-Class" value="org.klomp.snark.standalone.RunStandalone"/>
     212            <attribute name="Implementation-Version" value="${full.version}" />
     213            <attribute name="Built-By" value="${build.built-by}" />
     214            <attribute name="Build-Date" value="${build.timestamp}" />
     215            <attribute name="Base-Revision" value="${workspace.version}" />
     216            <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
     217        </manifest>
     218      </jar>
     219    </target>
     220
     221    <!-- add css, image, and js files for standalone snark to the war -->
     222    <target name="standalone_war" depends="war">
     223        <mkdir dir="build/standalone-resources/.resources/themes/snark" />
     224        <copy todir="build/standalone-resources/.resources/themes/snark" >
     225            <fileset dir="../../../installer/resources/themes/snark/" />
     226        </copy>
     227        <replace dir="build/standalone-resources/.resources/themes/snark"
     228            summary="true"
     229            token="url('/themes/"
     230            value="url('/i2psnark/.resources/themes/" >
     231            <include name="**/*.css" />
     232        </replace>
     233        <replace dir="build/standalone-resources/.resources/themes/snark"
     234            summary="true"
     235            token="url('../../console/images/"
     236            value="url('/i2psnark/.resources/themes/snark/ubergine/images/" >
     237            <include name="**/*.css" />
     238        </replace>
     239        <replace dir="build/standalone-resources/.resources/themes/snark"
     240            summary="true"
     241            token="url('../../console/dark/images/"
     242            value="url('/i2psnark/.resources/themes/snark/ubergine/images/" >
     243            <include name="**/*.css" />
     244        </replace>
     245        <replace dir="build/standalone-resources/.resources/themes/snark"
     246            summary="true"
     247            token="url(&quot;../../console/light/images/"
     248            value="url(&quot;/i2psnark/.resources/themes/snark/ubergine/images/" >
     249            <include name="**/*.css" />
     250        </replace>
     251        <replace dir="build/standalone-resources/.resources/themes/snark"
     252            summary="true"
     253            token="url('images/"
     254            value="url('/i2psnark/.resources/themes/snark/ubergine/images/" >
     255            <include name="**/*.css" />
     256        </replace>
     257        <copy todir="build/standalone-resources/.resources/themes/snark/ubergine/images" >
     258            <!-- we really don't need all of these -->
     259            <fileset dir="../../../installer/resources/themes/console/images/" />
     260        </copy>
     261        <copy file="../../../installer/resources/themes/console/dark/images/transparent.gif"
     262              todir="build/standalone-resources/.resources/themes/snark/ubergine/images" />
     263        <copy file="../../../installer/resources/themes/console/dark/images/header.png"
     264              todir="build/standalone-resources/.resources/themes/snark/ubergine/images" />
     265        <mkdir dir="build/standalone-resources/.resources/js" />
     266        <copy file="../../routerconsole/jsp/js/ajax.js" todir="build/standalone-resources/.resources/js" />
     267        <zip destfile="../i2psnark.war" update="true" duplicate="preserve" >
     268            <fileset dir="build/standalone-resources" />
     269        </zip>
     270    </target>
     271   
     272    <target name="standalone_prep" depends="standalone_jar, standalone_war">
    183273        <delete dir="./dist" />
    184274        <mkdir dir="./dist" />
    185275        <copy file="../launch-i2psnark" todir="./dist/" />
     276        <mkdir dir="./dist/contexts" />
     277        <!-- todo put in root context.xml -->
     278        <mkdir dir="./dist/docroot" />
     279        <!-- todo put in index.html to redirect -->
    186280        <mkdir dir="./dist/webapps" />
    187281        <copy file="../i2psnark.war" tofile="./dist/webapps/i2psnark.war" />
    188         <mkdir dir="./dist/lib" />
    189         <copy file="./build/i2psnark.jar" tofile="./dist/lib/i2psnark.jar" />
    190         <copy file="../../../core/java/build/i2p.jar" tofile="./dist/lib/i2p.jar" />
    191         <copy file="../../jetty/jettylib/commons-el.jar" tofile="./dist/lib/commons-el.jar" />
    192         <copy file="../../jetty/jettylib/commons-logging.jar" tofile="./dist/lib/commons-logging.jar" />
    193         <copy file="../../jetty/jettylib/javax.servlet.jar" tofile="./dist/lib/javax.servlet.jar" />
    194         <copy file="../../jetty/jettylib/org.mortbay.jetty.jar" tofile="./dist/lib/org.mortbay.jetty.jar" />
    195         <copy file="../../jetty/jettylib/jasper-runtime.jar" tofile="./dist/lib/jasper-runtime.jar" />
    196         <copy file="../../ministreaming/java/build/mstreaming.jar" tofile="./dist/lib/mstreaming.jar" />
    197         <copy file="../../streaming/java/build/streaming.jar" tofile="./dist/lib/streaming.jar" />
    198282        <copy file="../jetty-i2psnark.xml" tofile="./dist/jetty-i2psnark.xml" />
     283        <copy file="./build/i2psnark-standalone.jar" tofile="./dist/i2psnark.jar" />
    199284        <copy file="../readme-standalone.txt" tofile="./dist/readme.txt" />
     285        <!-- temp so announces work -->
     286        <copy file="../../../installer/resources/hosts.txt" tofile="./dist/hosts.txt" />
     287        <copy todir="./dist/licenses" >
     288            <fileset dir="../../../licenses" includes="LICENSE-GPLv2.txt, ABOUT-Jetty.html" />
     289        </copy>
    200290        <mkdir dir="./dist/logs" />
    201 
    202         <zip destfile="i2psnark-standalone.zip">
    203          <zipfileset dir="./dist/" prefix="i2psnark/" />
    204         </zip>
    205291    </target>
    206292
  • apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java

    r63272d3 re27af37  
    389389
    390390    private int getStartupDelayMinutes() {
     391        if (!_context.isRouterContext())
     392            return 0;
    391393        try {
    392394            return Integer.parseInt(_config.getProperty(PROP_STARTUP_DELAY));
     
    676678     */
    677679    public String[] getThemes() {
    678             String[] themes;
     680         String[] themes;
     681         if (_context.isRouterContext()) {
    679682            // "docs/themes/snark/"
    680683            File dir = new File(_context.getBaseDir(), "docs/themes/snark");
     
    690693                themes = new String[0];
    691694            }
    692             // return the map.
    693             return themes;
     695        } else {
     696            themes = new String[] { "light", "ubergine", "vanilla" };
     697        }
     698        return themes;
    694699    }
    695700
     
    816821        }
    817822       
    818         if (startDelay != null){
     823        if (startDelay != null && _context.isRouterContext()) {
    819824                int minutes = _util.getStartupDelay();
    820825                try { minutes = Integer.parseInt(startDelay.trim()); } catch (NumberFormatException nfe) {}
  • apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java

    r63272d3 re27af37  
    55import java.io.PrintWriter;
    66import java.io.Serializable;
    7 import java.text.Collator;
    87import java.text.DecimalFormat;
    98import java.text.SimpleDateFormat;
     
    193192        }
    194193
    195         _themePath = "/themes/snark/" + _manager.getTheme() + '/';
     194        if (_context.isRouterContext())
     195            _themePath = "/themes/snark/" + _manager.getTheme() + '/';
     196        else
     197            _themePath = _contextPath + WARBASE + "themes/snark/" + _manager.getTheme() + '/';
    196198        _imgPath = _themePath + "images/";
    197199        req.setCharacterEncoding("UTF-8");
     
    286288            delay = _manager.getRefreshDelaySeconds();
    287289            if (delay > 0) {
     290                String jsPfx = _context.isRouterContext() ? "" : ".resources";
    288291                //out.write("<meta http-equiv=\"refresh\" content=\"" + delay + ";/i2psnark/" + peerString + "\">\n");
    289                 out.write("<script src=\"/js/ajax.js\" type=\"text/javascript\"></script>\n" +
     292                out.write("<script src=\"" + jsPfx + "/js/ajax.js\" type=\"text/javascript\"></script>\n" +
    290293                          "<script type=\"text/javascript\">\n"  +
    291294                          "var failMessage = \"<div class=\\\"routerdown\\\"><b>" + _t("Router is down") + "<\\/b><\\/div>\";\n" +
     
    325328            else
    326329                out.write(_contextName);
    327             out.write("</a> <a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\" target=\"_blank\">");
    328             out.write(_t("Forum"));
    329330            out.write("</a>\n");
    330 
    331331            sortedTrackers = _manager.getSortedTrackers();
    332             for (Tracker t : sortedTrackers) {
    333                 if (t.baseURL == null || !t.baseURL.startsWith("http"))
    334                     continue;
    335                 if (_manager.util().isKnownOpenTracker(t.announceURL))
    336                     continue;
    337                 out.write(" <a href=\"" + t.baseURL + "\" class=\"snarkRefresh\" target=\"_blank\">" + t.name + "</a>");
     332            if (_context.isRouterContext()) {
     333                out.write("<a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\" target=\"_blank\">");
     334                out.write(_t("Forum"));
     335                out.write("</a>\n");
     336                for (Tracker t : sortedTrackers) {
     337                    if (t.baseURL == null || !t.baseURL.startsWith("http"))
     338                        continue;
     339                    if (_manager.util().isKnownOpenTracker(t.announceURL))
     340                        continue;
     341                    out.write(" <a href=\"" + t.baseURL + "\" class=\"snarkRefresh\" target=\"_blank\">" + t.name + "</a>");
     342                }
    338343            }
    339344        }
     
    22302235
    22312236                  "<tr><td>");
    2232         out.write(_t("Startup delay"));
    2233         out.write(": <td><input name=\"startupDelay\" size=\"4\" class=\"r\" value=\"" + _manager.util().getStartupDelay() + "\"> ");
    2234         out.write(_t("minutes"));
    2235         out.write("<br>\n" +
    2236 
    2237                   "<tr><td>");
     2237        if (_context.isRouterContext()) {
     2238            out.write(_t("Startup delay"));
     2239            out.write(": <td><input name=\"startupDelay\" size=\"4\" class=\"r\" value=\"" + _manager.util().getStartupDelay() + "\"> ");
     2240            out.write(_t("minutes"));
     2241            out.write("<br>\n" +
     2242
     2243                      "<tr><td>");
     2244        }
    22382245        out.write(_t("Page size"));
    22392246        out.write(": <td><input name=\"pageSize\" size=\"4\" maxlength=\"6\" class=\"r\" value=\"" + _manager.getPageSize() + "\"> ");
  • apps/i2psnark/jetty-i2psnark.xml

    r63272d3 re27af37  
    1 <?xml version="1.0" encoding="ISO-8859-1" ?>
    2 <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure 1.2//EN" "http://jetty.mortbay.org/configure_1_2.dtd">
     1<?xml version="1.0" encoding="UTF-8" ?>
     2<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
    33
    44<!-- =============================================================== -->
     
    1212<!-- Configure the Jetty Server                                      -->
    1313<!-- =============================================================== -->
    14 <Configure class="org.mortbay.jetty.Server">
     14<Configure id="Server" class="org.eclipse.jetty.server.Server">
    1515
    1616  <!-- =============================================================== -->
     
    2121  <!-- Add and configure a HTTP listener to port 8002                  -->
    2222  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    23   <Call name="addListener">
     23  <Call name="addConnector">
    2424    <Arg>
    25       <New class="org.mortbay.http.SocketListener">
    26         <Arg>
    27           <New class="org.mortbay.util.InetAddrPort">
    28             <Set name="host">127.0.0.1</Set>
    29             <Set name="port">8002</Set>
    30           </New>
    31         </Arg>
    32         <Set name="MinThreads">1</Set>
    33         <Set name="MaxThreads">10</Set>
    34         <Set name="MaxIdleTimeMs">30000</Set>
    35         <Set name="LowResourcePersistTimeMs">1000</Set>
    36         <Set name="ConfidentialPort">8443</Set>
    37         <Set name="IntegralPort">8443</Set>
    38         <Set name="PoolName">main</Set>
    39       </New>
     25        <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
     26          <Set name="host">127.0.0.1</Set>
     27          <Set name="port">8002</Set>
     28          <Set name="maxIdleTime">600000</Set>
     29          <Set name="Acceptors">1</Set>
     30          <Set name="statsOn">false</Set>
     31          <Set name="lowResourcesConnections">5000</Set>
     32          <Set name="lowResourcesMaxIdleTime">5000</Set>
     33          <Set name="useDirectBuffers">false</Set>
     34        </New>
    4035    </Arg>
    4136  </Call>
     
    4540  <!-- =============================================================== -->
    4641
     42    <!-- =========================================================== -->
     43    <!-- Set handler Collection Structure                            -->
     44    <!-- =========================================================== -->
     45    <Set name="handler">
     46      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
     47        <Set name="handlers">
     48         <Array type="org.eclipse.jetty.server.Handler">
     49           <Item>
     50             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
     51           </Item>
     52           <Item>
     53             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
     54           </Item>
     55         </Array>
     56        </Set>
     57      </New>
     58    </Set>
    4759
    48   <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    49   <!-- Add a all web application within the webapps directory.         -->
    50   <!-- + No virtual host specified                                     -->
    51   <!-- + Look in the webapps directory relative to jetty.home or .     -->
    52   <!-- + Use the default webdefault.xml in jetty's install             -->
    53   <!-- + Upack the war file                                            -->
    54   <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    55   <Set name="rootWebApp">i2psnark</Set>
    56   <Call name="addWebApplication">
    57     <Arg>/</Arg>
    58     <Arg>webapps/i2psnark.war</Arg>
    59   </Call>
     60    <!-- =============================================================== -->
     61    <!-- Create the deployment manager                                   -->
     62    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     63    <!-- The deplyment manager handles the lifecycle of deploying web    -->
     64    <!-- applications. Apps are provided by instances of the             -->
     65    <!-- AppProvider interface.  Typically these are provided by         -->
     66    <!-- one or more of:                                                 -->
     67    <!--   jetty-webapps.xml       - monitors webapps for wars and dirs  -->
     68    <!--   jetty-contexts.xml      - monitors contexts for context xml   -->
     69    <!--   jetty-templates.xml     - monitors contexts and templates     -->
     70    <!-- =============================================================== -->
     71    <Call name="addBean">
     72      <Arg>
     73        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
     74          <Set name="contexts">
     75            <Ref id="Contexts" />
     76          </Set>
     77          <Call name="setContextAttribute">
     78            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
     79            <Arg>.*/.*jsp-api-[^/]*\.jar$|.*/.*jsp-[^/]*\.jar$|.*/.*taglibs[^/]*\.jar$</Arg>
     80          </Call>
     81        </New>
     82      </Arg>
     83    </Call>
    6084
    61   <!-- this is so we can find the css -->
    62   <Call name="addContext">
    63     <Arg>
    64       <New class="org.mortbay.http.HttpContext">
    65         <Set name="contextPath">/themes</Set>
    66         <Set name="resourceBase">./docs/themes</Set>
    67         <Call name="addHandler">
    68           <Arg>
    69             <New class="org.mortbay.http.handler.ResourceHandler">
    70               <Set name="redirectWelcome">FALSE</Set>
    71             </New>
    72           </Arg>
    73         </Call>
    74       </New>
    75     </Arg>
    76   </Call>
    77  
    78   <!-- =============================================================== -->
    79   <!-- Configure the Other Server Options                              -->
    80   <!-- =============================================================== -->
    81   <Set name="requestsPerGC">2000</Set>
    82   <Set name="statsOn">false</Set>
     85    <!-- =========================================================== -->
     86    <!-- Configure the context deployer                              -->
     87    <!-- A context deployer will deploy contexts described in        -->
     88    <!-- configuration files discovered in a directory.              -->
     89    <!-- The configuration directory can be scanned for hot          -->
     90    <!-- deployments at the configured scanInterval.                 -->
     91    <!--                                                             -->
     92    <!-- This deployer is configured to deploy contexts configured   -->
     93    <!-- in the $JETTY_HOME/contexts directory                       -->
     94    <!--                                                             -->
     95    <!-- =========================================================== -->
     96    <Ref id="DeploymentManager">
     97      <Call name="addAppProvider">
     98        <Arg>
     99          <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
     100            <Set name="monitoredDirName">./contexts</Set>
     101            <Set name="scanInterval">0</Set>
     102          </New>
     103        </Arg>
     104      </Call>
     105    </Ref>
     106
     107    <!-- =========================================================== -->
     108    <!-- Configure the webapp deployer.                              -->
     109    <!-- A webapp  deployer will deploy standard webapps discovered  -->
     110    <!-- in a directory at startup, without the need for additional  -->
     111    <!-- configuration files.    It does not support hot deploy or   -->
     112    <!-- non standard contexts (see ContextDeployer above).          -->
     113    <!--                                                             -->
     114    <!-- This deployer is configured to deploy webapps from the      -->
     115    <!-- $JETTY_HOME/webapps directory                               -->
     116    <!--                                                             -->
     117    <!-- Normally only one type of deployer need be used.            -->
     118    <!--                                                             -->
     119    <!-- =========================================================== -->
     120    <Ref id="DeploymentManager">
     121      <Call id="webappprovider" name="addAppProvider">
     122        <Arg>
     123          <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
     124            <Set name="monitoredDirName">./webapps</Set>
     125            <Set name="parentLoaderPriority">false</Set>
     126            <Set name="extractWars">false</Set>
     127            <Set name="scanInterval">0</Set>
     128          </New>
     129        </Arg>
     130      </Call>
     131    </Ref>
     132
     133    <!-- ===================== -->
     134    <!-- DefaultHandler config -->
     135    <!-- http://stackoverflow.com/questions/4202275/how-to-prevent-jetty-from-showing-context-related-information -->
     136    <!-- ===================== -->
     137    <Ref id="DefaultHandler">
     138      <Set name="showContexts">false</Set>
     139    </Ref>
    83140
    84141</Configure>
  • apps/i2psnark/launch-i2psnark

    r63272d3 re27af37  
    66#
    77I2P="."
    8 java -cp "$I2P/lib/i2psnark.jar:$I2P/lib/i2p.jar:$I2P/lib/mstreaming.jar:$I2P/lib/streaming.jar:$I2P/lib/commons-el.jar:$I2P/lib/commons-logging.jar:$I2P/lib/jasper-compiler.jar:$I2P/lib/jasper-runtime.jar:$I2P/lib/javax.servlet.jar:$I2P/lib/org.mortbay.jetty.jar" org.klomp.snark.web.RunStandalone "$@"
     8java -jar "$I2P/i2psnark.jar"
  • apps/i2psnark/readme-standalone.txt

    r63272d3 re27af37  
    1 i2psnark is packaged as a webapp running in the router console.
    2 Command line and standalone operation of i2psnark are not currently supported.
    3 See http://trac.i2p2.i2p/ticket/1191 or http://trac.i2p2.de/ticket/1191
    4 for the status of restoring standalone support.
     1To run i2psnark's standalone mode make sure you have an i2p router running in the background, then run:
     2
     3java -jar i2psnark.jar
     4
     5I2PSnark web ui will be at http://127.0.0.1:8002/i2psnark/
     6
     7Please note that http://127.0.0.1:8002/ will 404, to be fixed
     8
     9I2PSnark is GPL'ed software, based on Snark (http://www.klomp.org/) to run on top of I2P
     10(https://geti2p.net/) within a webserver (such as the bundled Jetty from
     11https://www.eclipse.org/jetty/).  For more information about I2PSnark, get in touch
     12with the folks at http://forum.i2p2.de/
  • build.xml

    r63272d3 re27af37  
    302302    </target>
    303303
    304     <target name="buildI2PSnark" depends="buildStreaming, buildJetty" >
     304    <target name="buildI2PSnark" depends="buildStreaming, buildJetty, buildSystray" >
    305305        <ant dir="apps/i2psnark/java/" target="war" />
    306306        <copy file="apps/i2psnark/i2psnark.war" todir="build/" />
     
    18101810        <copy file="apps/syndie/java/syndie-standalone.zip" todir="." />
    18111811    </target> -->
    1812     <target name="i2psnark" depends="buildProperties" >
     1812
     1813    <!-- standalone i2psnark zip -->
     1814    <target name="i2psnark" depends="buildStreaming, buildJetty, buildSystray" >
    18131815        <ant dir="apps/i2psnark/java" target="standalone" />
    18141816        <copy file="apps/i2psnark/java/i2psnark-standalone.zip" todir="." />
    18151817    </target>
     1818
    18161819    <target name="slackpkg">
    18171820        <ant dir="Slackware/i2p/" target="slackpkg" />
Note: See TracChangeset for help on using the changeset viewer.