Disons que j'ai un principal Project A
avec plusieurs dépendances de cocoapods (qui sont détenus en interne par le repo cocoapods de notre organisation).
Disons que je travaille sur Project A
et en travaillant dessus, j'ai trouvé un correctif sur une DependencyB
Je modifie donc le code dans cette dépendance tout en restant sur le projet Xcode de ProjectA.
Quel serait le meilleur flux de travail pour pousser les changements sur cette dépendance vers son propre référentiel et ensuite mettre à jour cette dépendance dans le fichier Project A
?
J'aimerais vraiment trouver des moyens pour que éviter , automatiser complètement ou simplifier le flux de travail suivant (qui est un PITA)
Worflow à éviter
-
git clone git@github.com:Organization/DependencyB.git
-
Effectuez vos modifications dans le projet de dépendance (le fichier mêmes changements qui ont été faits en corrigeant le problème que j'ai trouvé en travaillant sur
Project A
) -
Mettre à jour le
DependencyB.podspec
fichiers.version = "0.1.7" s.source = { :git => "https://github.com/Organization/DependencyB.git", :tag => "0.1.7" }
-
Commit & Tag la version de cette dépendance
git add -A git commit -m 'Made some changes' git tag -a 0.1.7 -m 'This is an awesome tag :D' git push origin master git push --tags origin
-
Mettre à jour le repo privé cocoapods de l'organisation (que j'ai stocké dans le répertoire
~/
)cd ~/.cocoapods/OrganizationPrivateRepo/CoverFlux mkdir 0.1.7 cd 0.1.7
-
copier le fichier DependencyB.podspec mis à jour dans le répertoire privé de l'organisation (cloné dans le fichier
~/.cocoapods
)~/.cocoapods/OrganizationPrivateRepo/DependencyB/0.1.7/CoverFlux.podspec
-
Effectuer les changements dans le dépôt privé et pousser vers le dépôt distant.
cd ~/.cocoapods/OrganizationPrivateRepo/ git commit -am 'Added version 0.1.7 to DependencyB spec' git push origin master
-
Enfin, allez dans le dossier "Projet A" de l'initiale et mettez à jour
pod update
Note :
Un fichier pod ressemble à un projet :
platform :ios, '6.0'
pod 'DependencyB'