JavaScool:SpecJavaScoolBuilder

De Sciencinfolycee
Aller à : navigation, rechercher

JavaScoolBuilder effectue les actions suivantes :

  1. Crée un répertoire de travail dit «cible»
    • dont l'arborescence correspond au fichier jar final
  2. Déploie dans la cible
    • les classes Java de la plateforme Javas'Cool
    • les classes et fichiers des proglets externes
      • c'est à dire celles qui sont présentes dans les fichiers Jar du répertoire du sketchbook
    • les classes et fichiers des proglets à compiler
      • y compris les classes présentes dans les fichiers Jar des répertoires des proglets
  3. Pour chaque proglet
    1. Teste que les fichiers de la proglet vérifient les spécifications demandées.
    2. Traduit tous les fichiers d'extension .xml contenant de la documentation Hml en fichier Html d'extension .htm
    3. Compile tous les fichiers Java éventuels en fichier .class
    4. (à implémenter) Génère les doc Java et une version colorisée des sources Java
  4. Crée le fichier javascool-proglets.jar avec tous ces éléments
    • les fichiers sources des proglets et les fichiers compilés et traduits
    • les autres classes java permettant de les faire fonctionner.
  5. Nettoie le dossier cible.

Discussion

  • Le dossier de la proglet dans le sketchbook ne doit pas contenir de sous-dossiers
  • Les fichiers Panel.java et Functions.java sont optionnels, il est donc possible qu'aucune source java ne soit présente pour une proglet.
  • Le jar final (dans le dossier de la proglet) contient pour chaque fichier *.java
    • Les fichiers *.class de la compilations
    • Un fichier *.html correspondant à la javadoc et un fichier *.java.html du fichier correspondant à une version colorisée du source.
  • Les dossiers et fichiers du sketchbook restent inchangés, tout est généré dans le dossier cible
    • Ces dossiers ne doivent contenir que les sources *.java et .xml (à l'exclusion des *.class, .htm, ..).
  • Le fichier proglet.pml doit être présent
    • Il est aussi converti en fichier .php pour son usage sur le site web