On 4/22/14 12:11 PM, Bergquist, Brett wrote:
So it seems that unless a release build it built, then the scripts are not in the proper place. I suppose a snapshot build will
be similar to a release build and I have built a snapshot build before although I do get confused about "sane" and
"insane" as the snapshot build complains when I have no "insane". Maybe some pointers on "sane"
and "insane" and their relationship to builds would be useful.
Hi Brett,
I haven't tried the snapshot target by itself in a long time. However,
the main release process does call snapshot eventually. It's likely that
standalone snapshot is broken. Certainly the instruction here are
broken: http://wiki.apache.org/db-derby/SnapshotsAndQuickBuilds. Those
instruction tell you to invoke the prepareforrelease target. But I think
that target will fail if you don't have commit privilege. You may be
able to get it to work by setting debug.release.build=true.
Alternatively, you could try generating a full release (here again you
will need to set debug.release.build=true). It's a heavyweight process
because it builds the docs as well the code. And it requires you to give
a passphrase for a gpg key in order to sign the artifacts.
The terms sane and insane are very confusing. A sane build is one with
debug information and an insane build is one without debug information.
It's unclear to me why you need something as heavyweight as a snapshot
or a full release if you just need to test your changes. Maybe some
simpler approach would be more productive.
Hope this helps,
-Rick
Appreciate the time you take to respond Rick!
Brett
-----Original Message-----
From: Rick Hillegas [mailto:[email protected]]
Sent: Tuesday, April 22, 2014 11:30 AM
To: [email protected]
Cc: Bergquist, Brett
Subject: Re: Question on how to debug two instances of derby off the trunk
On 4/22/14 7:31 AM, Bergquist, Brett wrote:
I am starting on a project to add the capability to the derby
replication to be able to acquire the database to replicate
automatically by the slave and I would like to be able to run two
instances of the network server so that I can debug the protocol
between the two when the slave is going to acquire a database from the
master.
I guess my question is relating to what to build and where to run it
from the source. I have checked out the trunk of derby and am able to
build and ran all of the tests successfully. I would like to run the
"startNetworkServer" script to run the built binaries but I don't know
where the built "startNetworkServer" script is. There is the "bin"
directory right at the root of the checkout but that seems to only
have the Windows scripts. There is the "generated/bin" directory but
the "generated" directory does not seem to have everything else needed.
So what is the proper build targets that I need to build and where
would the script that I need be located once that is done?
Hi Brett,
I think it works this way:
1) The source for the Unix versions of the scripts lives in bin/templates
2) The source versions are transmogrified by the makebinscript target in the
top level build.xml. The transmogrified versions are dropped into generated/bin
3) When we build a release, the targets in tools/release/build.xml build a bin
directory which includes the Windows scripts from bin and the Unix scripts from
generated/bin.
Hope this helps,
-Rick
If someone can give me pointers on what they would do to run both a
derby master and derby slave under a debugger that would be really
useful.