2008-10-21 11 views
9

Enterprise Architect permet de générer la documentation dans HTML/RTF/etc. que vous pourriez publier, mais vous devez utiliser son interface graphique pour le faire manuellement. Lorsque vous avez vos fichiers * .eap dans un serveur CVS/Subversion, il serait utile d'avoir un script qui vérifie quotidiennement la dernière version et la publie sur un serveur web. Tant que je sais, EA n'a pas d'utilitaire de ligne de commande à cette fin. J'ai trouvé que vous pouvez automatiser presque n'importe quoi en utilisant son interface COM, mais cela signifie qu'il est nécessaire d'écrire un petit programme pour le faire. Des idées sur la façon la plus simple/la plus propre de le faire (sans avoir à écrire du code, si possible)?Comment automatiser la génération de sortie HTML dans Enterprise Architect

Répondre

6

Je crains que vous ayez besoin d'écrire du code, mais il ne devrait pas y avoir plus d'une douzaine de lignes. La fonction que vous voudrez appeler est Project.RunHTMLReport() - une recherche rapide pour "RunHTMLReport" dans le fichier d'aide EA vous dira quels sont les paramètres dont il a besoin, et une recherche sur le forum du site Web Sparx vous trouvera un exemple ou deux.

7

Merci chimp, C'était plus facile que je ne le pensais. En Java:

class EADump 
{ 
    public static void main(String[] args) 
    { 
    org.sparx.Repository r = new org.sparx.Repository(); 

    System.out.println("Repository: " + args[0]); 
    System.out.println("Package: " + args[1]); 
    System.out.println("Output:  " + args[2]); 
    r.OpenFile(args[0]); 
    r.GetProjectInterface().RunHTMLReport(args[1], args[2], "GIF", "<default>", ".html"); 
    r.CloseFile(); 
    } 
} 
+0

De http://stackoverflow.com/users/486534/jeff: Le 1er argument est le PackageGUID comment le renvoyez-vous? D'où vient ce paramètre? –

+0

Il est montré dans les propriétés du paquet. –

+1

Une chose que je viens de remarquer: si le fichier EAP ou le paquet n'existe pas, RunHTMLReport ne vous le dira pas: pas de message d'erreur, pas d'exception, rien. En outre, il semble ne pas aimer les chemins relatifs. Enfin, le dernier arg (output) est un chemin. Si vous fournissez un chemin qui n'existe pas ou n'est pas valide, il ne fera rien en silence. –

Questions connexes