2009-03-16 19 views
0

Nous avons des projets en matière de contrôle de vitesse, mis en place à peu près comme ceci:Régulateur de vitesse perdre de chemins en sous-tâches

Régulateur de vitesse

<ant antfile="build.xml" dir="A" target="compile" inheritAll="false" /> 

dans A les appels cibles de compilation, en tant que partie de sa compilation, une cible de pot dans B (en "compiler")

<ant antfile="${B.dir}/build.xml" inheritAll="false" target="jar" /> 
<javac ... > 

Donc B a une tâche de pot. A construit le pot de B et l'utilise ensuite dans sa compilation.

Le problème que je rencontre est que le régulateur de vitesse semble perturber les chemins. Bien que la tâche de compilation A fonctionne directement à partir de la commande ant, lorsqu'elle est exécutée à partir de cruisecontrol, elle semble essayer de trouver ses propres bibliothèques internes basées sur les chemins des paramètres du fichier B.

Pour que cela fonctionne en fourmi je devais appeler B de A en utilisant le inheritAll = drapeau « false », mais ni ceci, ni appeler javac avec une fourchette semble résoudre le problème.

Possiblement lié - nous exécutons ant @ version 1.7, le serveur cc est à la version 1.6.5, que je ne peux pas facilement mettre à jour.

Des indices?

Répondre

1

Dans votre configuration CruiseControl, vous pouvez spécifier le anthome or antscript attributes afin que vous utilisiez votre version de Ant, vous devriez donc pouvoir obtenir le même comportement de CC que vous obtenez sur la ligne de commande.

+0

Ceci est un bon lien. Merci. Cependant, je suis toujours coincé, car les attributs anthome/antscript ne sont toujours pas reconnus. Savez-vous si ceux-ci sont nouveaux pour Ant 1.7? Si c'est le cas, alors j'ai besoin d'obtenir la version Ant. Si non, l'installation de cc est bloquée. Merci encore pour le conseil. –

+0

Ces attributs sont pour le fichier config.xml de CruiseControl, pas pour Ant build.xml. Vous les utilisez pour dire à CC quel Ant il devrait utiliser pour la construction. –