integrated-application-development / delphilint

Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi
GNU Lesser General Public License v3.0
79 stars 9 forks source link

Do not assume users have familiarity with external dependencies #27

Closed wmeyer48 closed 3 months ago

wmeyer48 commented 4 months ago

Prerequisites

Improvement description

After installing JRE and DelphiLint, and on running Delphi, I was greeted by a dialog wanting me to set external resources. There were issues which meant nothing to me:

  1. JAVA_HOME is wanted. Some explanation in a readme would help.
  2. A clear, short statement of what DelphiLint needs a link to, whether in JDK or JRE, would help.

Rationale

Because to a Delphi developer who is not routinely using Java, such things are not obvious. Lack of help with such things is all too common in open source projects, and gives rise to frustrations. The inability to use your tool makes a bad first impression.

fourls commented 4 months ago

Hi @wmeyer48,

The setup process is designed to not require any experience with Java. There is no setup required if the JRE installation has done its default behaviour of setting JAVA_HOME, and if it hasn't, the only "Java knowledge" needed is where you installed the JRE.

The dialog's text currently says (ignoring my Java install path):

image

  1. JAVA_HOME is wanted. Some explanation in a readme would help.

As the dialog caption says, DelphiLint uses the JAVA_HOME variable by default if it's present, since most Java installations set it. If it's not there, DelphiLint requires you to specify the Java executable to use - which isn't a problem, it just means you have to supply it.

Perhaps the term "override" implies that the "right" way to set up DelphiLint is to set JAVA_HOME? We could tweak that wording, perhaps to "Set manually" or similar.

  1. A clear, short statement of what DelphiLint needs a link to, whether in JDK or JRE, would help.

To me, the dialog's description is a clear, short statement of what DelphiLint needs a link to - the "Java 11+ executable", which is the java.exe that you have just installed.

What more would you like to know? We could potentially add a FAQ answer for where to find the Java executable within the JRE installation, but it would be a very short answer.

wmeyer48 commented 4 months ago

Hello,

I have uninstalled the JRE and downloaded via your link. Installed that, and tried again. Delphi still presents the old JAVA_HOME, though the folder is gone, and the entry has been removed from the registry. I have tried to edit it in Tools Options: [image: image.png] But it does not change. And the value shown in Delphi is a folder which does not exist. The correct JAVA_HOME is present in the registry.

I am out of ideas.

Bill

On Thu, Apr 18, 2024 at 7:40 PM Elliot Hillary @.***> wrote:

Hi @wmeyer48 https://github.com/wmeyer48,

The setup process is designed to not require any experience with Java. There is no setup required if the JRE installation has done its default behaviour of setting JAVA_HOME, and if it hasn't, the only "Java knowledge" needed is where you installed the JRE.

The dialog's text currently says (ignoring my Java install path):

image.png (view on web) https://github.com/integrated-application-development/delphilint/assets/28214458/418ff138-b5a5-4f3d-b0b7-56eff6a72952

  1. JAVA_HOME is wanted. Some explanation in a readme would help.

As the dialog caption says, DelphiLint uses the JAVA_HOME variable by default if it's present, since most Java installations set it. If it's not there, DelphiLint requires you to specify the Java executable to use - which isn't a problem, it just means you have to supply it.

Perhaps the term "override" implies that the "right" way to set up DelphiLint is to set JAVA_HOME? We could tweak that wording, perhaps to "Set manually" or similar.

  1. A clear, short statement of what DelphiLint needs a link to, whether in JDK or JRE, would help.

To me, the dialog's description is a clear, short statement of what DelphiLint needs a link to - the "Java 11+ executable", which is the java.exe that you have just installed.

What more would you like to know? We could potentially add a FAQ answer for where to find the Java executable within the JRE installation, but it would be a very short answer.

— Reply to this email directly, view it on GitHub https://github.com/integrated-application-development/delphilint/issues/27#issuecomment-2065545589, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVX5Q4LJIEJ2RBDWBJTBHDY6BRWBAVCNFSM6AAAAABGNHWTNOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRVGU2DKNJYHE . You are receiving this because you were mentioned.Message ID: @.*** .com>

Cirras commented 4 months ago

Hi @wmeyer48,

Your attached image.png didn't appear in the comment, can you try adding it again?

fourls commented 3 months ago

Hi @wmeyer48, I've raised a PR to change the wording and add a short FAQ section. If you encounter further bugs or problems, please feel free to raise a new issue including full details of the problem - this issue will be closed once the PR is merged.