Use annotation and annotation processor to generate source file