Eclipse Ç÷§Æû Ç÷¯±×ÀÎ Manifest

¹öÀü 2.1 - 2003³â 3¿ù 17ÀÏ ÃÖÁ¾ °³Á¤ÆÇ

¾Æ·¡ÀÇ 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 
  provider-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                 (perfect | equivalent | compatible | greaterOrEqual) "compatible"
 export               (true | false) "false"
 optional             (true | false) "false"
>

°¢ Á¾¼Ó¼ºÀº <import> ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù. ÀÌ ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ Æ÷ÇԵ˴ϴÙ.

ManifestÀÇ <runtime> ¼½¼Ç¿¡´Â Ç÷¯±×ÀÎ ·±Å¸ÀÓÀ» ±¸¼ºÇÏ´Â Çϳª ÀÌ»óÀÇ ¶óÀ̺귯¸® Á¤Àǰ¡ Æ÷ÇԵ˴ϴ٠ÂüÁ¶µÈ ¶óÀ̺귯¸®´Â Ç÷§Æû ½ÇÇà ¸ÞÄ¿´ÏÁò(Ç÷¯±×ÀΠŬ·¡½º ·Î´õ)¿¡¼­ ÇØ´ç Ç÷¯±×Àο¡ ÇÊ¿äÇÑ ¿Ã¹Ù¸¥ Äڵ带 ·ÎµåÇÏ°í ½ÇÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

<!ELEMENT runtime (library+)> 
<!ELEMENT library (export*, packages?)>
<!ATTLIST library 
  name               CDATA #REQUIRED 
  type               (code | resource) "code"
>
<!ELEMENT export EMPTY> 
<!ATTLIST export
  name               CDATA #REQUIRED 
>
<!ELEMENT packages EMPTY>
<!ATTLIST packages
  prefixes           CDATA #REQUIRED
>

<runtime> ¿ä¼Ò¿¡´Â ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù.

<library> ¿ä¼Ò´Â Ç÷¯±×ÀÎ ·±Å¸ÀÓÀ» Á¾ÇÕÀûÀ¸·Î Á¤ÀÇÇÕ´Ï´Ù. Àû¾îµµ ÇϳªÀÇ <library>°¡ ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù. °¢ <library> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.

°¢ <library> ¿ä¼Ò¿¡¼­´Â ³»º¸³»¾ß ÇÏ´Â ¶óÀ̺귯¸® ºÎºÐÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ³»º¸³»±â ±ÔÄ¢Àº ÀÏ·ÃÀÇ ³»º¸³»±â ¸¶½ºÅ©·Î ÁöÁ¤µË´Ï´Ù. ±âº»ÀûÀ¸·Î(³»º¸³»±â ±ÔÄ¢ÀÌ ÁöÁ¤µÇÁö ¾ÊÀ½) ¶óÀ̺귯¸®´Â °³ÀοëÀ¸·Î °£Áֵ˴ϴÙ. <export> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.

°¢ ¶óÀ̺귯¸®´Â ÆÐŰÁö Á¢µÎºÎ¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ Á¢µÎºÎ´Â Ç÷¯±×ÀÎ ¹×/¶Ç´Â ´ÜÆí¿¡ ´ëÇÑ Å¬·¡½º ·Îµù ¼º´ÉÀ» Çâ»ó½ÃŰ´Â µ¥ »ç¿ëµË´Ï´Ù. <packages> ¿ä¼Ò¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, ±âº»ÀûÀ¸·Î Ŭ·¡½º ·Îµù È®ÀåÀÌ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. <packages> ¿ä¼Ò¿¡´Â ´ÙÀ½ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.

ÆÐŰÁö Á¢µÎºÎ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ¿©±â¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù.

Ç÷§ÆûÀÇ ¾ÆÅ°ÅØÃ³´Â ±¸¼º °¡´ÉÇÑ È®ÀåÁ¡ÀÇ °³³äÀ» ±â¹ÝÀ¸·Î ÇÕ´Ï´Ù. Ç÷§Æû ÀÚü¿¡¼­´Â Ç÷§Æû ¹× µ¥½ºÅ©Å¾¿¡ ´ëÇÑ È®Àå Ÿ½ºÅ©(¿¹: ¸Þ´º Á¶Ä¡ Ãß°¡, ÀÓº£µåµÈ ÆíÁý±â Á¦°ø)¸¦ ´Ù·ç´Â ÀÏ·ÃÀÇ È®ÀåÁ¡À» ¹Ì¸® Á¤ÀÇÇÕ´Ï´Ù. ¹Ì¸® Á¤ÀÇµÈ È®ÀåÁ¡ ¿Ü¿¡, Á¦°øµÈ °¢ Ç÷¯±×Àο¡¼­ Ãß°¡ È®ÀåÁ¡À» ¼±¾ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù. º»ÁúÀûÀ¸·Î Ç÷¯±×ÀÎÀº È®ÀåÁ¡À» ¼±¾ðÇÔÀ¸·Î½á ¿ÜºÎ¿¡¼­ Á¦°øµÇ´Â È®Àå°ú ÇÔ²² Ç÷¯±×ÀÎ ±â´ÉÀ» ±¸¼ºÇÏ´Â ±â´ÉÀ» °ø°³ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÆäÀÌÁö ºô´õ Ç÷¯±×Àο¡¼­´Â ºô´õ ÆÈ·¹Æ®¿¡ »õ 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> ÅÂ±× »çÀÌ) ³»¿¡¼­ ÁöÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù.

´ÜÆíÀº Ç÷¯±×ÀÎÀÇ ¹üÀ§¸¦ Áõ°¡½ÃŰ´Â µ¥ »ç¿ëµË´Ï´Ù.  ´Ù¸¥ ¾ð¾î¿¡¼­ ·¹ÀÌºí ¶Ç´Â ¸Þ½ÃÁö¿Í °°ÀÌ µ¥ÀÌÅ͸¦ ÅëÇÕÇÏ´Â °ÍÀÌ ¿¹°¡

<?xml encoding="US-ASCII"?> 
<!ELEMENT fragment (requires?, runtime?, extension-point*, extension*)>
<!ATTLIST fragment
  name                CDATA #REQUIRED
  id                  CDATA #REQUIRED
  version             CDATA #REQUIRED
  provider-name       CDATA #IMPLIED
   plugin-id            CDATA #REQUIRED
   plugin-version       CDATA #REQUIRED
   match                (perfect | equivalent | compatible | greaterOrEqual) "compatible"
>

°¢ fragment´Â ƯÁ¤ Ç÷¯±×Àΰú ¿¬°üµÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¿¬°üµÈ Ç÷¯±×ÀÎÀº <plugin-id>, <plugin-version> ±×¸®°í ¼±ÅÃÀûÀ¸·Î <match>·Î ½Äº°ÇÕ´Ï´Ù. ¿©±â¼­ ÁöÁ¤ÇÑ »çÇ×ÀÌ Çϳª ÀÌ»óÀÇ Ç÷¯±×Àΰú ÀÏÄ¡ÇÒ °æ¿ì °¡Àå ³ôÀº ¹öÀü ¹øÈ£ÀÇ ÀÏÄ¡ÇÏ´Â Ç÷¯±×ÀÎÀÌ »ç¿ëµË´Ï´Ù.

fragmentÀÇ <requires>, <runtime>, <extension-point>, <extension> ±¸¼º¿ä¼Ò´Â ÀÏÄ¡ÇÏ´Â Ç÷¯±×Àο¡ ³í¸®ÀûÀ¸·Î Ãß°¡µË´Ï´Ù.

<fragment> ¼Ó¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù.

Copyright IBM Corporation and others 2000, 2003.