DescriptionIf you start with up-to-date trunk, do 'ant runserver', then make some
edits, then do 'ant runserver' again, you can end up with a build where
some files think the Caja version is '999' and other files think the
version is '999m', so nothing works.
There are three ways that svnversion is baked into the caja build:
1. ant target build.info always rewrites buildInfo.properties, which is where
the java code reads version from. This tracks svnversion fine.
2. ant rule <transform> will cajole js and embed the buildInfo version in
the generated js output. This doesn't track svnversion, because there's
no way to tell <transform> to compare svnversion against the existing output.
3. some ant targets do <replace> of "%VERSION%" on js files like caja.js.
This gets re-run all the time, but it doesn't track svnversion either,
because the substitutions happen in-place in ant-lib. Once the substitution
happens once, the version string never changes again, unless the source file
changes and forces it to be re-copied first.
Since it's messy in general to check if some arbitrary generated file is
up-to-date with respect to svnversion, instead I've added an early rule
that will delete all target js files if svnversion changes.
Patch Set 1 #MessagesTotal messages: 3
|