{"id":16610983,"url":"https://github.com/alefragnani/delphi-james","last_synced_at":"2025-09-09T23:51:47.434Z","repository":{"id":15901212,"uuid":"78805844","full_name":"alefragnani/delphi-james","owner":"alefragnani","description":"James - The Delphi Project Manager","archived":false,"fork":false,"pushed_at":"2024-02-23T15:41:57.000Z","size":24102,"stargazers_count":51,"open_issues_count":1,"forks_count":16,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-01-17T14:36:32.174Z","etag":null,"topics":["delphi","management","settings"],"latest_commit_sha":null,"homepage":null,"language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alefragnani.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"alefragnani","patreon":"alefragnani","custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=EP57F3B6FXKTU\u0026lc=US\u0026item_name=Alessandro%20Fragnani\u0026item_number=delphi\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted"}},"created_at":"2017-01-13T02:07:05.000Z","updated_at":"2024-06-20T13:33:00.000Z","dependencies_parsed_at":"2024-05-02T17:52:25.339Z","dependency_job_id":"b4bf0514-964d-49e8-bf22-e193a265bfd6","html_url":"https://github.com/alefragnani/delphi-james","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alefragnani%2Fdelphi-james","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alefragnani%2Fdelphi-james/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alefragnani%2Fdelphi-james/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alefragnani%2Fdelphi-james/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alefragnani","download_url":"https://codeload.github.com/alefragnani/delphi-james/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242901112,"owners_count":20203891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delphi","management","settings"],"created_at":"2024-10-12T01:34:15.670Z","updated_at":"2025-03-10T18:25:49.726Z","avatar_url":"https://github.com/alefragnani.png","language":"Pascal","funding_links":["https://github.com/sponsors/alefragnani","https://patreon.com/alefragnani","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=EP57F3B6FXKTU\u0026lc=US\u0026item_name=Alessandro%20Fragnani\u0026item_number=delphi\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted","https://www.patreon.com/alefragnani"],"categories":["Other"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cbr /\u003e\n  \u003ca title=\"Learn more about James\" href=\"http://github.com/alefragnani/delphi-james\"\u003e\u003cimg src=\"res/james-logo-readme.png\" alt=\"James Logo\" width=\"50%\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# What's new in James 3.2.0\n\n* Adds Delphi **Alexandria** Support\n* Adds Delphi **Sydney** Support\n* Adds output file prefix parameter\n\n## Support\n\n**James** is an utility created for **Delphi**. If you find it useful, please consider supporting it.\n\n\u003ctable align=\"center\" width=\"60%\" border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca title=\"Paypal\" href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=EP57F3B6FXKTU\u0026lc=US\u0026item_name=Alessandro%20Fragnani\u0026item_number=delphi\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted\"\u003e\u003cimg src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif\"/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca title=\"GitHub Sponsors\" href=\"https://github.com/sponsors/alefragnani\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/alefragnani/oss-resources/master/images/button-become-a-sponsor-rounded-small.png\"/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca title=\"Patreon\" href=\"https://www.patreon.com/alefragnani\"\u003e\u003cimg src=\"res/become-a-patron-rounded.png\"/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n# James\n\nIt makes your life easier while switching from one project to another. \n\nIf 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.\n\n## Usage\n\n**James** has two operation modes\n\n### Loading Delphi Settings\n\nAll **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:\n\n```bat\n    C:\\Projects\\FirstProject\u003ejames.exe -l:Berlin\n```\n\nThe `-l:` parameter indicates that you want to _Load_ the settings, and in this case, you asked for _Berlin_ version.\n\nIt 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:\n\n```json\n    {\n        \"version\": \"Delphi Berlin\",\n        \"known_packages\": [\n            \"$(BDS)\\\\Bin\\\\dclMetropolisUILiveTile240.bpl\",\n            \"$(BDSBIN)\\\\dclxml240.bpl\",\n            \"...\",\n            \"C:\\\\Users\\\\alefr\\\\Documents\\\\Delphi\\\\SynEdit\\\\Bin\\\\SynEdit_D101B.bpl\"\n        ],\n        \"library_path\": {\n          \"win32\": [\n            \"$(BDSLIB)\\\\$(Platform)\\\\release\",\n            \"$(BDSUSERDIR)\\\\Imports\",\n            \"$(BDS)\\\\Imports\",\n            \"$(BDSCOMMONDIR)\\\\Dcp\",\n            \"$(BDS)\\\\include\",\n            \"C:\\\\Users\\\\alefr\\\\Documents\\\\Delphi\\\\SynEdit\\\\Lib\"\n          ]\n        },\n        \"environment_variables\": [\n            \"$(PUBLIC)\\\\Documents\\\\Embarcadero\\\\InterBase\\\\redist\\\\InterBaseXE7\\\\IDE_spoof\",\n            \"$(PATH)\",\n            \"C:\\\\Users\\\\alefr\\\\Documents\\\\Delphi\\\\SynEdit\\\\Bin\"\n        ]\n    }\n\n```\nYou add this `.james` file to the project's repository, and everyone which loads the repository will be able to _apply_ the settings.\n\n### Defining a custom name to the `.james` file\n\nThe `-o` parameter allows you to define a custom name (prefix) to the `.james` file. \n\n```bat\n    C:\\Projects\\FirstProject\u003ejames.exe -l:Berlin -o:first\n```\n\nDoing so, the Delphi settings will be stored in the `first.james` file\n\n### Applying Delphi Settings\n\nExecute **James** with the `.james` file as parameter, to apply the settings stored:\n\n```bat\n    C:\\Projects\\FirstProject\u003ejames.exe -a:.james\n```\n\nThe `-a:` parameter indicates that you want to _Apply_ the settings, in this case the `.james` file is located in the current folder.\n\n\u003e If you don't inform a `.james` file, it will try to load a file in the current folder.\n\n## Stored Settings\n\n**James** stores the following settings:\n\n* Installed Packages\n* Library Path\n* Environment Variables\n\n## Compatibility\n\n**James** currently supports the following Delphi versions:\n\n* Delphi 5\n* Delphi 2006 (Turbo Delphi)\n* Delphi Seattle\n* Delphi Berlin\n* Delphi Tokyo\n* Delphi Rio\n* Delphi Sydney\n\n## Installation\n\n* Clone the repo `https://github.com/alefragnani/delphi-james.git`\n* Open the `james.dpr` project and build it\n* You will find **James** executable in the `bin` folder\n\n### Registration\n\nYou 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:\n\n```bat\nC:\\delphi-james\\bin\\james.exe -r\n```\n\n## Contributors\n\nSpecial thanks to the people that have contributed to the project:\n\n* Anderson Dapper Rocha (@toppermitz) \n  - Support **Delphi 10.4 Sydney** ([see PR](https://github.com/alefragnani/delphi-james/pull/14))\n  - Added `-0` _(output prefix)_ Command Parameter ([see PR](https://github.com/alefragnani/delphi-james/pull/15))\n\n# License\n\n[GPLv3](LICENSE.md) \u0026copy; Alessandro Fragnani\n\n### 3rd Party resources\n\n* **James** icon by [Webalys](https://www.iconfinder.com/icons/379338/dome_food_icon#size=128)\n* `util\\Converter.pas` and `util\\Writer.pas` by [Embarcadero RTL.JSON Workbench Sample](http://docwiki.embarcadero.com/CodeExamples/Berlin/en/RTL.JSON_Workbench_Sample)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falefragnani%2Fdelphi-james","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falefragnani%2Fdelphi-james","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falefragnani%2Fdelphi-james/lists"}