Comment corriger CIRCULAR_DEPENDENCY dans les déploiements Salesforce
Deux composants de métadonnées ou plus se référencent mutuellement, ce qui empêche Salesforce de déterminer un ordre de déploiement valide.
Apparaît pendant : la validation du déploiement des métadonnées, avant l'exécution de tout testCe que cela signifie
CIRCULAR_DEPENDENCY survient lorsque deux composants, le plus souvent des classes Apex, des enregistrements de métadonnées personnalisées ou des types d'enregistrement, exigent chacun l'existence préalable de l'autre. L'API Metadata déploie les composants dans l'ordre des dépendances, et un cycle signifie qu'aucun ordre valide ne satisfait les deux à la fois.
Apex est le déclencheur le plus courant car le compilateur résout les références de classes au moment du déploiement : si la signature de la Classe A référence la Classe B et que la signature de la Classe B référence la Classe A, aucune des deux ne peut être compilée seule en premier, uniquement ensemble dans la même transaction de déploiement.
Causes courantes
La solution
- Déployez d'abord un stub pour briser le cycleDéployez un côté de la paire avec une implémentation minimale ou vide, puis déployez la logique réelle lors d'une seconde passe.
- Combinez les deux composants en un seul déploiementRegroupez les classes ou métadonnées interdépendantes dans un seul déploiement afin que Salesforce résolve l'ensemble ensemble plutôt que de les ordonner individuellement.
sf project deploy start --source-dir force-app/main/default/classes/ClassA.cls force-app/main/default/classes/ClassB.cls - Refactorez pour supprimer la référence mutuelleExtrayez la logique partagée dans une troisième classe ou interface afin qu'aucun des composants d'origine ne dépende directement de l'autre.
Comment Serpent évite cela
Serpent suit les composants touchés par une tâche et signale les composants interdépendants avant qu'ils ne soient répartis entre des tâches distinctes, de sorte qu'une paire circulaire se déploie ensemble au lieu d'échouer à mi-chemin. Consultez la bibliothèque des erreurs de déploiement Salesforce.

Prévention
Erreurs associées
CIRCULAR_DEPENDENCY, expliqué
Commencez gratuitement. Sans carte bancaire, sans installation, sans engagement.
Configuration en moins de 15 minutes. Aucune embauche DevOps nécessaire.
