Ιδιότητες ρυθμίσεων δόμησης λειτουργιών και πρόσθετων λειτουργιών
Ο μηχανισμός δόμησης καθοδηγείται από τις ρυθμίσεις δόμησης. Οι
ρυθμίσεις δόμησης για μια μεμονωμένη πρόσθετη λειτουργία, τμήμα κώδικα ή
λειτουργία βρίσκονται στο αρχείο build.properties του αντίστοιχου
στοιχείου.
Οι οδηγοί δημιουργίας έργου PDE δημιουργούν το αρχείο build.properties κατά τη δημιουργία έργων πρόσθετων λειτουργιών. Το
αρχείο περιέχει πληροφορίες σχετικά με τον τρόπο μεταγλώττισης φακέλων
πρωτογενούς κώδικα σε αρχεία JAR. Οι συγκεκριμένες πληροφορίες μπορούν να
ενημερωθούν έμμεσα στη σελίδα "περιβάλλον εκτέλεσης" της
λειτουργίας επεξεργασίας δηλώσεων. Επίσης, μπορούν να τροποποιηθούν άμεσα μέσω της κατάλληλης λειτουργία επεξεργασίας.
Το περιβάλλον ανάπτυξης πρόσθετων λειτουργιών (PDE) παρέχει μια απλή λειτουργία
επεξεργασίας για το αρχείο
build.properties, η οποία περιλαμβάνει προβολές μορφής και πρωτογενούς κώδικα.
Το ίδιο το αρχείο ακολουθεί τη μορφή των ιδιοτήτων Java. Πρέπει να παράσχετε
ορισμένα κλειδιά και τις
αντίστοιχες τιμές τους. Οι πολλαπλές τιμές διαχωρίζονται χρησιμοποιώντας
κόμματα ως οριοθέτες.
Κοινές ιδιότητες
- bin.includes - λίστα των αρχείων που θα συμπεριληφθούν στη δυαδική
εκδοχή της πρόσθετης λειτουργίας που βρίσκεται σε διαδικασία δόμησης.
- bin.excludes - λίστα των αρχείων που θα
εξαιρεθούν από τη
δόμηση δυαδικού έργου.
- qualifier - όταν ο αριθμός της εκδοχής ενός στοιχείου τελειώνει με .qualifier, δηλώνει με ποια τιμή πρέπει να αντικατασταθεί το ".qualifier". Η
τιμή της ιδιότητας μπορεί να είναι context, <τιμή> ή none. Με την τιμή "context" θα δημιουργηθεί μια ημερομηνία σύμφωνα με την ημερομηνία συστήματος ή θα χρησιμοποιηθούν τα προσδιοριστικά CVS, αν η δόμηση γίνεται αυτόματα. Η
τιμή <τιμή> είναι μια πραγματική τιμή. Η
τιμή "none" θα αφαιρέσει την ιδιότητα ".qualifier". Εάν η ιδιότητα έχει
παραβλεφθεί, χρησιμοποιείται η τιμή "context".
- custom=true - δηλώνει ότι το σενάριο δόμησης είναι μη αυτόματο σε
αντίθεση με το σενάριο που δημιουργείται αυτόματα. Επομένως, καμία άλλη τιμή
δεν αναζητείται.
- customBuildCallbacks -
δηλώνει ένα αρχείο xml που περιέχει προσαρμοσμένους προορισμούς για να
χρησιμοποιηθούν όταν χρησιμοποιείται αυτή η λειτουργία/πρόσθετη λειτουργία.
(Δείτε προσαρμοσμένα βήματα
δόμησης λειτουργιών και πρόσθετων λειτουργιών
Συγκεκριμένες ιδιότητες πρόσθετων λειτουργιών
- source.<library> - αναφέρει τους φακέλους πρωτογενούς κώδικα που θα μεταγλωττιστούν (π.χ. source.xyz.jar=src/, src-ant/). Εάν
η βιβλιοθήκη καθορίζεται στο plug-in.xml ή το manifest.mf, η τιμή πρέπει να συμφωνεί με
αυτό.
- output.<library> - αναφέρει το φάκελο εξόδου, στον οποίο καταλήγει το αποτέλεσμα της μεταγλώττισης.
- exclude.<library> - αναφέρει τα αρχεία που δεν πρέπει να αντιγραφούν στη βιβλιοθήκη από το μεταγλωττιστή.
- extra.<library> - πρόσθετες διαδρομές κλάσεων που χρησιμοποιούνται για την εκτέλεση αυτόματης δόμησης. Οι διαδρομές κλάσεων μπορεί να είναι σχετικές διαδρομές ή URL πλατφόρμας που παραπέμπουν σε πρόσθετες λειτουργίες και τμήματα του περιβάλλοντος ανάπτυξης (π.χ. ../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar).
Προτιμώνται τα URL πλατφόρμας έναντι των σχετικών διαδρομών.
- manifest.<library> - δηλώνει το αρχείο που θα χρησιμοποιηθεί ως δήλωση για τη βιβλιοθήκη. Το αρχείο πρέπει να βρίσκεται σε έναν από τους φακέλους πρωτογενούς κώδικα που χρησιμοποιούνται ως δεδομένα εισόδου για το jar.
- src.includes - αναφέρει τα αρχεία που θα συμπεριληφθούν στη δόμηση πρωτογενούς κώδικα.
- src.excludes - εμφανίζει τα αρχεία που θα εξαιρεθούν από τη δόμηση πρωτογενούς κώδικα.
- jars.extra.classpath - (καταργημένο) ίδια λειτουργία με την ιδιότητα extra.<library>, μόνο που οι εγγραφές εφαρμόζονται σε όλες τις βιβλιοθήκες.
- jars.compile.order - ορίζει τη σειρά με την οποία πρέπει να μεταγλωττιστούν τα αρχεία jar (σε περίπτωση παρουσίας πολλαπλών βιβλιοθηκών).
- jre.compilation.profile - ορίζει το
περιβάλλον που χρησιμοποιείται για τη μεταγλώττιση αυτής της δέσμης.
(Βλέπε Έλεγχος του περιβάλλοντος μεταγλώττισης)
- javacSource - ορίζει το επίπεδο
συμβατότητας πρωτογενούς κώδικα για τη μεταγλώττιση αυτής της δέσμης.
Αντικαθιστά το jre.compilation.profile.
- javacTarget - ορίζει το επίπεδο
συμβατότητας του αρχείου προορισμού .class για τη μεταγλώττιση αυτής της
δέσμης.
Αντικαθιστά το jre.compilation.profile.
- bootClasspath - ορίζει τη διαδρομή
κλάσεων εκκίνησης για τη μεταγλώττιση αυτής της δέσμης. Αντικαθιστά το jre.compilation.profile.
- javacWarnings.<library> - ορίζει
τις επιλογές προειδοποιήσεων που θα μεταβιβαστούν στο μεταγλωττιστή.
(Ορίστε την επιλογή προειδοποίησης (επιλογή -warn) Μεταγλώττιση
κώδικα Java από τον οδηγό ανάπτυξης πρόσθετων λειτουργιών JDT).
- javacDefaultEncoding.<library> -
ορίζει την προεπιλεγμένη κωδικοποίηση που θα χρησιμοποιηθεί στη μεταγλώττιση της
δεδομένης βιβλιοθήκης.
- javacCustomEncodings.<library> -
λίστα των διαδρομών και των κωδικοποιήσεων, που διαχωρίζονται με κόμμα, οι οποίες θα
χρησιμοποιηθούν στη μεταγλώττιση της δεδομένης βιβλιοθήκης.
Παράδειγμα:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Οι τιμές που ορίζονται για τα κλειδιά που τελειώνουν με "includes" ή "excludes" εκφράζονται ως "μοτίβα" Ant. Από τις τυπικές μορφές προκύπτουν τα αναμενόμενα αποτελέσματα. Για
παράδειγμα, με το μοτίβο "*.jar" δηλώνονται όλα τα αρχεία jar στον κατάλογο
ανώτερου επιπέδου.
Τα μοτίβα δεν έχουν βάθος από προεπιλογή. Αν, για παράδειγμα, θέλετε να περιγράψετε όλα τα αρχεία Java, πρέπει να χρησιμοποιήσετε το μοτίβο "**/*.java". Το μοτίβο "**" συμφωνεί με οποιονδήποτε αριθμό επιπέδων καταλόγου. Παρομοίως, για να περιγράψετε ολόκληρες υπο-διακλαδώσεις, χρησιμοποιήστε το μοτίβο "xyz/".
Συγκεκριμένες ιδιότητες λειτουργιών
- root - εμφανίζει τα αρχεία και τους φακέλους που πρέπει να συμπεριληφθούν στον κεντρικό κατάλογο του προϊόντος. Οι διαφορετικές τιμές που υποστηρίζονται είναι οι εξής:
- <folderName> - μια σχετική διαδρομή προς έναν φάκελο που θα αντιγραφεί.
- file:<fileName> - μια σχετική διαδρομή προς ένα αρχείο που θα αντιγραφεί.
- absolute:<folderName> - μια απόλυτη διαδρομή προς έναν φάκελο που θα αντιγραφεί.
- absolute:file:<fileName> - μια απόλυτη διαδρομή προς ένα αρχείο που θα αντιγραφεί.
- root.<config> - εμφανίζει τα αρχεία και τους φακέλους που πρέπει να συμπεριληφθούν στον κεντρικό κατάλογο του προϊόντος, όταν έχει δομηθεί για τις συγκεκριμένες ρυθμίσεις. Το "config" αποτελείται από τρία (3) τμήματα ρυθμίσεων διαχωρισμένα με μια τελεία.
- root.permissions.<permissionValue> - εμφανίζει τα αρχεία και τους φακέλους στα οποία πρέπει να εκτελεστεί η ενέργεια "chmod" για να εφαρμοστεί η δεδομένη τιμή. Η παραπομπή στους φακέλους πρέπει να τελειώνει με το χαρακτήρα "/".
- root.permissions.<config>.<permissionValue> - εμφανίζει τα αρχεία και τους φακέλους στα οποία πρέπει να εκτελεστεί η ενέργεια "chmod" για να εφαρμοστεί η δεδομένη τιμή για κάποιες συγκεκριμένες ρυθμίσεις. Η παραπομπή στους φακέλους πρέπει να τελειώνει με το χαρακτήρα "/".
- root.link - εμφάνιση κατά ζεύγη (διαχωρισμένων με κόμμα) των αρχείων και των φακέλων που πρέπει να διασυνδεθούν συμβολικά. Η πρώτη εγγραφή δηλώνει την προέλευση (προορισμό στην ορολογία unix) και η δεύτερη εγγραφή το όνομα της διασύνδεσης.
- root.link.<config> - λίστα ζευγών αρχείων και φακέλων διαχωρισμένων με κόμμα, τα οποία πρέπει να διασυνδεθούν συμβολικά για συγκεκριμένες ρυθμίσεις. Η πρώτη εγγραφή δηλώνει την προέλευση (προορισμό στην ορολογία unix) και η δεύτερη εγγραφή το όνομα της διασύνδεσης.
- generate.feature@<featureId> - δηλώνει ότι η λειτουργία προέλευσης featureId θα είναι η λειτουργία προέλευσης για τη λειτουργία που δηλώνεται ως τιμή αυτής της ιδιότητας. Οι
τιμές που εμφανίζονται μετά το πρώτο κόμμα δηλώνουν τα στοιχεία που πρέπει να ανακτηθούν
από το χώρο αποθήκευσης. (Βλέπε Δημιουργία
λειτουργιών και πρόσθετων λειτουργιών πρωτογενούς κώδικα)
- generate.plugin@<pluginId> - δηλώνει ότι η πρόσθετη λειτουργία προέλευσης pluginId θα είναι η πρόσθετη λειτουργία προέλευσης για την πρόσθετη λειτουργία που δηλώνεται ως τιμή αυτής της ιδιότητας.
- significantVersionDigits - ο αριθμός των
σημαντικών ψηφίων που χρησιμοποιούνται όταν δημιουργούνται τα επιθήματα εκδοχών
λειτουργιών. (Βλέπε Προσδιοριστικά εκδοχής)
- generatedVersionLength - το μήκος του
επιθήματος εκδοχής της δημιουργημένης λειτουργίας.
Το ακόλουθο παράδειγμα έχει ληφθεί από το αρχείο build.properties της λειτουργίας org.eclipse.platform.
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*