only recompile assets when necessary