Compilations

Les compilateurs créent ou modifient des ressources de l'espace de travail, généralement en fonction de l'existence et de l'état d'autres ressources. Il s'agit de puissants mécanismes qui permettent de mettre en oeuvre les contraintes de certaines domaines. Par exemple, un compilateur Java convertit des fichiers source Java (fichiers .java) en fichiers de classe exécutables (fichiers .class), un compilateur de liens Web met à jour les liens vers des fichiers dont le nom/emplacement a changé, etc. A mesure que des ressources sont créées et modifiées, des compilateurs sont exécutés et les contraintes sont préservées. Cette conversion n'a pas à s'effectuer sur le principe un à un. Par exemple, un fichier .java peut générer plusieurs fichiers .class. 

Compilation automatique et compilation manuelle

Il existe deux modes de compilations distincts : la compilation automatique et la compilation à l'initiative de l'utilisateur.

Si vous n'avez pas besoin de contrôler au plus près le déroulement des générations peuvent tout simplement activer la génération automatique. Dans ce mode, les générations s'effectuent après chaque série de modifications de ressources (par exemple, sauvegarde d'un fichier, importation d'un ZIP, ...). La génération automatique est efficace car la quantité de travail effectuée est proportionnelle à la quantité de modifications entrées.  La compilation automatique présente l'avantage d'avoir toujours des ressources dérivées (par exemple, les fichiers .class Java) à jour. La génération automatique est activée/désactivée via l'option Générer automatiquement dans la page des préférences Général > Espace de travail.

Si vous souhaitez contrôler davantage le moment d'exécution des générations, vous pouvez désactiver la génération automatique et appeler manuellement les générations. Ce mode de fonctionnement est préférable lorsque, par exemple, vous savez pertinemment qu'une génération n'a aucun intérêt tant que vous n'avez pas effectué un nombre suffisamment important de modifications. Dans ce cas, les frais de compilations automatiques prématurées sont superflus. Vous pouvez lancer des générations manuelles de différentes manières, par exemple en sélectionnant Générer un projet dans le menu contextuel du projet.

L'inconvénient de la compilation manuelle réside dans le fait que les incidents générés pour indiquer des erreurs se périment rapidement jusqu'à ce que vous compiliez. De plus, vous ne devez pas oublier d'effectuer une compilation manuelle avant de vous fier aux résultats de compilation (par exemple, avant d'exécuter le programme Java).

Génération et nettoyage

Les compilations s'effectuent de manière incrémentielle en fonction de l'état de compilation antérieur. Elles appliqueront les conversions des compilateurs configurés uniquement aux ressources qui ont été modifiées depuis le calcul de l'état précédent (c'est-à-dire depuis la dernière compilation). La compilation automatique utilise toujours une compilation incrémentielle pour plus d'efficacité.

Une compilation de nettoyage (Projet > Nettoyer) élimine tout état de compilation existant. La compilation postérieure à un nettoyage convertira toutes les ressources en fonction des règles de domaine des compilateurs configurés.

En fonction de vos besoins, la génération et le nettoyage peuvent être effectués sur un ensemble spécifique de projets ou sur l'intégralité de l'espace de travail. Des fichiers et des dossiers spécifiques peuvent être compilés séparément.