Installation

The pages in this chapter will guide you through the installation of Prolint.


the LPGL license

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

Prolint 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
Lesser General Public License for more details.

A copy of the GNU Lesser General Public License is
available online in file lpgl.txt and also available as file "license.txt" in the Prolint directory.


More information about this and other GNU licenses can be found at the GNU website.


Install Proparse first

Download Proparse

Prolint is based on Proparse, the parser for Progress sourcecode created by Joanju.

Prolint release 74 does not work with Proparse.DLL anymore, instead it requires Proparse.NET.
You can download Proparse.NET from www.joanju.com/proparse.

Proparse.NET comes as a zipfile with three .NET assemblies in it.
You need to put those assemblies in a location where the Progress session can find it, and you also need to specify the "proparse.net" assembly in the file "assemblies.xml" that is used by the Progress session.
If that does not make sense to you (it didn't to me, to be honest) then please read http://www.joanju.com/proparse/assemblies_notes.php for a detailed description.

Tip: if you installed Prolint release 74, then you can remove the old "proparse" directory that was required for Prolint 73. Unless you want to keep it, of course.


Where to install Prolint

Prolint must be a subdirectory of one of the directories in your PROPATH. If, for example, you already have an existing directory c:\p4gl\tools in your PROPATH you would end up with:

c:\p4gl\tools                  (existing directory, already in your PROPATH) 

c:\p4gl\tools\prolint (contains prolint sources)

 This way you will not have to change your PROPATH to run Prolint.

If you have downloaded the setup program for Windows (prolint_nn.exe) simply specify the name of the basedir (in this example: "c:\p4gl\tools").
The setup program does not overwrite any existing files in prolint\settings, so your custom settings are preserved.
It has the built-in safety to abort entirely when you are trying to install an old Prolint release over a newer release: the setup program looks at help/release.ini to see which release is currently installed.

If you have downloaded the zip-file (prolint_nn.zip) it's all up to you to make sure that you are not overwriting anything that you would like to keep.


Extract adecomm.pl

Unless you are running Progress version 8 or TTY mode, you will need to extract adecomm.pl.

This is because the codepreview window contains an editor, which uses the same syntax-coloring editor as the Progress Appbuilder, and adecomm.pl contains the includefiles that makes this possible.

Instructions

Open a command shell and change directory to your DLC directory. In the following example I will assume this is directory "c:\Program Files\Progress" :


cd \progra~1\progress\gui

set DLC=c:\progra~1\progress
c:\progra~1\progress\bin\prolib ..\src\adecomm.pl -extract *.i

Prolint Installation Guide (Windows)

This is a generic installation guide slightly modified from an actual installation. Please update as you see fit. Please keep in mind, we would like this to be generic enough so it can be used by all. The guide is written in MS Word.


Run Prolint for the first time

When you have installed proparse and prolint you are ready to run Prolint for the first time.


Let's take the quick tour:

run the following statement from a Progress procedure editor:

     RUN prolint/desktop.w.

In the Prolint Desktop, choose button "Lint files...".

You will now see a dialog, titled "Prolint - select files to lint".

This dialog contains an editor widget where you can enter a list of sourcefiles that will be processed by Prolint. Each filename should be entered on a new line, wildcards are currently not supported.
The easiest way to populate the list is by using drag and drop: open a Windows Explorer, select one or more
Progress sourcefiles and drag/drop them into the dialog.


Please note that Prolint can only do its work on sources that are syntactically correct: the Progress compiler must be able to compile them without errors.
That's why we actually prefer the term "compilation unit" instead of "sourcefile": an includefile is a sourcefile but not a compilation unit.


For this first test, just select one or two files and press the OK button.

After you pressed OK, the dialog will immediately disappear and now you will see the "Prolint Results window" unless you are using a TTY-client.


Proparse will now initialize itself and show its splash screen (the frog picture). This may take a little while because proparse needs to read the database schema, but this only happens the very first time
in each Progress session. When you run prolint again (in the same Progress session) initialization will be skipped.

When initialization is done, Prolint will start inspecting the compilation-units you selected. After that you will get to
see a list of warnings in the Results window, unless Prolint didn't find anything in your source to warn about (in that rather unlikely case, the
status bar of the Results window will indicate "0 warnings").

When you double-click on a warning, an external text editor will open the sourcefile to the specified line number
(actually, this feature will probably not work for you yet, because it is by default configured to launch UltraEdit-32. We will change that later in "settings").

You can now press button "Lint current" - this will run prolint again for the compilation-unit on the currently selected browse row.
Or you can press button "Lint files" which will start the first dialog again, where you can select a new set of files to lint. Or you can open a popup-menu
on the browse (right-mouse button) and open a help file explaining the rule for the focussed line.