wiki:WikiOutputStreamPlugin

Version 6 (modified by aldrinleal, 8 years ago) (diff)

License Clarified

WikiOutputStreamPlugin

Description

Do you love Continuous Integration? Want to better integrate either JUnit, CruiseControl along with Trac? Sometimes you want to either publish your test reports directly into Trac's Wiki (why not?). Perhaps you want to also let you directly hyperlink your Java class names direcly into the source browser, right?

If you answered 'yes' to some of the questions, there is an answer right here!

WikiOutputStreamPlugin is a OutputStream for Java which lets you easily publish direcly into Trac as an Wiki Article. This is accomplished running trac-admin over an ssh-pki-authenticated-remote-shell-connection. It also contains goodies for hyperlinking class names directly into trac's source browser.

Bugs/Feature Requests

Existing bugs and feature requests for WikiOutputStreamPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out WikiOutputStreamPlugin from here using Subversion, or browse the source with Trac.

License

The whole WikiPageOutputStream package can be used under the terms and conditions of the "Apache License, Version 2.0." You'll find the detailed licensing terms in the root directory of the distribution or online at http://www.apache.org/licenses/LICENSE-2.0

Since it uses Java Secure Channel (JSch) from JCraft, currently under BSD Licensing, their mandatory notice is given here:

Copyright (c) 2002,2003,2004,2005,2006 Atsuhiko Yamanaka, JCraft,Inc. 
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright 
     notice, this list of conditions and the following disclaimer in 
     the documentation and/or other materials provided with the distribution.

  3. The names of the authors may not be used to endorse or promote products
     derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Example

Suppose you have a testCase/suite you'd like to let you publish results directly into trac. Or perhaps you want to create a Log4J Logging Module publish their results into trac. WikiOutputStreamPlugin usage is fairly simple: once you configure it (by creating a simple 'trac.properties' file in your classpath, or by doing the hardcoded-way), you can easily create a new and start using:

import junit.framework.TestCase;
import br.eng.leal.trac.WikiPageOutputStream;

public class MyTestCaseWhichReportsAsAWiki extends TestCase {
  private PrintStream printStream;
  
  /**
   * Try to setup an WikiOutputStream, resorting do System.out as a fallback measure
   */
  protected void setUp() {
    try {
      this.printStream = new PrintStream(new WikiPageOutputStream(this.getName().substring("test";.length()), true);
    } catch (Exception exc) {
      this.printStream = System.out;
    }
  }

  /**
   * Somewhere later...
   */
  protected void tearDown() {
    this.printStream.close();
  }

  /**
   *  On Sucessfull connection, this must create a page named "Something" over on trac's Wiki
   */
  public void testSomething() {
    this.printStream("[[br]]Hello, Trac![[br]]");
  }
}

Recent Changes

[1446] by aldrinleal on 2006-10-24 02:51:51

WikiOutputStreamPlugin:

  • Added mode for complete Disabling of WikiPageOutputStream
[1413] by aldrinleal on 2006-10-20 18:11:25

WikiOutputStreamPlugin:

  • JSch LICENSE.JSch added;
[1411] by aldrinleal on 2006-10-20 10:51:11

WikiOutputStreamPlugin:

  • Sample trac.properties added, sourcefolder also

Author/Contributors

Author: aldrinleal
Contributors: