Author: psmith Date: Sat Jan 14 20:59:46 2006 New Revision: 369178 URL: http://svn.apache.org/viewcvs?rev=369178&view=rev Log: webstart build now auto-creates the JNLP file with all the jars used during the building.
Modified: logging/chainsaw/trunk/anttasks-src/org/apache/chainsaw/ant/CreateShellScripts.java logging/chainsaw/trunk/build.xml logging/chainsaw/trunk/packaging/chainsawWebStart.jnlp Modified: logging/chainsaw/trunk/anttasks-src/org/apache/chainsaw/ant/CreateShellScripts.java URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/anttasks-src/org/apache/chainsaw/ant/CreateShellScripts.java?rev=369178&r1=369177&r2=369178&view=diff ============================================================================== --- logging/chainsaw/trunk/anttasks-src/org/apache/chainsaw/ant/CreateShellScripts.java (original) +++ logging/chainsaw/trunk/anttasks-src/org/apache/chainsaw/ant/CreateShellScripts.java Sat Jan 14 20:59:46 2006 @@ -1,8 +1,13 @@ package org.apache.chainsaw.ant; +import java.io.BufferedReader; import java.io.File; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; import java.util.Collection; @@ -54,9 +59,46 @@ try { createUnixShellScript(outputLocationDir, filenames); createBatShellScript(outputLocationDir, filenames); + createJNLP(outputLocationDir, filenames); } catch (Exception e) { + e.printStackTrace(); throw new BuildException("Failed to create Scripts",e); } + } + + + /** + * Creates a JNLP file for launching Chainsaw + * @param outputLocationDir + * @param filenames + * @throws IOException + */ + private void createJNLP(File outputLocationDir, Collection filenames) throws IOException { +// String templateName = CreateShellScripts.class.getPackage().toString().replace('.', '/')+"/chainsawWebStart.jnlp"; +// log("Using JNLP template: " + templateName); + BufferedReader reader = new BufferedReader(new FileReader(new File("packaging/chainsawWebStart.jnlp"))); + + // convert the file to a String + StringBuffer buf = new StringBuffer(1024); + String line; + while((line=reader.readLine())!=null) { + buf.append(line).append("\n"); + } + + StringBuffer jarBuf = new StringBuffer(); + for (Iterator iter = filenames.iterator(); iter.hasNext();) { + String jar = (String) iter.next(); + jarBuf.append("\t<jar href=\"lib/"+jar + "\"/>\n"); + } + // now replace the bits we want + int jarStringLocation = buf.indexOf("@JARS@"); + buf.replace(jarStringLocation, jarStringLocation + 6, jarBuf.toString()); +// TODO replace the CODEBASE stuff + + File jnlp = new File(outputLocationDir, "chainsawWebStart.jnlp"); + Writer writer = new FileWriter(jnlp); + writer.write(buf.toString()); + writer.close(); } public void addFileSet(FileSet fileSet) { Modified: logging/chainsaw/trunk/build.xml URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/build.xml?rev=369178&r1=369177&r2=369178&view=diff ============================================================================== --- logging/chainsaw/trunk/build.xml (original) +++ logging/chainsaw/trunk/build.xml Sat Jan 14 20:59:46 2006 @@ -264,7 +264,11 @@ </patternset> <classpath refid="compile.classpath"/> </javac> - + <copy todir="${javac.dest}"> + <fileset dir="anttasks-src"> + <include name="*.jnlp"/> + </fileset> + </copy> <taskdef name="createshellscripts" classpathref="compile.classpath" classname="org.apache.chainsaw.ant.CreateShellScripts" /> </target> Modified: logging/chainsaw/trunk/packaging/chainsawWebStart.jnlp URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/packaging/chainsawWebStart.jnlp?rev=369178&r1=369177&r2=369178&view=diff ============================================================================== --- logging/chainsaw/trunk/packaging/chainsawWebStart.jnlp (original) +++ logging/chainsaw/trunk/packaging/chainsawWebStart.jnlp Sat Jan 14 20:59:46 2006 @@ -2,16 +2,16 @@ <!-- JNLP File for Jakarta Log4j Chainsaw v2 Application --> <jnlp spec="1.0+" -codebase="@CHAINSAW_CODEBASE@" - href="@CHAINSAW_CODEBASE@@CHAINSAW_JNLP_FILE@"> +codebase="http://logging.apache.org/log4j/docs/webstart/chainsaw/" + href="chainsawWebStart.jnlp"> <information> <title>Log4j Chainsaw v2</title> <vendor>Apache</vendor> - <homepage href="http://jakarta.apache.org/log4j"/> + <homepage href="http://logging.apache.org/log4j"/> <description>A Log4j log viewing application</description> <description kind="short">A Log4j log viewing application</description> - <icon href="http://jakarta.apache.org/log4j/docs/images/logo.jpg"/> - <icon kind="splash" href="http://jakarta.apache.org/log4j/docs/images/logo.jpg"/> + <icon href="http://logging.apache.org/log4j/docs/images/logo.jpg"/> + <icon kind="splash" href="http://logging.apache.org/log4j/docs/images/logo.jpg"/> <offline-allowed/> </information> <security> @@ -20,14 +20,7 @@ <resources> <j2se version="1.4+" max-heap-size="256m"/> <j2se version="1.3+" max-heap-size="256m"/> - <jar href="lib/log4j-chainsaw-1.3alpha-7.jar"/> - <jar href="lib/log4j-1.3alpha-7.jar"/> - <jar href="lib/log4j-optional.jar"/> - <jar href="lib/log4j-xml.jar"/> - <jar href="lib/log4j-oro.jar"/> - <jar href="lib/ugli-simple.jar"/> - <jar href="lib/jakarta-oro-2.0.6.jar"/> - <jar href="lib/xstream-1.1.2.jar"/> [EMAIL PROTECTED]@ </resources> <application-desc main-class="org.apache.log4j.chainsaw.LogUI"/> </jnlp> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]