Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miyako/4d-class-compiler
https://github.com/miyako/4d-class-compiler
4d-class cicd tool4d
Last synced: about 2 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 (10 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T01:49:29.000Z (2 months ago)
- Last Synced: 2024-10-21T05:11:55.809Z (2 months ago)
- Topics: 4d-class, cicd, tool4d
- Language: 4D
- Homepage: https://miyako.github.io/4d-class-compiler/
- Size: 1.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![version](https://img.shields.io/badge/version-20%2B-E23089)
![platform](https://img.shields.io/static/v1?label=platform&message=mac-intel%20|%20mac-arm%20|%20win-64&color=blue)
[![license](https://img.shields.io/github/license/miyako/4d-class-compiler)](LICENSE)
![downloads](https://img.shields.io/github/downloads/miyako/4d-class-compiler/total)Classes to compile, build, sign a project.
# 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)