Skip to content

alefragnani/delphi-james

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


James Logo

What's new in James 3.2.0

  • Adds Delphi Alexandria Support
  • Adds Delphi Sydney Support
  • Adds output file prefix parameter

Support

James is an utility created for Delphi. If you find it useful, please consider supporting it.

James

It makes your life easier while switching from one project to another.

If you see yourself manually installing components and updating Delphi settings every time you have to switch from one project to another, James may help you.

Usage

James has two operation modes

Loading Delphi Settings

All Delphi settings are stored in Windows Registry (like the list of components that you have installed). James will load these settings and store in a local file:

    C:\Projects\FirstProject>james.exe -l:Berlin

The -l: parameter indicates that you want to Load the settings, and in this case, you asked for Berlin version.

It will save a file called .james in the same folder as you execute. It is a JSON file containing all Delphi settings that were loaded. Here is an example:

    {
        "version": "Delphi Berlin",
        "known_packages": [
            "$(BDS)\\Bin\\dclMetropolisUILiveTile240.bpl",
            "$(BDSBIN)\\dclxml240.bpl",
            "...",
            "C:\\Users\\alefr\\Documents\\Delphi\\SynEdit\\Bin\\SynEdit_D101B.bpl"
        ],
        "library_path": {
          "win32": [
            "$(BDSLIB)\\$(Platform)\\release",
            "$(BDSUSERDIR)\\Imports",
            "$(BDS)\\Imports",
            "$(BDSCOMMONDIR)\\Dcp",
            "$(BDS)\\include",
            "C:\\Users\\alefr\\Documents\\Delphi\\SynEdit\\Lib"
          ]
        },
        "environment_variables": [
            "$(PUBLIC)\\Documents\\Embarcadero\\InterBase\\redist\\InterBaseXE7\\IDE_spoof",
            "$(PATH)",
            "C:\\Users\\alefr\\Documents\\Delphi\\SynEdit\\Bin"
        ]
    }

You add this .james file to the project's repository, and everyone which loads the repository will be able to apply the settings.

Defining a custom name to the .james file

The -o parameter allows you to define a custom name (prefix) to the .james file.

    C:\Projects\FirstProject>james.exe -l:Berlin -o:first

Doing so, the Delphi settings will be stored in the first.james file

Applying Delphi Settings

Execute James with the .james file as parameter, to apply the settings stored:

    C:\Projects\FirstProject>james.exe -a:.james

The -a: parameter indicates that you want to Apply the settings, in this case the .james file is located in the current folder.

If you don't inform a .james file, it will try to load a file in the current folder.

Stored Settings

James stores the following settings:

  • Installed Packages
  • Library Path
  • Environment Variables

Compatibility

James currently supports the following Delphi versions:

  • Delphi 5
  • Delphi 2006 (Turbo Delphi)
  • Delphi Seattle
  • Delphi Berlin
  • Delphi Tokyo
  • Delphi Rio
  • Delphi Sydney

Installation

  • Clone the repo https://github.com/alefragnani/delphi-james.git
  • Open the james.dpr project and build it
  • You will find James executable in the bin folder

Registration

You may find usefull to register James in you PATH Environment Variable, so you can use it in any folder, with no need to type its full path. To register James, call it with -r parameter:

C:\delphi-james\bin\james.exe -r

Contributors

Special thanks to the people that have contributed to the project:

  • Anderson Dapper Rocha (@toppermitz)
    • Support Delphi 10.4 Sydney (see PR)
    • Added -0 (output prefix) Command Parameter (see PR)

License

GPLv3 © Alessandro Fragnani

3rd Party resources