|
From: Charles R. <cr...@ri...> - 2002-06-18 22:54:55
|
After the most recent commit, everyone will need to run "cvs update
build-common.xml" in their edu/rice/cs directory, since this file has
been updated to support the new stable release process. Theo has also
added a useful "compile-tstamp-gmt" target for the util code (to
simplify the process of setting up a new build).
In the new release process, we have a CodeStatus class with a boolean
DEVELOPMENT constant. Any features which are not ready to be included
in a stable release for all mainstream users (eg. the debugger) MUST be
surrounded in conditional blocks based on this constant:
if (CodeStatus.DEVELOPMENT) {
// My new feature code
}
Similarly, test cases for these new features will also need to be
surrounded in conditional blocks, so that the tests will pass when the
development features are disabled.
The CodeStatus.java file should never need to be changed by hand--
like Version.java, it is modified by ant. We now have "development" and
"stable" targets that you can call from ant which set the constant
appropriately.
IMPORTANT: Since our usual process has been producing
development-quality builds, the "commit" target automatically calls the
"development" target, setting CodeStatus.DEVELOPMENT to true. This is
fine for use in most cases. When releasing a beta or stable version,
however, the "commit-stable" target must be used, which sets the flag to
false, disabling any new features and their corresponding tests.
----
If you have any questions on this process, please let me know. We're
actually in a very good position to start a beta test after today's
work, so I'll prepare a beta version shortly.
Charlie
|