B4A.BASE.JOBI.RUN-CUSTOM-SOLUTION@WIN
Description
Details
Property | Value |
---|---|
Type | JOBI |
Folder | PACKAGES/BEST4AUTOMIC/B4A.BASE/SOURCE/RUN |
Title | Generic include for starting b4A Custom Solutions on Windows systems |
Archive Key 1 | - |
Archive Key 2 | - |
Created | Timon Schnakenberg am: 2025-03-04 15:59:26 |
Last Modified | Andreas Büsching am: 2025-07-01 16:48:26 5 x |
Last Used | - |
Process
! read module name and config options
:set &script# = "$SCRIPT$"
:define ¶m#, string, 2
:fill ¶m#[] = str_split( &script#, ":" )
:set &script# = ¶m#[ 1 ]
:set &configs# = ¶m#[ 2 ]
:define &config#, string, 10
:fill &config#[] = str_split( &configs#, "," )
! publish module name
:set &B4AB_CUSTOM_SOLUTION_O# = "&script#"
:publish &B4AB_CUSTOM_SOLUTION_O#, , TASK
! create configuration file
$finalconfig = New-TemporaryFile
:set &num# = 1
:while &config#[ &num# ] <> ""
: set &vara# = "B4A.BASE.VARA.CONFIG#&config#[ &num# ]"
: set &hnd# = prep_process_var( &vara# )
: process &hnd#
: set &key# = get_process_line( &hnd#, 1 )
: set &value# = get_process_line( &hnd#, 2 )
"&key# = &value#" | Add-Content $finalconfig.fullName
: endprocess
: close_process &hnd#
: set &num# = add( &num#, 1 )
:endwhile
Get-Content $b4a_config_file.fullName | Add-Content $finalconfig.fullName
! replace blackslash with double backslash (for Windows paths)
(Get-Content $finalconfig.fullName) | Foreach-Object {
$_ -replace '\\', '\\'
} | Set-Content $finalconfig.fullName
Remove-Item $b4a_config_file.fullName -Force
! show the configuration
"-- b4A Custom Solution"
"&script#"
"-- b4A configuration"
Get-Content $finalconfig.fullName
"--"
! java settings
:if &B4AB_JAVA_OPTS_O# ne ""
$env:JAVA_OPTS="&B4AB_JAVA_OPTS_O#"
:endif
:if &B4AB_JAVA_HOME_O# ne ""
$env:JAVA_HOME="&B4AB_JAVA_HOME_O#"
:endif
! b4A Custom Solution directory
:if &B4AB_SCRIPT_DIR_I# ne ""
$env:B4J_SCRIPT_DIR="&B4AB_SCRIPT_DIR_I#"
:endif
! activate configuration file
$env:B4J_CONF_FILE=$finalconfig
! start the module
$process = Start-Process -NoNewWindow -PassThru -Wait -WorkingDirectory "&B4AB_BIN_DIR_O#" -FilePath "Powershell.exe" -ArgumentList ".\b4A-cli.ps1 --custom-solution &script#"
! remove configuration file
Remove-Item $finalconfig.fullName -Force
Variable Publications
Found 1 variable publications (TASK)
Zeilennummer | Scriptzeile |
---|---|
12 | :publish &B4AB_CUSTOM_SOLUTION_O#, , TASK |