¼Ò½º ±â´É ¹× Ç÷¯±×ÀÎ »ý¼º

PDE ºôµå´Â ¼Ò½º ±â´É ¶Ç´Â Ç÷¯±×ÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ SDK ±â´ÉÀ» °í·ÁÇØ º¸½Ê½Ã¿À.
  features/

org.foo.sdk/
feature.xml: <includes id="org.foo.rcp" />
<includes id="org.foo.rcp.source" />
build.properties: generate.feature@org.foo.rcp.source = org.foo.rcp
org.foo.rcp/
feature.xml: <plugin id="org.foo.BundleA" />
<plugin id="org.foo.BundleB" />
<plugin id="org.foo.BundleB.win32" fragment="true" os="win32" />

SDKÀÇ ¾ÆÀ̵ð¾î´Â ÇØ´ç ±â´ÉÀÇ ¼Ò½º»Ó¸¸ ¾Æ´Ï¶ó ±â´ÉÀÌ Æ÷ÇԵ˴ϴÙ. ±â´ÉÀÇ build.properties ÆÄÀÏ¿¡¼­ generate.feature Ư¼ºÀ» È®ÀÎÇϽʽÿÀ. ÀÌ Æ¯¼ºÀº "org.foo.rcp" ±â´ÉÀÇ ÄÁÅÙÃ÷¸¦ ±â¹ÝÀ¸·Î "org.foo.rcp.source" ±â´ÉÀ» »ý¼ºÇϵµ·Ï PDE ºôµå¿¡ Áö½ÃÇÕ´Ï´Ù. PDE ºôµå´Â org.foo.rcp.source ±â´É, ¼Ò½º Äڵ带 Æ÷ÇÔÇÒ Ç÷¯±×ÀÎ ¹× ±â´É¿¡ Æ÷ÇÔµÈ Ç÷§Æû ƯÁ¤ ¹øµéÀÇ ¼Ò½º¸¦ Æ÷ÇÔÇÏ´Â ´ÜÆíÀ» »ý¼ºÇÕ´Ï´Ù.
  features/

org.foo.rcp.source/
feature.xml: <plugin id="org.foo.rcp.source"/>
<plugin id="org.foo.rcp.source.win32" fragment="true" os="win32" />
plugins/
org.foo.rcp.source/src/
org.foo.BundleA/src.zip
org.foo.BundleB/src.zip
org.foo.rcp.source.win32/src/
org.foo.BundleB.win32/src.zip

»ý¼ºµÈ ¼Ò½º ±â´É »ç¿ëÀÚ Á¤ÀÇ

generate.feature Ư¼ºÀÇ ¾ç½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
generate.feature@<source feature id> = <feature id> [, feature@<feature id>] [, plugin@<plugin id>[;unpack="false"]]
¿ø·¡ ±â´É¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â Ç÷¯±×ÀÎÀ» »ý¼ºµÈ ¼Ò½º ±â´É¿¡ Ãß°¡ÇÏ·Á¸é plugin@À» »ç¿ëÇϽʽÿÀ. ¹®¼­ Ç÷¯±×Àο¡ À¯¿ëÇÕ´Ï´Ù. feature@´Â ¼Ò½º ÅÛÇø®Æ®¿Í ÇÔ²² ¼Ò½º ±â´ÉÀ» ÁßøÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(¾Æ·¡ ÂüÁ¶).

¼Ò½º ÅÛÇø®Æ®

¼Ò½º ±â´ÉÀÌ »ý¼ºµÇ´Â ±â´ÉÀº ´ÙÀ½°ú °°ÀÌ »ý¼ºµÈ ¼Ò½º ±â´É¿¡ Æ÷Ç﵃ ÅÛÇø®Æ® ÆÄÀÏÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
  features/

org.foo.rcp/
sourceTemplateFeature/<files to be included in generated source feature>
sourceTemplatePlugin/<files to be included in generated source plugin>
sourceTemplateFragment/<files to be included in generated platform specific fragments>

ÀÌ sourceTemplate Æú´õÀÇ ¸ðµç ÆÄÀÏÀº »ý¼ºµÈ ÇØ´ç ±â´É/Ç÷¯±×ÀÎ/´ÜÆí¿¡ Æ÷ÇԵ˴ϴÙ. Æ¯È÷ ÀÌ µð·ºÅ丮ÀÇ ÆÄÀÏÀº PDE ºôµå·Î »ý¼ºµÈ ÆÄÀÏÀ» ¹Ù²ß´Ï´Ù. PDE ºôµå°¡ Áö¿øÇÏÁö ¾Ê´Â ¼Ò½º ±â´É¿¡ ´ëÇÑ ¿ä±¸»çÇ×ÀÌ ÀÖ´Â °æ¿ì »ç¿ëÀÚ Á¤ÀÇ feature.xmlÀ» Á¦°øÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ý¼ºµÈ ¼Ò½º ±â´É Áßø

ÁßøµÈ ¼Ò½º ±â´ÉÀÇ generate.feature Ư¼ºÀ» Æ÷ÇÔÇÏ´Â »ý¼ºµÈ ¼Ò½º ±â´ÉÀÇ sourceTemplateFeature/build.properties ÆÄÀÏÀ» Á¦°øÇÏ¿© ¼Ò½º ±â´ÉÀ» ÁßøÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÃÖ»óÀ§ ¼Ò½º feature.xml¿¡ ÁßøµÈ ¼Ò½º ±â´ÉÀÌ Æ÷ÇԵǴÂÁö È®ÀÎÇØ¾ß Çϸç feature@¸¦ »ç¿ëÇϰųª ÅÛÇø®Æ® feature.xmlÀ» Á¦°øÇÏ¿© À̸¦ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

  features/

org.foo.sdk/
sourceTemplateFeature/
build.properties: generate.feature@org.foo.nested.source = org.foo.nested

feature.xml: <includes id="org.foo.rcp" />
<includes id="org.foo.rcp.source" />

build.properties: generate.feature@org.foo.rcp.source = org.foo.rcp, feature@org.foo.nested.source

org.foo.rcp/...
org.foo.nested/...
À§ÀÇ ¿¹Á¦¿¡¼­ org.foo.sdk¿¡´Â »ý¼ºµÈ ¼Ò½º ±â´É org.foo.rcp.source°¡ Æ÷ÇԵ˴ϴÙ. ÀÌ »ý¼ºµÈ ¼Ò½º ±â´ÉÀº ÅÛÇø®Æ® sourceTemplateFeature/build.properties ÆÄÀÏÀ» °¡Á®¿É´Ï´Ù. ¶ÇÇÑ ÇØ´ç feature.xml¿¡ org.foo.nested.source°¡ Æ÷ÇԵ˴ϴÙ. µû¶ó¼­ PDE ºôµå°¡ »ý¼ºµÈ org.foo.rcp.source¸¦ ó¸®ÇÒ ¶§ org.foo.nested.source ±â´É ¹× generate.feature Ư¼ºÀÌ Æ÷ÇԵǾú´ÂÁö È®ÀÎÇÑ ÈÄ org.foo.nested.source¸¦ »ý¼ºÇÕ´Ï´Ù.

¼Ò½º Ç÷¯±×ÀÎ »ý¼º

¶ÇÇÑ ¼Ò½º ±â¹ÝÀ» ±â´ÉÀ¸·Î ÇÏ´Â ´ë½Å ´ÜÀÏ Ç÷¯±×ÀÎÀ» ±â¹ÝÀ¸·Î ´ÜÀÏ ¼Ò½º Ç÷¯±×ÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ ¼öÇàÇϱâ À§ÇÑ Æ¯¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù.

generate.plugin@<source plug-in id>=<plug-in id>

¿¹Á¦:
  features/

org.foo.sdk/
feature.xml: <plugin id="org.foo.rcp" />
<plugin id="org.foo.rcp.source" />

build.properties: generate.plugin@org.foo.rcp.source = org.foo.rcp