Gestión de la configuration del entorno con ant / svn

Si un proyecto depende de otras bibliotecas cuyas ubicaciones no son estándar, ¿dónde deberían almacenarse las ubicaciones? Mi solución actual es tener algo así en la parte superior del script Ant build.xml:

<!-- change these properties to point to the correct library locations on your system --> <property name="lib.foo" location="${user.home}/foo" /> <property name="lib.bar" location="${user.home}/bar" /> 

Esto funciona muy bien si sus bibliotecas están instaladas en esas ubicaciones. Sin embargo, es problemático para los usuarios que los tienen instalados en otro lugar porque los cambios se desvanecen cuando se svn update .

¿Cuál es la mejor práctica para permitir que los cambios locales de un usuario persistan entre actualizaciones, pero al mismo time poder proporcionar ubicaciones pnetworkingeterminadas?

Agregue una input de propiedad como, por ejemplo:

 <property file="user.properties" /> 

al principio de su script ant, seguido de inputs de properties que definen los valores pnetworkingeterminados. (Consulte: Ant Docs .) Esta técnica permite a cada usuario (opcionalmente) anular los valores pnetworkingeterminados con un file local.

Si agrega user.properties a la list svn: ignore, SVN no lo revisará o modificará y cada usuario puede tener su propia versión personalizada del file.