Hi,
Please post the output from Ant if you are having problems. It is easier to determine the source of the problems from the output of Ant.
As a general rule, if you've followed the setup instructions in BUILDING.txt at the root-level of the source tree (available at http://incubator.apache.org/derby/BUILDING.html on the web), then the best way to get around problems caused by a previous bad compile is to run the clobber target ('ant clobber') at the top level to remove all generated files and rerun the build from scratch.
As for SanityState, 'sanity' was a concept introduced early in Cloudscape as a way to have assert functionality before the language supported it (which didn't happen until the recent 1.4.2 release). In short, the way 'sanity' works is assertions are contained in an if block with the value of one of the static final booleans in SanityState.java, like so:
if (SanityState.DEBUG)
{
// assertion goes here
}Because the value of SanityState.DEBUG is static and final, good compilers will optimize away the block of code containing the assert.
SanityState.java is generated as the first step of the build by replacing tokens in the template file, SanityState.tmpl, with the proper values for the build. By default, the sanity state is 'sane,' or a debug build, and the value of SanityState.DEBUG is true. In an 'insane,' or optimized build, the value of SanityState.DEBUG is false, and compilation options for removing debugging information are also turned on. See the 'init' target in the top-level build.xml to see the mechanics of this.
To run an insane build, run the clobber target to remove all generated files (including the generated SanityState.java and the sanity state.properties file). Then run the insane target at the top level to set up the sanity state.properties file. Then, running a full build will generate an 'optimized' insane build.
best regards, andrew
On Sep 8, 2004, at 8:27 AM, Veaceslav Chicu wrote:
hi,
I get sources from repository, I have errors, missing classes, for example:
package org.apache.derby.iapi.services.sanity.SanityManager;
line 58, 59
what is the story with SanityState.tmpl ??
why it's not a .java ??
is there somebody who has same errors?
best regards, Slavic P.S. I see a lot of warnings
