The new solution format leverages the ultra-fast compiler to drastically improve compilation speed, reducing build times and improving developer productivity.
Another benefit of using the solution format is its direct interoperability with version control. In the new solution format, no intermediate file/folder or Pcode are managed in the version control system any more, because source code is stored individually in plain text format.
-
In workspace, both the source code and Pcode are stored together in the PBL file in binary format, and a single PBL file can contain the source code and Pcode for multiple objects. In such case, PowerBuilder has to use some intermediate file/folder (such as ws_objects folder) to import/export the source code from/to the PBL file in order to track and manage changes at the object level in the version control system. However, this may cause conflicts or corruption during PBL upload/download/merging or Pcode compilation because intermediate file/folder may get out of sync.
-
In solution, source code is stored as individual text files; and each object (such as windows, user objects, functions, and other components) has its own file. Each file can be managed separately and directly in the version control system, without needing to use any intermediate file/folder. Developers can easily track changes to individual files, and avoid conflicts.
-
In addition, in solution, Pcode is stored separately from the source code. This separation makes version control more precise by reducing the interference of Pcode changes and focusing on only changes to the source code.
In short, the source code structure in the solution format is more compatible with modern version control systems like Git/SVN.
Note
The PBNative and SCC API are not supported with the new solution format.
With the new solution format and ultra-fast compiler, source code is stored as plain text and can be directly compiled, eliminating the need to build PBLs when retrieving code from the SCM server.
Note
Likewise, when using PBAutoBuild to build a solution, after PBAutoBuild downloads source code from the Git/SVN server, the step of merging the source code into PBLs is eliminated, reducing the time for importing and building by PBAutoBuild.
By using the new solution format, you can also benefit from a more efficient process when working with the script.
-
When editing scripts
In the solution format, you can perform an incremental build or full build when the object is being edited in the painter window. In the workspace format, you will have to close all of the painter windows before building the application.
-
When saving scripts
When a script is saved (or when you select Compile or press Ctrl+L), the entire object (not just the script being edited) is automatically compiled.
The compilation results of the entire object are displayed in the "Output" window (any error/warning will display in the "Errors" or "Warnings" tab respectively), rather than in the message window below the script. And when there are compilation errors, the line number, column number, and error message will be displayed, and you can double click an entry in the "Output" window to jump to that line of code and fix the code in the code editor.
Changes made to the script are saved directly, regardless of whether the code compiles successfully. In other words, compilation errors or warnings no longer prevent you from saving the associated object, closing the script view, or opening a different script in the same view.