2008년 03월 18일
[eclipse] RCP 제품화 하기
참고자료 ¶
- Book: Eclipse Rich Client Platform
- Branding Your Application
- http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.pde.doc.user/guide/feature_based_product.htm
- http://blog.cypal-solutions.com/2008/02/feature-based-configuration-of-rcp.html
product definition & configuration ¶
독립적으로 수행되는 RCP application을 만들려면 제품화가 필요하다.
- New Product Configuration Wizard 수행
- PDE Perspective에서 File >> New >> Product Configuration으로 product 파일을 생성한다.
- product 파일은 어플리케이션을 제품화시키는데 필요한 정보를 저장한다.
- product 파일의 일부 정보는 플러그인 내역서에 저장된다. (extension point = "org.eclipse.core.runtime.products")
- product 역시 확장점을 확장에서 이클립스에 product 정보를 제공하기 때문이다.
- 일부정보는 config.ini나 launcher(여기서는 wapple.exe).ini 파일에 저장된다.
- 따라서 product 파일이 수정되면 동기화를 해주어야 변경된 정보가 관련 파일에 반영된다.
- Product Name 항목은 어플리케이션의 main window title로 사용된다. NLS 적용을 위해 plugin.properties에 정의한다.
- Editor의 각 필드에 대해서는 도움말을 참조하도록 한다.
- Plug-in Development Environment Guide > Tools > New File Creation Wizards > Product Configuration Editor
- New Product Definition
- defining plugin: 확장 정보를 어느 플러그인 내역서에 저장할지를 지정함
- application: launcher가 실행할 entry point(main 함수)를 지정한다.
- wapple은 processs diagram editor, processor diagram editor 플러그인 모두 entry point를 가지지만 process diagram이 main application이다.
- launcher 설정
- 파일시스템에 위치할 어플리케이션의 실행파일 이름과 아이콘을 지정한다. (wapple.exe)
- product branding
- 어플리케이션의 윈도우 아이콘을 지정한다.
- about dialog에 사용할 이미지와 text를 입력한다.
- about dialog를 보려면 help >> about 메뉴를 정의해야한다.
- Splash 화면 지정
- splash.bmp파일이 있는 플러그인을 지정한다.
단순 배포버전 만들기 ¶
- Product export wizard를 사용하여 배포본 만들기
- File > Export > Plug-in development > Product export를 선택하거나
- product 파일을 열고 product export wizard 링크를 선택해 wizard를 실행한다.
feature 배포버전 만들기 ¶
- 배포된 어플리케이션이 update site를 통해 최신버전을 내려받을 수 있도록 하려면 feature를 먼저 정의해야 한다.
- eclipse update manager는 feature 단위로 버전을 확인하기 때문이다.
- New Project >> New Feature Project
- 배포할 플러그인들을 feature로 묶는다.
- feature 설정에 대한 자세한 설명은 도움말 Feature Manifest Editor를 참조하도록 한다.
- export wizard를 통해 feature만 따로 배포가능한 파일로 만들 수 있다.
- feature와 product의 관계는?
- feature는 플러그인을 묶어준다.
- 그러므로 product는 플러그인의 조합으로 정의할수도 있지만 feature의 조합으로 정의할수도 있다.
- 앞에서 얘기했듯이 update manager를 사용하려면 feature로 product를 정의해야 한다.
- 여기서 어려움이 하나 있는데, application이 사용하는 모든 플러그인을 feature를 통해 제공해야한다는 것이다.
- 어떻게 해야 할까?
- rcp feature에서 제공하는 플러그인 이상을 사용하는 어플리케이션을 feature로 배포하려면?
- 먼저 rcp application은 rcp feature만을 사용해서 만드는것이 원칙이다.
- 이 경우는 feature editor >> Included Features page에서 org.eclipse.rcp를 추가해주는것으로 끝난다.
- rcp에서 제공하지 않는 플러그인을 사용한다면
- 사용하려는 플러그인이 feature로 묶여있는지 확인한다.
- feature로 구성되어 있다면 rcp feature와 마찬가지로 Included Features page에서 해당 feature를 추가한다.
- application이 의존하는 플러그인들이 version up 되었을 때 feature를 통해 update하기 위해서이다.
- 당연한 말이겠지만 update가 필요없다면 굳이 feature로 제공할 필요가 없다. plug-ins에 직접 추가한다.
- feature에는 application이 사용하지 않는 플러그인도 많이 들어있기 때문에 application의 size가 커질것이다.
- feature로 제공되지 않는 플러그인들을 사용한다면 지속적인 업데이트가 필요한지 결정한다.
- 지속적인 update가 필요없다면 Plug-ins page에 플러그인들을 추가한다.
- 지속적인 update가 필요하다면 이 플러인들만 모아 새로운 feature를 구성한다.
- 이 경우 이 feature의 배포 책임은 나에게 있다. 사용중인 플러그인의 새 버전이 나오면 feature를 다시 구성에 배포site에 올려주어야 할 것이다.
- wapple은 rcp feature외에 사용되는 플러그인이 있다면 모두 Plug-ins page에 직접 추가할 것이다.
publishing site를 통해 배포하기 ¶
- New Project >> New Update Site Project
- 배포할 feature를 지정한다.
- build all을 수행한다.
- site 설정에 대한 자세한 설명은 도움말 Site Manifest Editor를 참조하도록 한다.
- build된 site를 배포한다.
- 사용자가 접근할 수 있는 웹사이트(site project에서 설정한 url)에 생성된 파일들을 upload한다.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- "Error Log" View in my RCP Application. by WeirdBird
- Eclipse 설치 by 윤슬
- Eclipse + Tomcat + Lomboz 연동. by 가시고기
- Eclipse 3.1 by 오리대마왕
- Visual Studio 2008 Product Comparison by kikiwaka
# by | 2008/03/18 18:55 | Eclipse | 트랙백 | 덧글(3)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
add the following into your preferences.ini file
/instance/org.eclipse.update.scheduler/enabled=true
preferences.ini file is the the plug in custom property file.
To create this go to your plug.xml and add a property extension
to your org.eclipse.core.runtime.products under your production extension.
name of the property should be preferenceCustomization
value = preferences.ini
put preferences.ini at the root of your project.
To enable automatic scheduled updates at start up add the following lines to your plugin_customization.ini
org.eclipse.update.ui/discoverySitesEnabled=true
org.eclipse.update.scheduler/enabled = true
org.eclipse.update.scheduler/schedule = on-startup
org.eclipse.update.scheduler/download = false
org.eclipse.update.core/org.eclipse.update.core.checkSignature = false