Estoy trabajando en un proyecto de SWT como parte de un equipo. Estamos constantemente rompiendo el entorno de compilación de los demás porque el archivo .classpath de Eclipses está registrado en el control de versiones e incluimos diferentes bibliotecas SWT para nuestras máquinas.¿Cómo puedo especificar una entrada Eclipse .classpath para una plataforma O/S específica?
Dependiendo de quién cometió el pasado, la entrada .classpath puede ser:
<classpathentry kind="lib" path="lib/swt/swt-win32.jar"/>
o
<classpathentry kind="lib" path="lib/swt/swt-carbon.jar"/>
o
<classpathentry kind="lib" path="lib/swt/swt-gtk.jar"/>
Parece ser que las bibliotecas son mutuamente excluyentes, es decir, no puede incluirlos todos a la vez y dejar que SWT lo resuelva. Así que tenemos que filtrarlos para cada plataforma de alguna manera ...
¿Alguien tiene alguna idea sobre cómo hacer esto? Mi idea inicial era dividir esto en su propio archivo ".classpath-swt" (ignorado por el VCS), autogenerarlo usando Ant e incluirlo en el .classpath principal, pero parece que Eclipse no es compatible con la división de la archivo .classpath.
Nuestra solución actual es evitar cometer el .classpath a menos que realmente hayamos cambiado las dependencias, sin embargo, esto todavía significa que un número de personas tiene que arreglar sus entornos de desarrollo cada vez que se cambia .classpath.
Cualquier sugerencia será muy apreciada, siempre y cuando no lo es "no utilizar Eclipse" ya que esto no es una opción para este proyecto :)
Eso era exactamente lo que estaba buscando, ¡gracias! – seanhodges
¿Cómo se ve esto en el XML? Sería muy útil para otros ver el uso real de la variable en el XML (y ahorrar tiempo para investigar cómo eclipse analiza las variables XML) – Gubatron
Parece que necesita "Extender" una variable (Java Build Path > Agregar variable> Extender) para usarlo en su ruta de compilación. Su XML tendrá el tipo establecido en var: ' ' –
idbrii