berrybrew, the Perlbrew for Windows 1.30 released
Merry Christmas fellow Perlers!
I have been working tirelessly on the newest version of berrybrew, and thought there's no better day to release it.
It brings significant new features:
New Features
- Added a UI, runs out of the System Tray, allows installing, removing and switching Perls using a button
- Added new
associate
command, allowingberrybrew
to manage.pl
file associations - Added
berrybrew-refresh
command, to be run after switching perls. No more having to re-open command line windows - If a newer point release of a major version is introduced, we now seamlessly integrate installed previous point-releases into the Perls available
- Configuration options are now based in the Windows Registry
- Added new
options
command, allows changing configuration options at runtime - We now supply a
bb
command, which is simply a short-hand form forberrybrew
- Greatly enhanced the self-extracting installer
- Much more precise handling of the
PATH
environment variable - More graceful handling of exceptions
- Added
info
command which displays various internal directory path information - Added new hidden/developer commands
UI
The UI is automatically installed by the installer. It starts and resides hidden in the System Tray until it is needed. Simply click the berrybrewUI
icon to bring up a Windows Form window. You can install, remove and switch between Perl instances.
When switching Perls using the UI, if you have open CLI windows, you still need to run berrybrew-refresh
or open a new CLI window to refresh the path information.
To exit the berrybrewUI
, right-click on the System Tray icon, and click Exit
.
Installer
There are several enhancements to the installer:
We properly check for existing installations, and ask confirmation questions on the actions, depending on information about the previous install. In some cases, we'll ask to do a direct upgrade, in others, we'll ask if we can simply disable the old version before installing the new. See caveats below.
We now ask for the directory location of the Perl instance directory (internally referred to as
root_dir
). If you specify a location that a previousberrybrew
used, we'll merrily inherit all of the previously installed Perls.Uninstall is available through Add/Remove programs
UI provides select-able options to 1) install the most recent version of Perl, 2) start the UI at system startup, 3) allow
berrybrew
to manage.pl
file association
Caveats: If you have a previous version of berrybrew
where you've changed any of the default configuration variables in the config.json
file, you will have to manually update these options after install of the new version. Simply run berrybrew options
on the new version to see what values are set. Then, open up your previous berrybrew's config.json
file, and for each difference, simply run berrybrew options directive value
where directive
is the name of the option, and value
is the value from the old config file. This will be automated in a future release.
File Association
You can now allow berrybrew
to manage the .pl
file association. We implement this in a similar way to Unix, in which when we're managing this association, the system will use the first perl
found in the PATH
environment variable.
- Check current file association with
berrybrew associate
- Allow us to manage the association:
berrybrew associate set
- Revert back to the previous association:
berrybrew associate unset
Development Information
- Broke out the dev build script into three:
build_api.bat
,build_binary.bat
andbuild_ui.bat
. Left in place thebuild.bat
script, which performs all three actions - The dev and test builds automatically create and use their own respective registry locations (
HKLM\Software\berrybrew-build
andHKLM\Software\berrybrew-test
)
Leave a comment