Si todo lo que quieres hacer es <compiler> **/*.<extension>
, los scripts de compilación tienen poco propósito (aunque se puede argumentar que si ves un Makefile
en el proyecto, sabes que puedes compilarlo con make
). El problema es que, los proyectos no triviales generalmente requieren más que eso, como mínimo, por lo general, deberá agregar bibliotecas y (a medida que el proyecto madura) configurar los parámetros de compilación.
Los IDE suelen ser al menos configurables, pero ahora el proceso de compilación se basa en opciones específicas de IDE. Si está utilizando Eclipse , Alice prefiere NetBeans , y Bob quiere usar IntelliJ IDEA , no puede compartir el configuración, y cuando uno de ustedes introduce un cambio en el control de origen, debe editar manualmente los archivos de configuración creados por el IDE de los otros desarrolladores o notificar a los otros desarrolladores para que lo hagan ellos mismos (lo que significa que habrá confirma donde la configuración del IDE es incorrecta para algunos de los IDE ...).
También debe descubrir cómo hacer ese cambio en todos y cada uno de los IDEs utilizados por el equipo, y si uno de ellos no admite esa configuración en particular ...
Ahora, este problema depende de la cultura: a los desarrolladores les puede resultar aceptable no tener la opción de IDE. Pero los desarrolladores que tienen experiencia con un IDE suelen ser más felices y más eficientes cuando lo usan, y los usuarios de los editores de texto tienden a ser fanáticos de sus herramientas favoritas, por lo que este es uno de los lugares en los que desea dar libertad a los desarrolladores. - y los sistemas de construcción le permiten hacer precisamente eso. Algunas personas pueden tener una preferencia de sistema de compilación, pero no es tan fanática como las preferencias de IDE / editor ...
Incluso si logra que todos los desarrolladores utilicen el mismo IDE, buena suerte convencerá al servidor de compilación para que lo use ...
Ahora, eso es para las personalizaciones del proceso de compilación simple, para las que los IDE proporcionan una interfaz gráfica de usuario agradable. Si desea elementos más complejos, como el procesamiento previo / la generación automática de archivos de origen antes de la compilación, generalmente tendrá que escribir un script de creación previa en un área de texto básica dentro de la configuración del IDE. En qué sistemas de compilación aún tendría que codificar esa parte, pero puede hacerlo en el editor real en el que escribe el código, y lo que es más importante: el propio marco del sistema de compilación generalmente proporciona cierto apoyo para organizar estos scripts.
Finalmente, los sistemas de compilación son buenos para algo más que construir el proyecto; puede programarlos para que realicen otras tareas que todos los integrantes del equipo puedan necesitar. En Ruby on Rails , por ejemplo, hay tareas del sistema de compilación para ejecutar migraciones de bases de datos, para limpiar los archivos temporales, etc. Poner estas tareas en el sistema de compilación garantiza que todos los miembros del equipo puedan realizarlas de forma coherente.