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> ¼Ó¼ºÀº ´ÙÀ½°ú °°ÀÌ ±¸¼ºµË´Ï´Ù. 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> ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù. ÀÌ ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ Æ÷ÇԵ˴ϴÙ. 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> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.

°¢ <library> ¿ä¼Ò¿¡¼­´Â ³»º¸³»¾ß ÇÏ´Â ¶óÀ̺귯¸® ºÎºÐÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ³»º¸³»±â ±ÔÄ¢Àº ÀÏ·ÃÀÇ ³»º¸³»±â ¸¶½ºÅ©·Î ÁöÁ¤µË´Ï´Ù. ±âº»ÀûÀ¸·Î(³»º¸³»±â ±ÔÄ¢ÀÌ ÁöÁ¤µÇÁö ¾ÊÀ½) ¶óÀ̺귯¸®´Â °³ÀοëÀ¸·Î °£Áֵ˴ϴÙ. <export> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. Ç÷§ÆûÀÇ ¾ÆÅ°ÅØÃ³´Â ±¸¼º °¡´ÉÇÑ È®ÀåÁ¡ÀÇ °³³äÀ» ±â¹ÝÀ¸·Î ÇÕ´Ï´Ù. Ç÷§Æû ÀÚü¿¡¼­´Â Ç÷§Æû ¹× µ¥½ºÅ©Å¾¿¡ ´ëÇÑ È®Àå Ÿ½ºÅ©(¿¹: ¸Þ´º Á¶Ä¡ Ãß°¡, ÀÓº£µåµÈ ÆíÁý±â Á¦°ø)¸¦ ´Ù·ç´Â ÀÏ·ÃÀÇ È®ÀåÁ¡À» ¹Ì¸® Á¤ÀÇÇÕ´Ï´Ù. ¹Ì¸® Á¤ÀÇµÈ È®ÀåÁ¡ ¿Ü¿¡, Á¦°øµÈ °¢ Ç÷¯±×Àο¡¼­ Ãß°¡ È®ÀåÁ¡À» ¼±¾ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù. º»ÁúÀûÀ¸·Î Ç÷¯±×ÀÎÀº È®ÀåÁ¡À» ¼±¾ðÇÔÀ¸·Î½á ¿ÜºÎ¿¡¼­ Á¦°øµÇ´Â È®Àå°ú ÇÔ²² Ç÷¯±×ÀÎ ±â´ÉÀ» ±¸¼ºÇÏ´Â ±â´ÉÀ» °ø°³ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÆäÀÌÁö ºô´õ Ç÷¯±×Àο¡¼­´Â ºô´õ ÆÈ·¹Æ®¿¡ »õ DTS(Design Time Control)¸¦ Ãß°¡Çϱâ À§ÇÑ È®ÀåÁ¡À» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ÆäÀÌÁö ºô´õ¿¡¼­´Â DTCÀÇ Àǹ̿¡ ´ëÇÑ ¾ÆÅ°ÅØÃ³¸¦ Á¤ÀÇÇϰí È®ÀåÁ¡À¸·Î ±¸¼ºµÈ DTC È®ÀåÀ» ã´Â Äڵ带 ±¸ÇöÇß½À´Ï´Ù.
<!ELEMENT extension-point EMPTY>  
<!ATTLIST extension-point 
  name               CDATA #REQUIRED 
  id                 CDATA #REQUIRED    
  schema             CDATA #IMPLIED 
>
<extension-point> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦ È®ÀåÀº <extension> ¼½¼Ç¿¡¼­ È®ÀåÁ¡(ÀÌ Ç÷¯±×Àο¡¼­ ¹Ì¸® Á¤Àǵǰųª »õ·Î ¼±¾ðµÈ È®ÀåÁ¡)À¸·Î ±¸¼ºµË´Ï´Ù. ±¸¼º Á¤º¸´Â <extension> ÅÂ±×¿Í </extension> ÅÂ±× »çÀÌ¿¡¼­ Á¦´ë·Î ±¸¼ºµÈ XML·Î ÁöÁ¤µË´Ï´Ù. Ç÷§Æû¿¡¼­´Â Á¦´ë·Î ±¸¼ºµÈ XML¿¡ ÇʼöÀûÀÎ °Í ÀÌ¿ÜÀÇ ±¸¼º ¸¶Å©¾÷¿¡ ´ëÇÑ ½ÇÁ¦ ¾ç½ÄÀ» ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸¶Å©¾÷Àº È®ÀåÁ¡À» ¼±¾ðÇÑ Ç÷¯±×ÀÎÀÇ °ø±ÞÀÚ¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ. Ç÷§Æû¿¡¼­´Â ±¸¼º ¸¶Å©¾÷À» ½ÇÁ¦·Î ÇØ¼®ÇÏÁö ¾ÊÀ¸¸ç, È®ÀåÁ¡ ³í¸®°¡ ±¸¼ºµÈ ¸ðµç È®ÀåÀ» Á¶È¸ÇÒ ¶§ È®ÀåÁ¡ ó¸®ÀÇ ÀϺηΠ±¸¼º Á¤º¸¸¦ Ç÷¯±×Àο¡ Àü´ÞÇÕ´Ï´Ù.
<!ELEMENT extension ANY> 
<!ATTLIST extension 
  point              CDATA #REQUIRED 
  id                 CDATA #IMPLIED 
  name               CDATA #IMPLIED 
>
<extension> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. Áß¿ä: <extension> ¿ä¼ÒÀÇ ÄÁÅÙÃ÷´Â ANY ±ÔÄ¢À» »ç¿ëÇÏ¿© ¼±¾ðµË´Ï´Ù. µû¶ó¼­ Á¦´ë·Î ±¸¼ºµÈ XMLÀº È®Àå ±¸¼º ¼½¼Ç(<extension>°ú </extension> ÅÂ±× »çÀÌ) ³»¿¡¼­ ÁöÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù.