Razvojno okruženje

Pregled strukture projekta i važnih putanja za WvdS FPC RAD Studio.

Tilda (~) predstavlja korijen repozitorija (npr. %WORKSPACE%/WvdS.FPC). Sve putanje koriste Forward-Slasheve.

Struktura projekta

~/
├── sources/                    # SSOT - verzionirano (SVN)
│   ├── common/                 # Shared Units/Libs (FPC + pas2js)
│   │   ├── core/               # Bazne Units (bez UI)
│   │   ├── ui/                 # UI Framework
│   │   │   ├── controls/       # Bazni Controls
│   │   │   ├── components/     # Composite Components
│   │   │   ├── runtime/        # PXAML Runtime
│   │   │   └── targets/        # Renderer (tui/gui/web)
│   │   └── web/                # Host Bridges (samo pas2js)
│   │       ├── nodejs/         # Node.js APIs
│   │       └── vscode/         # VSCode Extension APIs
│   ├── extensions/             # VSIX Packs
│   ├── applications/           # Proizvodi/Demos
│   ├── tools/                  # wvds-build, pxamlc
│   └── packages/               # IDE Packages
│
├── binaries/                   # Build Outputs - NIJE verzionirano
│   ├── out/                    # Build outputs
│   ├── cache/                  # Compiler caches
│   ├── dist/                   # Release artifacts (.vsix)
│   └── logs/                   # Build reports, debug logs
│
└── assets/                     # Statički assets

Putanje projekta

Varijabla Putanja Opis
~ Korijen repozitorija %WORKSPACE%/WvdS.FPC
~/sources Izvorni kod Single Source of Truth
~/sources/common Shared Code FPC + pas2js kompatibilan
~/sources/extensions VSIX Extensions VSCode paketi
~/sources/applications Aplikacije RAD Suite, Demos
~/binaries Build Output Može se izbrisati, regenerabilno
~/binaries/dist Release .vsix, Installer
~/binaries/logs Logs Build-Reports, Debug-Logs
~/assets Assets Icons, Templates

Varijable okruženja

Ove varijable su placeholder i moraju se prilagoditi lokalnom razvojnom okruženju. Apsolutne putanje treba izbjegavati u konfiguracijskim datotekama.
Varijabla Standardna vrijednost Opis
%LAZARUS% Lazarus-instalacija npr. C:\Lazarus ili /opt/lazarus
%PROGRAMFILES% Program Files Windows: C:\Program Files
%USERPROFILE% Korisnički direktorij Windows: C:\Users\{name}, Linux: ~
%WORKSPACE% Radni direktorij Korisnički definirano, npr. E:\Workspace

Compiler i Toolchain

Varijabla Relativna putanja Opis
FPC %LAZARUS%/fpc/3.3.1/bin Free Pascal Compiler
FPC-SRC %LAZARUS%/fpc/3.3.1/source FPC izvorni kod
PAS2JS %LAZARUS%/fpc/3.3.1/bin/pas2js.exe Pascal u JavaScript
P2J-RTL %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/rtl pas2js RTL
P2J-NODE %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/nodejs Node.js Bindings
P2J-VSCODE %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/vscode VSCode Bindings

Vanjske reference

Ove putanje su opcionalne i relevantne samo za razvojne programere koji žele proučavati referentne implementacije.
Varijabla Relativna putanja Opis
DXVCL %WORKSPACE%/3rd/DevExpress/VCL DevExpress VCL (Delphi)
DXNET %PROGRAMFILES%/DevExpress 25.1/Components/Sources DevExpress .NET
NODEJS-SRC %WORKSPACE%/3rd/node-main Node.js izvorni kod
VSCODE-SRC %WORKSPACE%/3rd/vscode-main VSCode izvorni kod

Dokumentacija

Varijabla Relativna putanja Opis
DOKUWIKI %DOKUWIKI_DATA%/pages/de/int/vsce/fpc DokuWiki stranice
SKILLS %WORKSPACE%/WvdS.Rihtlinien Skill-definicije

SSOT-Pravila

Single Source of Truth - Ova pravila su obavezujuća!
  1. ~/sources/ je jedini izvor za verzionirani kod
  2. ~/binaries/ se može potpuno izbrisati i regenerirati
  3. Nikada ne duplicirajte Runtime-kod u ~/sources/extensions/
  4. Nikada ne commitajte generirane datoteke u ~/sources/

Build-Output Struktura

~/binaries/out/{app}/{target}/{mode}/
├── gen/              # Generirani kod (ui.generated.pas)
├── bin/              # Izvršne datoteke / JS Bundle
├── assets/           # PXAML, Images, Themes
├── build-plan.json   # Build-Konfiguracija
└── build-report.md   # Build-Protokol
Target Compiler Output
tui FPC Native Console (Windows/Linux)
gui FPC Native Desktop (LCL/WinAPI)
web pas2js JavaScript Bundle
Mode Opis
debug Debug-simboli, bez optimizacije
release Optimizirano, strippani simboli
profile Release + Profiling

Extension-Struktura

~/sources/extensions/wvds.vscode.{name}/
├── pas/
│   ├── extension_main.pas     # Entry Point (OBAVEZNO)
│   ├── {Feature}.Models.pas   # Strukture podataka
│   ├── {Feature}.Service.pas  # Poslovna logika
│   └── {Feature}.Dialog.pas   # UI (opcionalno)
│
├── dist/
│   ├── extension_main.js      # Kompilirani JS
│   └── extension_main.js.map  # Source Map
│
├── templates/                  # WebView Templates
├── images/                     # Icons
├── package.json               # VSCode Manifest
├── build.cfg                  # Build-Konfiguracija
└── README.md                  # Dokumentacija

Vidi također

Zuletzt geändert: 29.01.2026. u 22:28