Strangebrew

Strangebrew 2.x Java Project

View the Project on GitHub DougEdey/StrangeBrew

StrangeBrew Java - 2.1.0

(c)2000-2008 Drew Avis - drew.avis@gmail.com Doug Edey - doug.edey@gmail.com

Thank you for downloading and trying StrangeBrew Java.

This file contains:

What's New

2.1.0

This is a "release quality" release of StrangeBrew Java, which means it's feature-complete, and is pretty stable. If you find bugs, please report them via the Github Project. Or email a developer above

StrangeBrew Java is a Java port of the popular Windows homebrewing software, StrangeBrew (www.strangebrew.ca).

Ingredients can now be added/edited from the application, removing the need to edit the data files directly.

NOTE: We've changed the numbering of Java releases to 2.0, based on the idea that this is a continuation of the Windows version 1.8.

Running StrangeBrew Java

Running StrangeBrew: 1. Unzip the sb_XXX.zip file (where XXX is the latest version, eg: "sb_2.0.1"). Be sure to preserve the directory structure. 2. Type "java -jar strangebrew.jar" at the command line. Under Windows, you can right-click this file, select "Open With > " and select a Java installation. You can also just double-click the file, if ".jar" files are associated with javaw.exe. Double-clicking reportedly also works on Mac OSX. There's probably a Linux way to do this, but I don't know what it is.

NOTE: StrangeBrew loads data (ingredients, styles, etc) from: src/ca/strangebrew/data/ When you unzip the file, be sure to preserve directory names, so that StrangeBrew can find this data.

Extra help for running on Linux

I do not recommend this, just use java -jar strangebrew.jar

These are notes from Scott Alfter via rec.crafts.brewing:

  1. Make sure CONFIG_BINFMT_MISC is enabled in the kernel (built-in or module)...look in Executable file formats/Emulations -> Kernel support for MISC binaries.
  2. Add the following to /etc/fstab: binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
  3. Create /usr/bin/jexec with the following contents and make it executable by everybody: #!/bin/sh java -jar $*
  4. Add the following to whatever script your distro provides for local customization (in Gentoo, it's /etc/conf.d/local.start): echo ':jarexec:M::PK\x03\x04::/usr/bin/jexec:' >/proc/sys/fs/binfmt_misc/register

When you reboot (or if you execute the preceding from a root prompt), you can chmod 755 strangeBrew_fat.jar and then run it with the following:

./strangeBrew_fat.jar

NOTE: At least one person has experienced problems running StrangeBrew on Fedora using their 1.4.2 JRE, which is the GNU gcj. The problem was solved by using the 1.5 JRE from Sun.

For Ubuntu: Install Sun's JRE: $ sudo apt-get install sun-java6-jre Update default system JVM: $ sudo update-alternatives --config java Select java-6 from the list $ sudo update-alternatives --config jar Select java-6 from the list

See https://help.ubuntu.com/community/Java for more help with Ubuntu.

This bug below is fixed

Greg LaPolla points out: When you create a launcher on the desktop and start the app with the java -jar command it displays the "can't find the database" error. You can create a shell script to fix it by simply changing to the StrangeBrew directory first:

#!/bin/sh
cd ~/StrangeBrew
java -jar StrangeBrew.jar

Setting the Look and Feel

The Java Swing library (which StrangeBrew uses for its user interface) supports a "pluggable look and feel" (LAF) -- meaning you can easily change the appearance of Swing applications to suit your own tastes.

The default is the System Look and Feel, this means that the application should fairly closely match your Operating Systems Look & Feel (there are some exceptions, such as KDE based environments)

(Some betas of StrangeBrew used the JGoodies Looks LAF, but I removed it as the default to give users more control over how the application looks).

Very nice look and feels are available on-line from several sources. Here are a few of my favourites for StrangeBrew:

Download the .jar file you'd like to try, and put it in your Java home directory under /lib/ext.

You can set the Look and Feel in a couple of ways:

1) From the Command-line: Use the -Dswing.defaultlaf= option when starting the application. Here's an example of starting StrangeBrew using the Synthetica LAF:

java -Dswing.defaultlaf=de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel -jar strangebrew.jar

The "de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel" bit is the full class name of the Look And Feel -- you'll have to read the documentation for each LAF to find out the proper text to put here

2) Using swing.properties: You can set the default LAF for all Java Swing applications by editing the swing.properties file in your $JAVA_HOME/lib directory. You need to add two lines for your new LAF, and change the default line. Here's an example of the new & changed lines using the Tonic LAF:

swing.installedlaf.tonic.name = Tonic
swing.installedlaf.tonic.class = com.digitprop.tonic.TonicLookAndFeel
swing.defaultlaf=com.digitprop.tonic.TonicLookAndFeel

3) Using the preferences options. Under the "Brewer" pane you can select from any of the L&Fs installed on your system. This gets saved.

Now start StrangeBrew as you would normally, and it should use the new LAF.

Files

The file you downloaded should contain these files (at least):

Required JRE

You require a Java Runtime Environment (JRE) on your system to run StrangeBrew. It requires versions 1.5 and up (See http://java.sun.com/j2se/1.5.0/index.jsp). As of version 2.0.1, StrangeBrew no longer runs under version 1.4. StrangeBrew has been tested and runs on Linux, MacOS-X, and Windows.

Known Issues

Running from Eclipse

StrangeBrew.launch in the repository contains the Run configurations listed here.

Add a new Run or debug configuration with ca.strangebrew.ui.swing.dialogs.Splash

As the Main class, then you need to add the build directory to the Configuration, you may need to run a build first and refresh the eclipse directory

Class Path -> Advanced -> Add Folder -> find the "Build" directory

Reporting Bugs

Look to the top right, there's a button for "Issues" click that, and report anything.

Or use http://reddit.com/r/StrangeBrew

Older Release

2.0.2

New Features:

Bugs Fixed:

2.0.1

New Features:

Bugs Fixed:

2.0.0

Bugs Fixed:

2.0.rc1

New Features:

Bugs Fixed:

2.0.b7

New Features:

Bugs Fixed:

Features on the "TODO List" for StrangeBrew:

Planned StrangeBrew Pro Features:

(StrangeBrew Java will be released under a "dual-license": a free Open Source version and a commercial "Pro" version that will include some additional functionality.)

Comments or questions should be directed to drew.avis@gmail.com.

Building the project

Complete StrangeBrew Java source is included in the strangebrew.jar file. StrangeBrew Java source is also available via github

(http://github.com/DougEdey/StrangeBrew)[Github Repo] for more information.

I'm building the project in Eclipse, which is freely available at eclipse.org.
Once you've un-archived the source from the jar file (or obtained it from cvs), you can import it as a new project into Eclipse. You'll need to:

That should be all you need to build and run the program.

If you wish to build the application from Ant, Greg LaPolla has kindly contributed a build file (build.xml in the top level of the source tree). This file has three targets:

Contributors

The following people have contributed to the development of this program:

Copyrights

Parts of this program are copyright by: Copyright (C) 2002-2004 Roedy Green (CSVReader and CSVWriter classes) Copyright (C) Copyright (c) 2003-2004 Werner Randelshofer (Splash and SplashWindow classes) Copyright (c) 2001-2006 JGoodies Karsten Lentzsch. All rights reserved. (JGoodies Look and Feel) Copyright (c) 2005-2006, Michael Baranov (Microba library)

License

    Copyright (C) 2006-2008  Drew Avis

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

See the gpl.txt file for more information.