Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PB 10.5 and MKS: How PBG files get to PBL Files

252 views
Skip to first unread message

Zellhausen

unread,
Jul 4, 2007, 6:08:47 AM7/4/07
to
We have added a project to MKS source intetrity.
For new developers we created a sandbox by MKS.
All files are copied (sr? Files and PBG files).
In the PBG file all objects are listed which belongs to a
PBL file.
But how can we get from the PBG files to the PBL files by
automatic importing the SR? files?

Jeremy Lakeman

unread,
Jul 4, 2007, 9:13:30 PM7/4/07
to

.pbg files are maintained by powerbuilder to index which objects
should be included in which pbl's. When you right click on a library
or target and choose "get latest version", powerbuilder uses the pbg
files to identify new objects that have been added by other developers
so they can be imported.

zellhausen

unread,
Jul 5, 2007, 1:37:18 AM7/5/07
to
The problem is that we have a framework which is in MKS a
subproject. Therefore the objects and PBG resides in a
subdirectory of our project. With "Get last version" only
the
target import the objects but not the PBGs of the
subdirectory.
We have to switch the Localpath in the workspace properties
and for each empty PBL we have to do "Get last version..."

Im'm looking for a tool giving the PBG (the objects resides
in the same directory) and it makes a PBL in the same
directory.

Jeremy Lakeman

unread,
Jul 5, 2007, 3:02:05 AM7/5/07
to

Sorry, no experience with MKS. However can't you just add the pbl in
the sub folder into your target's library list and do a get latest
version? Or does the MKS SCC dll have some problems with sub folders?

Note that a pbg generated by PowerBuilder should always contain a path
relative to the workspace's local root folder.... Ah I think I see the
problem.

You should try putting all your workspace's for all your projects in
the same top level folder in source control. Each pbg should then be
modified to contain paths relative to that local root folder.

Paul Horan[TeamSybase]

unread,
Jul 5, 2007, 8:43:51 AM7/5/07
to
What are you trying to do here? Set up a new workstation for a new
developer, and give them a copy of the code?
That's as simple as copying the entire local root folder from an existing
workstation, then having them open the workspace and set the SCC properties
accordingly. What works best (I've found) is to take one machine, put it
in a corner somewhere, and use THAT as the "build machine" - no active
development on it. Set up an OrcaScript or PowerGen .bat file to refresh
those .PBLs on a periodic basis and produce the executables. Now, whenever
you need the absolute "latest and greatest" code, you don't have to bother
with bootstrap imports - just XCOPY the local root folder from the build
machine.

As far as the "Get Latest Version" process - it is (and must be) a two-step
process, when there are changes to the library list of the target.
1. Right click on the target, select "GLV", and then choose "this target
file only". That gets the new version of the .PBT file, and creates empty
PBLs for any that have been added to the target.
2. Right click on the target again, select "GLV" again, but this time say
"objects IN the target" (the other choice from #1). That brings down the
objects that have been created in the new PBLs and imports the code locally.

Paul Horan[TeamSybase]

<zellhausen> wrote in message news:468c838e.7e4...@sybase.com...

zellhausen

unread,
Jul 6, 2007, 9:09:04 AM7/6/07
to
Your suggestion GLV with "objects IN target" doesn't work
for
a subproject (seperatly directory).

For the bootstrap of a project we have decided to run two
ORCA scripts. One for the project and one for the subproject
(our framework with a dummy appobject). Then it works to
"Get the last version" or a specific build for all our PBLs.

Unfortunately the PB Funktion LibraryImport only support
datawindows, we have to write a small PB program for
creating
the ORCA srcipt dynamicly.

Paul Horan[TeamSybase]

unread,
Jul 6, 2007, 9:41:36 AM7/6/07
to
Well, it's not really a "suggestion", it's a description of the documented
process for GLV of target/PBL changes.

And can you define "doesn't work" a little better? I have a demo of this
that I can show you where it works just fine.

Can you be more specific with your PBL/Library setup? Maybe it's just a
configuration issue or something.

Paul Horan[TeamSybase]

<zellhausen> wrote in message news:468e3ef0.250...@sybase.com...

zellhausen

unread,
Jul 11, 2007, 2:26:04 AM7/11/07
to
This doesn't work: "Get latest Version..."/"Select ... Files
IN the target".

I think PB looks in the project file from MKS for the PBG
entries. For all these PBG's a PBL with the objects is
created.
But my framework is a subproject with a dummy application
object.
And PB doesn't find the PBG's file in the subproject. You
have to
change the path in properties of the workspace then it
works.

PB only works with the project file from MKS and not with
the target object. I have thought PB will look in the target
for the needed PBL's and look in the specified directory of
the PBL for the PBG and the needed objects.

Paul Horan[TeamSybase]

unread,
Jul 11, 2007, 1:56:08 PM7/11/07
to
PB doesn't know anything about MKS. It doesn't know anything about *ANY*
SCC provider - even PBNative. It talks to the MS SCC API when doing source
control operations, and each vendor is responsible for implementing the
methods in that API.

You've still not described how it "doesn't work". Does it crash? Does it
erupt in flames? Are there any specific error messages to speak of?
The fact that it "works" when you change the Local Root Folder is a clue
that you've got something wrong with your target definition.

This will help:
Open your PBW file and paste the contents here:
>>> PBW file contents

Open your PBT file and paste the contents here (there's only one, right?):
>>> PBT file contents

That will tell me pretty much all I need to know about your library setup.

Paul Horan[TeamSybase]

<zellhausen> wrote in message news:469477fc.488...@sybase.com...

philwallingford

unread,
Jul 12, 2007, 1:12:33 PM7/12/07
to
While Paul is determining whether or not ORCAScript can help
you, consider PowerGen (www.ecrane.com). It provides great
flexibility in setting up your configuration for building
your application.

For example you can specify the *.sr* files for a particular
PBL as wild cards. If you have organized your directory
structure to have a directory per PBL, the wild card allows
you to specify that all of the objects in a particular
directory belong in the corresponding PBL.

This simplifies the process considerably and removes the
requirement that the PBG files stay in sync with your
application.

Regards,

Phil

bede

unread,
Aug 10, 2007, 9:36:52 AM8/10/07
to
Indeed, and you can regenerate PBG based on PBL contents - if you would ever need it.

Ben

In article <46966101.780...@sybase.com>, Phil Wallingford says...

0 new messages