Εργαλεία αυξητικής δόμησης έργου

org.eclipse.core.resources.builders

Ο χώρος εργασίας υποστηρίζει την έννοια ενός εργαλείου αυξητικής δόμησης έργου (ή "εργαλείο δόμησης" για συντομία). Εργασία ενός εργαλείου δόμησης είναι η επεξεργασία ενός συνόλου αλλαγών πόρου (παρέχονται ως τροποποιημένα στοιχεία πόρου). Για παράδειγμα, ένα εργαλείο δόμησης Java θα αναμεταγλωττίζει αρχεία Java στα οποία πραγματοποιήθηκαν αλλαγές και θα δημιουργεί νέα αρχεία κλάσης.

Η ρύθμιση των εργαλείων δόμησης πραγματοποιείται για κάθε έργο και εκτελείται αυτόματα όταν υπάρχουν αλλαγές στους πόρους του έργου. Έτσι, τα εργαλεία δόμησης θα πρέπει να είναι γρήγορα και να προσαρμόζονται ανάλογα με την ποσότητα των αλλαγών και όχι ανάλογα με το πλήθος των πόρων που περιέχονται στο έργο. Αυτό σημαίνει συνήθως ότι τα εργαλεία δόμησης έχουν τη δυνατότητα αυξητικής ενημέρωσης της "κατάστασης δόμησης" στην οποία βρίσκονται.

Το σημείο επέκτασης εργαλείων δόμησης επιτρέπει στους μεταγραφείς των εργαλείων αυτών να καταχωρούν την υλοποίηση του αντίστοιχου εργαλείου δόμησης χρησιμοποιώντας ένα συμβολικό όνομα, το οποίο στη συνέχεια χρησιμοποιείται από το χώρο εργασίας για την εύρεση και την εκτέλεση των εργαλείων δόμησης. Το συμβολικό όνομα είναι η ταυτότητα της επέκτασης του εργαλείου δόμησης. Κατά τον ορισμό μιας επέκτασης εργαλείου δόμησης, συνιστάται στους χρήστες να συμπεριλαμβάνουν μια αναγνώσιμη από τον άνθρωπο τιμή για το γνώρισμα "name", το οποίο προσδιορίζει το εργαλείο δόμησης και μπορεί να εμφανίζεται στους χρήστες.

<!ELEMENT extension (builder)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #REQUIRED

name  CDATA #IMPLIED>


<!ELEMENT builder (run?)>>

<!ATTLIST builder

hasNature      (true | false)

isConfigurable (true | false) >


<!ELEMENT run (parameter*)>

<!ATTLIST run

class CDATA #REQUIRED>


<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>


Παρακάτω δίνεται ένα παράδειγμα ρυθμίσεων εργαλείου δόμησης:

   

<extension id=

"coolbuilder"

name=

"Cool Builder"

point=

"org.eclipse.core.resources.builders"

>

<builder hasNature=

"false"

>

<run class=

"com.xyz.builders.Cool"

>

<parameter name=

"optimize"

value=

"true"

/>

<parameter name=

"comment"

value=

"Produced by the Cool Builder"

/>

</run>

</builder>

</extension>

Εάν αυτή η επέκταση έχει οριστεί σε μια πρόσθετη λειτουργία με την ταυτότητα "com.xyz.coolplugin", το πλήρες όνομα του εργαλείου δόμησης θα είναι "com.xyz.coolplugin.coolbuilder".

Η τιμή του γνωρίσματος class πρέπει να εκφράζει μια υποκλάση της org.eclipse.core.resources.IncrementalProjectBuilder.

Η ίδια η πλατφόρμα δεν περιέχει προκαθορισμένα εργαλεία δόμησης. Οι εγκαταστάσεις συγκεκριμένων προϊόντων ενδέχεται να συμπεριλαμβάνουν τα απαραίτητα εργαλεία δόμησης.