1. Simon Jutzi
  2. Beta Testing
  3. Tuesday, 5 November 2024 12:27 PM UTC

Why are all object of a target kept in the pbproj file?

From my point of view, this contradicts the "Single Point Of Truth" and the DRY principle.
Also, it makes package management complicated or even impossible.

Julie Jiang @Appeon Accepted Answer Pending Moderation
  1. Thursday, 7 November 2024 03:06 AM UTC
  2. Beta Testing
  3. # 1

Hi Simon, 

Thank you for your valid point. However, we designed the current approach with two key considerations in mind:

  1. Unlike other IDEs, PowerBuilder IDE requires that PCode be available for an object to load successfully when editing its source code. This means that if an object is added into PBW, we must perform an Import in the IDE, for the object to be added and compiled into PCode. Consequently, we use the .pbproj file to track imported files, whereas other IDEs can simply retrieve file information from the relevant folder without needing this extra step.

  2. Performance considerations. In a PBW, the number of files in a .pbproj can be tens or even hundreds of times greater than before. Without recording source file information, opening the project would require scanning all files every time, which would significantly impact performance.

Best regards,
Julie

Comment
  1. Simon Jutzi
  2. Monday, 11 November 2024 08:51 AM UTC
Hi Julie
Thanks for your reply.
How would you then implement package management? The project that uses a certain library cannot know which objects will be delivered by an external library.

Why don't you keep track of these files inside the .pb folder or in the respective pbl folders?
The former would have to be created after the first checkout, the latter could even be committed and pushed to the upstream repository.

Regards
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.