Your code works for me. When the build runs, do you see output like this for the incserial target:
Specifically, do you see both copy statements? If you don't see both of them, then most likely the copy was not performed because the target class had a later timestamp than the source file.
Also, what are the contents of the buildsrc.properties file?
Finally, what you are doing is not what I suggested. In my suggestion, the file at src/KCBSEvents/resource/build.properties would contain this:
and the buildsrc.properties file would contain:
Then the copy task would like like this:
I didn't provide a tofile value because I cannot tell from your build script where the file ends up (it doesn't go into the JAR file, so what is it used for?).
You should not update anything in the src directory, that is usually a good way to really mess things up. Always copy things from the src directory into a target directory, such as bin or output or target or dist. This makes the "clean" task easier to write - just delete the output directory. So again, where does the file fit into the final output?
By the way, is the some reason you are not using the BuildNumber task?
http://ant.apache.org/manual/Tasks/buildnumber.html
If you did, then the incserial target would look like this (assuming the properties file goes into the bin directory), and you wouldn't need to use the ant-contrib tasks:
The file build.number would contain only this, nothing else:
And the src/KCBSEvents/resource/build.properties would the entrire set of properties previous defined in buildsrc.properties, including this line
In addition, you would not need the loadproperties task.