Summary: This section describes how to prepare and deliver the source code of your PowerBuilder application.
Preparation - source code discovery
Discovery is a process that is actioned during the delivery process CAST will attempt to automatically identify "projects" within your application using a set of predefined rules. Discoverers are currently embedded in CAST AIP Core:
You should read the relevant documentation for each discoverer (provided in the link above) to understand how the source code will be handled.
Using CAST AIP Console
- Supported in AIP Console v. ≥ 1.17.
- See Application onboarding for more information.
Source code delivery
AIP Console expects either a ZIP/archive file or source code located in a folder configured in AIP Console. You should include in the ZIP/source code folder all PowerBuilder source code:
- .PBT
- .PBL
- etc.
CAST highly recommends placing the files in a folder dedicated to PowerBuilder. If you are using a ZIP/archive file, zip the folders in the "temp" folder - but do not zip the "temp" folder itself, nor create any intermediary folders:
D:\temp |-----PowerBuilder |-----OtherTechno1 |-----OtherTechno2
PowerBuilder options in AIP Console
In order for a PowerBuilder analysis to complete successfully, AIP Console needs to know two things (see also PowerBuilder - Analysis configuration):
Path to pborcXXX.dll | The location of the pborcXX.dll file - this file is part of the PowerBuilder IDE and must be installed on the machine on which the analysis is running - i.e. the AIP Node. |
---|---|
PowerBuilder version | The PowerBuilder version that corresponds to the version of the application you want to analyze. |
AIP Console behaves as follows with regard to these options:
- AIP Console will first attempt to discover the location of the pborcXXX.dll file/PowerBuilder version using the Windows registry during the source code delivery process. If AIP Console finds a registry key it will populate the relevant fields in the AIP Console GUI (see screenshot above).
- If no registry key is found, then AIP Console will look in the following file on the target AIP Node. For example - these locations can be filled in BEFORE delivering the source code (you must restart the AIP Node so that the changes are taken into account):
<AIP_node_installation>\AipNode\data\aip-node-app.properties
# ============== # PowerBuilder configuration # -------------- # Default version of Power Builder to analyze between (Version8, Version9, VersionX, VersionX5, VersionXI, VersionXI5, VersionXII, VersionXII5, VersionXII6, Version2017, Version2018) powerbuilder.compile.version=Version8 # Path of the pborcXXX.dll file associated to the default PowerBuilder version powerbuilder.pborcdll.location=
- If neither method reveals the location of the pborcXXX.dll file/PowerBuilder version, then the analysis will fail. However, you can manually configure the location directly in the AIP Console GUI once you have delivered the source code and accepted/imported it as the current version. This requires that you perform an Advanced onboarding in order not to generate a snapshot as part of the source code delivery process.
Above all, the options defined in the AIP Console GUI have priority over the Windows registry and the aip-node-app.properties file.
Using legacy CAST Delivery Manager Tool
How do I add a source code package to my delivery
See How do I add a source code package to my delivery.
What you should package?
When creating packages to discover and extract your PowerBuilder application you should create them as listed below:
Package | Package name/type | Mandatory? | Location/path | Notes |
---|---|---|---|---|
1 | Source code | Source code root folder | Use the "Files on your file system" / SVN / TFS options in the CAST Delivery Manager Tool: Click to enlarge |
How do I fine-tune my Version ?
See How do I fine-tune my Version for more information.
How do I deliver the Version for analysis?
See How do I deliver the Version for analysis for more information.
Delivery acceptance
See Validate and Accept the Delivery for more information.