Eclipse Ç÷§Æû
Ç÷¯±×ÀÎ Manifest
¹öÀü 0.90 - ¸¶Áö¸· ¼öÁ¤ ½Ã°£: 2001³â 3¿ù 15ÀÏ
¾Æ·¡ÀÇ Manifest ¸¶Å©¾÷ Á¤ÀÇ¿¡¼´Â ´Ù¾çÇÑ À̸§ ÁöÁ¤ ÅäÅ« ¹× ID¸¦
»ç¿ëÇÕ´Ï´Ù. ¸ðÈ£¼ºÀ» ¾ø¾Ö±â À§ÇØ
ÀÌ·¯ÇÑ À̸§ ÁöÁ¤ ÅäÅ« ¹× ID¿¡´Â ¸î °¡Áö ÇÁ·Î´ö¼Ç ±ÔÄ¢ÀÌ Àû¿ëµË´Ï´Ù(¾Æ·¡ ÅØ½ºÆ® ÂüÁ¶). ÀϹÝÀûÀ¸·Î ¸ðµç ID´Â
´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÕ´Ï´Ù.
SimpleToken := sequence of characters from ('a-z','A-Z','0-9')
ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken)
JavaClassName := ComposedToken
PlugInId := ComposedToken
PlugInPrereq := PlugInId | 'export' PlugInId
ExtensionId := SimpleToken
ExtensionPointId := SimpleToken
ExtensionPointReference := ExtensionPointID | (PlugInId '.' ExtensionPointId)
ÀÌ ÀýÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼´Â plugin.xml ÆÄÀÏ ±¸Á¶¸¦ ÀÏ·ÃÀÇ DTD ´ÜÆíÀ¸·Î ¼³¸íÇÕ´Ï´Ù.
plugin.dtd ÆÄÀÏ¿¡¼´Â Àüü DTD Á¤ÀǸ¦
º¼ ¼ö ÀÖ½À´Ï´Ù.
<?xml encoding="US-ASCII"?>
<!ELEMENT plugin (requires?, runtime?, extension-point*, extension*)>
<!ATTLIST plugin
name CDATA #REQUIRED
id CDATA #REQUIRED
version CDATA #REQUIRED
vendor-name CDATA #IMPLIED
class CDATA #IMPLIED
>
<plugin> ¿ä¼Ò´Â Manifest º»¹®À» Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ¿ä¼Ò¿¡´Â Ç÷¯±×ÀÎ ·±Å¸ÀÓ¿¡ ´ëÇÑ Á¤ÀÇ,
Ç÷¯±×Àο¡ ÀÇÇØ Á¦°øµÇ´Â »õ È®ÀåÁ¡ÀÇ ¼±¾ð»Ó¸¸ ¾Æ´Ï¶ó ±â´ÉÀû È®ÀåÀÇ ±¸¼º(´Ù¸¥ Ç÷¯±×Àο¡¼ Á¤ÀÇÇϰųª
ÇØ´ç Ç÷¯±×Àο¡¼ Á¦°øÇÏ´Â È®ÀåÁ¡À¸·Î ±¸¼º)ÀÌ ¼±ÅÃÀûÀ¸·Î Æ÷ÇԵ˴ϴÙ. <plugin> ¼Ó¼ºÀº ´ÙÀ½°ú
°°ÀÌ ±¸¼ºµË´Ï´Ù.
-
name - Ç÷¯±×ÀÎÀÇ »ç¿ëÀÚ Ç¥½Ã °¡´ÉÇÑ(º¯È¯ °¡´ÉÇÑ) À̸§
-
id - Ç÷¯±×ÀÎÀÇ °íÀ¯ ID
-
À̸§ ÁöÁ¤ Ãæµ¹ÀÇ °¡´É¼ºÀ» ÃÖ¼ÒÈÇÏ·Á¸é µµ¸ÞÀÎ À̸§ ÅäÅ«À» ¹Ý´ë·Î Çϰųª Ãß°¡ À̸§ ÅäÅ«À» Á¡(.)À¸·Î
±¸ºÐÇÏ¿© Ãß°¡ÇÏ´Â µîÀÇ ¹æ¹ýÀ¸·Î °ø±Þ º¥´õÀÇ ÀÎÅÍ³Ý µµ¸ÞÀÎ ID¿¡¼ ÀÌ ID¸¦ ÆÄ»ý½ÃÄÑ¾ß ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, º¥´õ ibm.com¿¡¼´Â com.ibm.db2¶ó´Â Ç÷¯±×ÀÎ ID¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
-
[ÇÁ·Î´ö¼Ç ±ÔÄ¢: PlugInId]
-
version - Ç÷¯±×ÀÎ ¹öÀü ¹øÈ£.
¼¼ºÎ»çÇ׿¡ ´ëÇØ¼´Â
org.eclipse.core.runtime.PluginVersionIdentifier¸¦
ÂüÁ¶ÇϽʽÿÀ. Ç÷¯±×ÀÎ ¹öÀü Çü½ÄÀº major.minor.serviceÀÔ´Ï´Ù. ÁÖ ±¸¼º¿ä¼ÒÀÇ º¯°æÀº ȣȯ ºÒ°¡´ÉÇÑ
¹öÀü º¯°æÀ¸·Î ÇØ¼®µÇ°í, ºÎ ±¸¼º¿ä¼ÒÀÇ º¯°æÀº ȣȯ °¡´ÉÇÑ ¹öÀü º¯°æÀ¸·Î ÇØ¼®µË´Ï´Ù.
¶ÇÇÑ ¼ºñ½º ±¸¼º¿ä¼ÒÀÇ º¯°æÀº ºÎ ¹öÀü¿¡ ´©Àû ¼ºñ½º°¡ Àû¿ëµÈ °ÍÀ¸·Î ÇØ¼®µË´Ï´Ù.
-
vendor-name - Ç÷¯±×ÀÎÀ» °ø±ÞÇÏ´Â º¥´õÀÇ »ç¿ëÀÚ Ç¥½Ã °¡´ÉÇÑ À̸§
-
class - ÀÌ Ç÷¯±×ÀÎÀÇ Ç÷¯±×ÀΠŬ·¡½º À̸§. ÀÌ Å¬·¡½º´Â
org.eclipse.core.runtime.PluginÀÇ
¼ºêŬ·¡½ºÀ̾î¾ß ÇÕ´Ï´Ù.
XML DTD »ý¼º ±ÔÄ¢¿¡¼ element*´Â ÇØ´ç ¿ä¼Ò°¡ 0°³ ÀÌ»ó ¹ß»ýÇÔÀ» ÀǹÌÇϰí,
element?´Â ÇØ´ç ¿ä¼Ò°¡ 0°³ ¶Ç´Â ÇÑ °³ ¹ß»ýÇÔÀ» ÀǹÌÇϸç,
element+(¾Æ·¡ ÂüÁ¶)´Â ÇØ´ç ¿ä¼Ò°¡ ÇÑ °³ ÀÌ»ó ¹ß»ýÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
µû¶ó¼, À§ÀÇ <plugin> Á¤ÀÇ¿¡ µû¸£´Â °æ¿ì ¿¹¸¦ µé¾î, ·±Å¸ÀÓ Á¤ÀǸ¸ Æ÷ÇԵǰí È®ÀåÁ¡ ¼±¾ðÀ̳ª È®Àå ±¸¼ºÀº
Æ÷ÇÔµÇÁö ¾ÊÀº Ç÷¯±×ÀÎ(¿¹: ´Ù¸¥ Ç÷¯±×ÀÎÀÌ ÀÇÁ¸ÇÏ´Â °øÅë ¶óÀ̺귯¸®)Àº ¿Ã¹Ù¸¨´Ï´Ù.
¸¶Âù°¡Áö·Î, È®Àå ±¸¼º¸¸ Æ÷ÇԵǰí ÀÚüÀÇ ·±Å¸ÀÓÀ̳ª È®ÀåÁ¡Àº Æ÷ÇÔµÇÁö ¾ÊÀº Ç÷¯±×ÀÎ(¿¹:
´Ù¸¥ Ç÷¯±×Àο¡ Á¦°øµÈ Ŭ·¡½º¸¦ ´Ù¸¥ Ç÷¯±×Àο¡ ¼±¾ðµÈ È®ÀåÁ¡À¸·Î ±¸¼º)µµ ¿Ã¹Ù¸¨´Ï´Ù.
ManifestÀÇ <requires> ¼½¼Ç¿¡¼´Â ´Ù¸¥ Ç÷¯±×Àο¡ ´ëÇÑ Á¾¼Ó¼ºÀ» ¼±¾ðÇÕ´Ï´Ù.
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
plugin CDATA #REQUIRED
version CDATA #IMPLIED
match (exact | compatible) "compatible"
export (true | false) "false"
>
°¢ Á¾¼Ó¼ºÀº <import> ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù. ÀÌ ¿ä¼Ò¿¡´Â
´ÙÀ½ ¼Ó¼ºÀÌ Æ÷ÇԵ˴ϴÙ.
-
plugin - Çʼö Ç÷¯±×ÀÎÀÇ ID
-
version - ¼±ÅÃÀû ¹öÀü ½ºÆå
-
match - ¹öÀü ÀÏÄ¡ ±ÔÄ¢. ¹öÀü ¼Ó¼ºÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é
¹«½ÃµË´Ï´Ù.
ÁöÁ¤µÈ ¹öÀüÀÇ Ç÷¯±×Àο¡ ´ëÇØ¼¸¸(¶Ç´Â Àû¿ëµÈ Ãß°¡ ¼ºñ½º¿¡ ´ëÇØ¼¸¸) Á¾¼Ó¼ºÀÌ ¸¸Á·µÇ´ÂÁö ¶Ç´Â ¸ðµç
ȣȯ °¡´ÉÇÑ ¹öÀü(º¸´Ù ÃÖ±ÙÀÇ Ç÷¯±×ÀÎ ºÎ ¹öÀü Æ÷ÇÔ)¿¡ ´ëÇØ ¸¸Á·µÉ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ ÆÇº°ÇÕ´Ï´Ù.
-
export - Á¾¼Ó Ç÷¯±×ÀΠŬ·¡½º°¡ ÀÌ Ç÷¯±×ÀÎÀÇ »ç¿ëÀÚ¿¡°Ô Ç¥½ÃµÇ´ÂÁö(³»º¸³»Áö°Å³ª ´Ù½Ã
³»º¸³»Áö´ÂÁö) ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î Á¾¼Ó Ŭ·¡½º´Â ³»º¸³»ÁöÁö(Ç¥½ÃµÇÁö)
¾Ê½À´Ï´Ù.
ManifestÀÇ <runtime> ¼½¼Ç¿¡´Â Ç÷¯±×ÀÎ ·±Å¸ÀÓÀ» ±¸¼ºÇÏ´Â Çϳª ÀÌ»óÀÇ ¶óÀ̺귯¸®
Á¤Àǰ¡ Æ÷ÇԵ˴ϴÙ. ÂüÁ¶µÈ ¶óÀ̺귯¸®´Â Ç÷§Æû ½ÇÇà ¸ÞÄ¿´ÏÁò(Ç÷¯±×ÀΠŬ·¡½º ·Î´õ)¿¡¼ ÇØ´ç Ç÷¯±×Àο¡
ÇÊ¿äÇÑ ¿Ã¹Ù¸¥ Äڵ带 ·ÎµåÇÏ°í ½ÇÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT runtime (library+)>
<!ELEMENT library (export*)>
<!ATTLIST library
name CDATA #REQUIRED
>
<!ELEMENT export EMPTY>
<!ATTLIST export
name CDATA #REQUIRED
>
<runtime> ¿ä¼Ò¿¡´Â ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù.
<library> ¿ä¼Ò´Â Ç÷¯±×ÀÎ ·±Å¸ÀÓÀ» Á¾ÇÕÀûÀ¸·Î Á¤ÀÇÇÕ´Ï´Ù. Àû¾îµµ ÇϳªÀÇ <library>°¡ ÁöÁ¤µÇ¾î¾ß
ÇÕ´Ï´Ù. °¢ <library> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.
-
name - Ŭ·¡½º°¡ Æ÷ÇÔµÈ ¶óÀ̺귯¸® ÆÄÀÏ ¶Ç´Â µð·ºÅ丮(Ç÷¯±×ÀÎ
¼³Ä¡ µð·ºÅ丮¿Í °ü·Ã)¿¡ ´ëÇÑ ¹®ÀÚ¿ ÂüÁ¶ÀÔ´Ï´Ù. µð·ºÅ丮 ÂüÁ¶ µÚ¿¡´Â
ÆÄÀÏ ºÐ¸®ÀÚ°¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
°¢ <library> ¿ä¼Ò¿¡¼´Â ³»º¸³»¾ß ÇÏ´Â ¶óÀ̺귯¸® ºÎºÐÀ»
ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
³»º¸³»±â ±ÔÄ¢Àº ÀÏ·ÃÀÇ ³»º¸³»±â ¸¶½ºÅ©·Î ÁöÁ¤µË´Ï´Ù. ±âº»ÀûÀ¸·Î(³»º¸³»±â ±ÔÄ¢ÀÌ ÁöÁ¤µÇÁö ¾ÊÀ½)
¶óÀ̺귯¸®´Â °³ÀοëÀ¸·Î °£Áֵ˴ϴÙ.
<export> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.
-
name - ³»º¸³»±â ¸¶½ºÅ©¸¦ ÁöÁ¤ÇÕ´Ï´Ù. À¯È¿ÇÑ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
-
* - ¶óÀ̺귯¸®ÀÇ ¸ðµç ÄÁÅÙÃ÷°¡ ³»º¸³»Áü(°ø¿ë)À» Ç¥½ÃÇÕ´Ï´Ù.
-
package-name.* - ÁöÁ¤µÈ ÆÐŰÁöÀÇ ¸ðµç Ŭ·¡½º°¡ ³»º¸³»ÁüÀ» Ç¥½ÃÇÕ´Ï´Ù. ÀÏÄ¡ ±ÔÄ¢Àº Java
import ¹®¿¡¼¿Í µ¿ÀÏÇÕ´Ï´Ù.
-
class-name - ¿ÏÀüÇÑ Java Ŭ·¡½º À̸§
Ç÷§ÆûÀÇ ¾ÆÅ°ÅØÃ³´Â ±¸¼º °¡´ÉÇÑ È®ÀåÁ¡ÀÇ °³³äÀ» ±â¹ÝÀ¸·Î
ÇÕ´Ï´Ù. Ç÷§Æû ÀÚü¿¡¼´Â Ç÷§Æû ¹×
µ¥½ºÅ©Å¾¿¡ ´ëÇÑ È®Àå Ÿ½ºÅ©(¿¹: ¸Þ´º Á¶Ä¡ Ãß°¡, ÀÓº£µåµÈ ÆíÁý±â Á¦°ø)¸¦ ´Ù·ç´Â ÀÏ·ÃÀÇ È®ÀåÁ¡À» ¹Ì¸®
Á¤ÀÇÇÕ´Ï´Ù. ¹Ì¸® Á¤ÀÇµÈ È®ÀåÁ¡ ¿Ü¿¡, Á¦°øµÈ °¢ Ç÷¯±×Àο¡¼ Ãß°¡
È®ÀåÁ¡À» ¼±¾ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
º»ÁúÀûÀ¸·Î Ç÷¯±×ÀÎÀº È®ÀåÁ¡À» ¼±¾ðÇÔÀ¸·Î½á ¿ÜºÎ¿¡¼ Á¦°øµÇ´Â È®Àå°ú ÇÔ²² Ç÷¯±×ÀÎ ±â´ÉÀ» ±¸¼ºÇÏ´Â
±â´ÉÀ» °ø°³ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÆäÀÌÁö ºô´õ Ç÷¯±×Àο¡¼´Â ºô´õ ÆÈ·¹Æ®¿¡ »õ DTS(Design Time Control)¸¦
Ãß°¡Çϱâ À§ÇÑ È®ÀåÁ¡À» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ ÆäÀÌÁö ºô´õ¿¡¼´Â DTCÀÇ Àǹ̿¡ ´ëÇÑ ¾ÆÅ°ÅØÃ³¸¦
Á¤ÀÇÇϰí È®ÀåÁ¡À¸·Î ±¸¼ºµÈ DTC È®ÀåÀ» ã´Â Äڵ带 ±¸ÇöÇß½À´Ï´Ù.
<!ELEMENT extension-point EMPTY>
<!ATTLIST extension-point
name CDATA #REQUIRED
id CDATA #REQUIRED
schema CDATA #IMPLIED
>
<extension-point> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.
-
name - È®ÀåÁ¡ÀÇ »ç¿ëÀÚ Ç¥½Ã °¡´ÉÇÑ(º¯È¯ °¡´ÉÇÑ) À̸§
-
id - ÀÌ Ç÷¯±×ÀÎ ³»¿¡¼ °íÀ¯ÇÑ °£´ÜÇÑ ID ÅäÅ«. ÀÌ ÅäÅ«¿¡´Â Á¡(.) ¶Ç´Â °ø¹éÀÌ Æ÷Ç﵃ ¼ö
¾ø½À´Ï´Ù.
-
[ÇÁ·Î´ö¼Ç ±ÔÄ¢: ExtensionPointId]
-
schema - ÀÌ È®ÀåÁ¡¿¡ ´ëÇÑ ½ºÅ°¸¶ ½ºÆå. Á¤È®ÇÑ ¼¼ºÎ»çÇ×Àº PDE (Plug-in Development Environment)ÀÇ
ÀϺηΠÁ¤Àǵ˴ϴÙ. ÀÌ ½ºÅ°¸¶´Â ÇöÀç ·±Å¸ÀÓ¿¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÂüÁ¶´Â Ç÷¯±×ÀÎ ¼³Ä¡
À§Ä¡¿Í °ü·ÃµÈ ÆÄÀÏ À̸§ÀÔ´Ï´Ù.
½ÇÁ¦ È®ÀåÀº <extension> ¼½¼Ç¿¡¼ È®ÀåÁ¡(ÀÌ Ç÷¯±×Àο¡¼ ¹Ì¸® Á¤Àǵǰųª
»õ·Î ¼±¾ðµÈ È®ÀåÁ¡)À¸·Î ±¸¼ºµË´Ï´Ù.
±¸¼º Á¤º¸´Â <extension> ÅÂ±×¿Í </extension> ű×
»çÀÌ¿¡¼ Á¦´ë·Î ±¸¼ºµÈ XML·Î ÁöÁ¤µË´Ï´Ù.
Ç÷§Æû¿¡¼´Â Á¦´ë·Î ±¸¼ºµÈ XML¿¡ ÇʼöÀûÀÎ °Í ÀÌ¿ÜÀÇ ±¸¼º ¸¶Å©¾÷¿¡
´ëÇÑ ½ÇÁ¦ ¾ç½ÄÀ» ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌ ¸¶Å©¾÷Àº È®ÀåÁ¡À» ¼±¾ðÇÑ Ç÷¯±×ÀÎÀÇ °ø±ÞÀÚ¿¡ ÀÇÇØ
Á¤Àǵ˴ϴÙ. Ç÷§Æû¿¡¼´Â ±¸¼º ¸¶Å©¾÷À»
½ÇÁ¦·Î ÇØ¼®ÇÏÁö ¾ÊÀ¸¸ç, È®ÀåÁ¡ ³í¸®°¡ ±¸¼ºµÈ ¸ðµç È®ÀåÀ» Á¶È¸ÇÒ ¶§ È®ÀåÁ¡ ó¸®ÀÇ ÀϺηΠ±¸¼º Á¤º¸¸¦
Ç÷¯±×Àο¡ Àü´ÞÇÕ´Ï´Ù.
<!ELEMENT extension ANY>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
<extension> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.
-
point - ±¸¼ºµÇ´Â È®ÀåÁ¡¿¡ ´ëÇÑ ÂüÁ¶. È®ÀåÁ¡Àº ÀÌ Ç÷¯±×ÀÎ ¶Ç´Â ´Ù¸¥ Ç÷¯±×Àο¡¼ Á¤ÀÇµÈ °ÍÀÏ ¼ö
ÀÖ½À´Ï´Ù.
-
[ÇÁ·Î´ö¼Ç ±ÔÄ¢: ExtensionPointReference]
-
id - ÀÌ È®ÀåÁ¡ ±¸¼º ÀνºÅϽº¿¡ ´ëÇÑ ¼±ÅÃÀû ID. ÀÌ ID´Â ±¸¼ºµÈ ƯÁ¤ È®ÀåÀ»
´ÜÁö ¿°ÅÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó °íÀ¯ÇÏ°Ô ½Äº°ÇØ¾ß ÇÏ´Â È®ÀåÁ¡¿¡¼ »ç¿ëµË´Ï´Ù. ÀÌ ID´Â
¼±¾ðÇÏ´Â Ç÷¯±×ÀÎÀÇ Á¤ÀÇ ³»¿¡¼ °íÀ¯ÇÏ°í °£´ÜÇÑ ÅäÅ«À¸·Î ÁöÁ¤µË´Ï´Ù. ±Û·Î¹ú·Î
»ç¿ëµÇ´Â °æ¿ì È®Àå ID´Â Ç÷¯±×ÀÎ ID¿¡ ÀÇÇØ ±ÔÁ¤µË´Ï´Ù.
-
[ÇÁ·Î´ö¼Ç ±ÔÄ¢: ExtensionId]
-
name - È®Àå¿¡ ´ëÇÑ »ç¿ëÀÚ Ç¥½Ã °¡´ÉÇÑ(º¯È¯ °¡´ÉÇÑ) À̸§
Áß¿ä: <extension> ¿ä¼ÒÀÇ ÄÁÅÙÃ÷´Â ANY ±ÔÄ¢À»
»ç¿ëÇÏ¿© ¼±¾ðµË´Ï´Ù. µû¶ó¼ Á¦´ë·Î ±¸¼ºµÈ XMLÀº È®Àå ±¸¼º ¼½¼Ç(<extension>°ú
</extension> ÅÂ±× »çÀÌ) ³»¿¡¼ ÁöÁ¤µÉ ¼ö
ÀÖ½À´Ï´Ù.