Bienvenido, me llamo Miguel y hoy les traigo un artículo.
Está trabajando en una aplicación y ha encontrado un módulo que hace algo muy similar a lo que necesita. ¡Oh no! Resulta que la cápsula no hace exactamente lo que necesita, pero casi. Como desarrollador 🌟, decide modificar el pod para que se ajuste a las necesidades específicas de su aplicación.
Entonces, ¿Cuáles son tus opciones? ¿Cómo puede hacer cambios en el pod e incluirlos en su proyecto?
Índice
Duh. Bifurca la biblioteca.
Aunque hay un par de formas de lograr esto, la opción de ir a entender es bifurcar la biblioteca y actualizar su Podfile para que apunte a la bifurcación.
A lo largo de los años, me he encontrado repetidamente con una serie de molestias que me han hecho preguntarme si hay otro camino para lograrlo. Estos son:
1. Mantener el tenedor actualizado
En el momento en que realiza la bifurcación, pierde las correcciones automáticas de esa biblioteca que de otro modo podría obtener si no hubiera bifurcado y hubiera descrito la versión del pod con un operador optimista pod ‘PODNAME’, ’~> 0.1.2’
. Ahora debe recordar reajustar esto con regularidad si desea aprovechar las correcciones u optimizaciones que pueden haber ocurrido en el repositorio original. 😢
2. Revisar los cambios realizados en una bifurcación
Cuando se trabaja en equipo y los cambios en una biblioteca son necesarios, puede ser difícil para un equipo revisar los cambios que han ocurrido en otro repositorio, así como el PR real que hace uso de la biblioteca modificada.
¿Debería haber dos relaciones públicas? ¿Cómo los coordina de manera efectiva?
3. Varios proyectos requieren la misma biblioteca con diferentes modificaciones
Quizás un problema más frecuente en las agencias de desarrollo: a veces se utiliza una biblioteca en dos productos con dos especificaciones de diseño diferentes y, por lo tanto, se requieren dos cambios completamente diferentes en la biblioteca.
¿Bifurca la biblioteca dos veces? ¿Creas ramas en la bifurcación para cada proyecto? ¿Cómo haces un seguimiento de esto?
4. ¿Es seguro eliminar esta bifurcación?
Es probable que las bifurcaciones vivan en su perfil / organización Git / hub / xxx y comiencen a llenar su lista de repositorios. Cuando inevitablemente decide limpiar los repositorios no utilizados, puede eliminar por error una bifurcación que está siendo utilizada por otro proyecto. ¡Ups!
Pero, ¿Qué pasaría si hubiera una forma de que los cambios en los pods vivieran en el repositorio al que pertenecen esos cambios?
De ninguna manera lo dices. Es magia lo que dices.
¡Entra en la joya del parche de cocoapods!
Aquí tienes una idea. ¿No podríamos simplemente comparar una versión modificada de un pod con un pod instalado limpiamente, ver cuál es la diferencia, guardar eso y aplicar esos cambios después de la instalación de un pod?
Podemos, y eso es lo que parche de cocoapods ¡La gema rubí lo hace! 🎉 💎
Espera … ¿Qué hace?
Esta gema de rubí le permite modificar un pod localmente y luego ejecutar un comando para generar un archivo de parche: un git diff de sus cambios contra el pod no modificado. Además, si incluye la gema como un complemento en su Podfile, se aplicará automáticamente cualquier parche disponible después de la instalación de un pod.
Además del beneficio de tener los cambios en vivo dentro de un repositorio y poder revisarlos como parte de su proceso de revisión normal, tiene el beneficio adicional de que puede actualizar fácilmente un pod y probar si los parches aún se aplicarán correctamente.
¿Cómo uso esta gema mágica?
Lo bueno es que los cocoapods también son una gema de rubí, por lo que su entorno ya debería estar configurado y listo para poder usarlo.
Paso 1: instala la gema
Todo lo que tienes que hacer es correr gem install cocoapods-patch
. Si está usando un Gemfile (bien por usted) puede agregar esta línea gem ’cocoapods-patch’
.
Paso 2: modificar un cocoapod
¡Realice cambios en un cocoapod instalado! 💪
Paso 3: genera un parche
Ejecuta el comando pod patch create POD_NAME
. Esto creará un patches/POD_NAME.diff
archivo en su repositorio que puede agregar y confirmar en su repositorio.
Paso 4: agregue el complemento Podfile para parcheo automático
Añadir plugin ’cocoapods-patch’
a su Podfile: esto agregará un gancho que aplicará todos los parches durante la instalación de un pod.
¡Eso es! Eso es todo lo que se necesita. Es así de fácil 🚀
Es importante tener en cuenta que hay situaciones en las que la bifurcación puede ser mejor. Por ejemplo, cuando los cambios son demasiado consecuentes o cuando los cambios serían generalmente útiles para otros y usted tiene tiempo para hacer un PR adecuado para las fases iniciales.
Añadir comentario