Home

Awesome

<p align="center"> <br /> <a title="Learn more about James" href="http://github.com/alefragnani/delphi-james"><img src="res/james-logo-readme.png" alt="James Logo" width="50%" /></a> </p>

What's new in James 3.2.0

Support

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

<table align="center" width="60%" border="0"> <tr> <td> <a title="Paypal" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=EP57F3B6FXKTU&lc=US&item_name=Alessandro%20Fragnani&item_number=delphi&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif"/></a> </td> <td> <a title="GitHub Sponsors" href="https://github.com/sponsors/alefragnani"><img src="https://raw.githubusercontent.com/alefragnani/oss-resources/master/images/button-become-a-sponsor-rounded-small.png"/></a> </td> <td> <a title="Patreon" href="https://www.patreon.com/alefragnani"><img src="res/become-a-patron-rounded.png"/></a> </td> </tr> </table>

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:

Compatibility

James currently supports the following Delphi versions:

Installation

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:

License

GPLv3 © Alessandro Fragnani

3rd Party resources