https://github.com/miyako/4d-class-compiler
https://github.com/miyako/4d-class-compiler
4d-class cicd tool4d
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/miyako/4d-class-compiler
- Owner: miyako
- License: mit
- Created: 2024-02-28T13:21:56.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-06T18:05:28.000Z (8 months ago)
- Last Synced: 2025-10-06T18:17:42.040Z (8 months ago)
- Topics: 4d-class, cicd, tool4d
- Language: 4D
- Homepage: https://miyako.github.io/4d-class-compiler/
- Size: 1.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


[](LICENSE)

Classes to compile, build, sign a project.
**note to self**: releases do not need to be compiled
# To build a project with tool4d
```
tool4d compiler.4DProject --startup-method=build --user-param=.4DSettings,.4DProject,../../build --dataless
```
in `--user-param`, pass up to 3 POSIX paths:
|extension|content|
|:-|:-|
|.xml or .4DSettings|build settings file|
|.json or .4DProject|project file|
|other|build destination path (relative path supported)|
**Note**: When the build destination path is specified, the absolute path in the build settings file is ignored. The path would typically be `../../folder` because the work folder is 2 levels up from the project file.
in `--startup-method`, pass one of the following:
* `build`: compile, build
* `compile`
* `rebuild`: clean compiled code, compile, build
* `sign`: run the *signapp.sh* script
# To build a project with 4D
```4d
$buildProject:=File("{Settings}/BuildApp.4DSettings")
$compileProject:=File("{Project}/BuildApp.4DProject")
var $CLI : cs.BuildApp_CLI
$CLI:=cs.BuildApp_CLI.new()
$CLI.compile($compileProject)
$CLI.build($buildProject; $compileProject)
```
# Packaging
* Do not zip *4D.entitlements* or *SignApp.sh* on Windows. `codesign` will fail.
* *SignApp.sh* does not seem to work when a self hosted runner is launched as a service (requires investigation)