Usando ANT para controlar la fuente del código en la nube (NetSuite)

Para nuestra plataforma ERP (NetSuite), el código de personalización descansa en la nube. Nosotros (diferentes entidades) podemos hacer cambios directamente en él, pero no hay control de fuente disponible para nosotros en la nube.

Es posible search los files de código a través de una API SOAP.

Me preguntaba si es posible get los files a través de API usando Apache ANT y meterlos en TFS / SVN.

No estoy familiarizado con Apache ANT, por lo que no conozco las capacidades de ANT que si puede get información a través de API.

(También puede sugerir un mejor enfoque para controlar el código fuente en la nube)

Ant tiene varios complementos de tareas de terceros para tareas de control de versiones. Además, siempre puede usar la tarea <exec/> para crear una salida de línea de command equivalente. Sin embargo, no recomiendo que las personas usen Ant para search versiones de su sistema de control de versiones. Esto termina siendo un problema de pollo v. Huevo .

Tu script de compilation está en control de versión. Debe searchlo para ejecutar Ant en su contra. Si está buscando su script de compilation, ¿por qué no el rest de su proyecto?

Una vez que haya comprobado su proyecto en un directory de trabajo y quiera hacer una actualización, ¿por qué no dejar que Ant haga la actualización? Debido a que su script de construcción también está controlado por la versión. Hacer una actualización y compilation al mismo time podría hacer que ejecute una versión incorrecta de su script de compilation contra su compilation.

Tal vez va a verificar los files que fueron modificados por el sistema de compilation. No es Buena idea. Raramente, o nunca, debe verificar los files que ha creado. Si los necesita, rebuildlos. Los files creados generalmente son de naturaleza binaria y pueden variar mucho de una versión a otra. En la mayoría de los casos, su sistema de control de versiones comprobará versiones completamente nuevas del object construido en lugar de usar el formatting diff . Eso ocupa mucho espacio en su sistema de control de versiones.

Lo que es peor, no puede modificar los objects construidos, por lo que no puede verificar realmente su contenido ni rastrear su historial. Y, los objects construidos tienden a envejecer muy rápidamente. Algo construido el mes pasado ya está obsoleto. Con un año, la gran mayoría de la información en su sistema de control de versiones no será más que un binary obsoleto, y muy poco almacenado es un código útil.

Además, su sistema de control de versiones no tiene nada que ver con la construcción de sus files. Imagine entre la versión 2.1 y la versión 2.2, que cambia los sistemas de control de versiones de Subversion a Git. Ahora, un error en la versión 2.1 necesita ser reparado, y necesita crear la versión 2.1.1. Su código de salida en sus scripts de compilation ya no funcionará.

Si está utilizando NetSuite IDE, está usando Eclipse, y Eclipse es excelente para manejar el control de versiones. Eclipse puede manejar tanto SVN como TFS (aunque no sé por qué alguien usaría TFS ). Eclipse rastrea los cambios de files bastante bien. De hecho, Eclipse se confunde cuando cambia files detrás de su espalda (como hace una actualización fuera de Eclipse).

Deje que Eclipse maneje sus problemas de control de versiones. Presenta una interfaz común para casi todos los sistemas de control de versiones. De esta manera, su sistema de compilation puede manejar las comstackciones.

No estoy seguro de qué otros requisitos podría tener, pero si usa el NetSuite IDE (complemento Eclipse + bundled), puede usarlo para extraer y enviar files a NetSuite. Y luego puede usar cualquier sistema de control de fuente que desee (usamos SVN, por ejemplo).