Eclipse

Eclipse 설치 프로그램 작성 방법

_침묵_ 2007. 1. 4. 06:40

Eclipse 설치 프로그램 작성 방법

최종 수정 날짜: 2004년 6월 18일 금요일 15:20

Eclipse 기반 제품은 일반 사용자 컴퓨터에 올바르게 설치되어야 합니다.InstallShieldRPM과 같은 특수 목적 패키징 도구가 자동 설치, 갱신 및 설치 제거를 포함하는 실행 파일 설치 프로그램을 빌드하는데 종종 사용됩니다. Eclipse 기반 제품 및 Eclipse 기반 제품에 별도로 설치 가능한 확장을 위해 설치 프로그램을 작성하는 방법을 여기에서 설명합니다.

제품 개발 팀은 실행 파일 설치 프로그램으로 패키지된 일반 사용자의 컴퓨터에서 방법을 찾아야 하는 가공되지 않은 재료를 제공하는 데 책임이 있다고 가정합니다. 실행 파일 설치 프로그램의 작성이 스크립트되었으며, 설치 시간 조치는 일반 사용자와의 상호 작용이 필요하고 또한 사용자의 컴퓨터에 파일을 저장하는 것도 필요합니다. 이 설치 프로그램에 필요한 것과 작동 방법에 대한 세부사항을 여기에서 설명합니다.  

이 내용은 Eclipse 기반 제품에 대한 설치 프로그램을 작성하는 담당자를 위한 안내서로서 취급되어야 합니다. 모든 설치 프로그램 작성자가 이 안내서를 따르도록 권장하는 두 가지 이유는 다음과 같습니다.

  • 제품 및 확장 상호운용성.표준 방법으로 수행하면 Eclipse 기반 제품 또는 확장용 설치 프로그램이 다른 설치 프로그램에 의해 설치된 제품 및 확장이 자동으로 작동합니다. 그렇지 않으면, 한 개의 제품 설치 프로그램의 특징은 해당 제품과 작동이 예상되는 모든 확장 설치 프로그램에서 일치 규칙을 요구할 수 있습니다.
  • 설치 시간 사용자 상호 작용의 균일성.Eclipse 기반 제품 및 확장용 모든 설치 프로그램은 동일한 방법으로 사용자와 상호 작용해야 합니다. 이러한 경우 필요없는 다양성을 가질 필요가 없습니다.

제품 설치 프로그램 작성 스크립트

제품 설치 프로그램은 자체 포함 형태로 CD 매체를 통해 제공될 수 있어야 하며, 적절한 운영 체제를 갖는 모든 시스템에 설치될 수 있어야 합니다.

Eclipse는 Java 코드를 실행할 수 있는 Java2 JRE(Java Runtime Environment)가 필요합니다. JRE는 Java 벤더에서 얻을 수 있는 사용이 허가된 소프트웨어입니다. JRE 벤더에서 JRE 재분배를 위한 라이센스로, 회사는 해당 제품과 함께 JRE를 포함할 수 있으며 해당 제품과 동시에 일반 사용자 컴퓨터에 설치할 수 있습니다. 대안으로 제품 설치 시 연관된, 일반 사용자 컴퓨터에 사전 설치된 JRE를 요구하는 것입니다. 어떻게 해서든, Eclipse 기반 제품은 적절한 JRE가 필요하며, 이 제품 설치 프로그램은 JRE를 설치하거나 이미 존재하는 JRE를 찾고 이에 링크시키는 역할을 수행해야 합니다.  

JRE는 제품과 함께 설치되는 것으로 가정합니다. JRE를 포함하는 디렉토리는 설치 프로그램 작성 스크립트를 위한 하나의 입력입니다. 이 디렉토리 <JRE>를 표시하십시오. 이 디렉토리는 <JRE> 디렉토리 아래에jre/bin/java.exeJava 실행 파일 및jre/lib/rt.jar클래스 라이브러리가 있는 JRE 디렉토리 구조를 가져야 합니다. 참고로 이 디렉토리의 구조는 다음과 같습니다.

<JRE>/
  jre/
    bin/
      java.exe
    lib/
      rt.jar

이 디렉토리에는 추가 파일(및 서브디렉토리)이 있습니다. 일반 구조를 제공하기 위해 샘플만을 표시합니다. 이탤릭체로된 이름은 제품 특성입니다.

설치 프로그램 작성 스크립트로의 두 번째 입력은 <product head> 디렉토리이며 이는 제품 특정 실행 파일 실행기 및 Eclipse와 연관되지 않은 임의의 파일을 포함합니다. 참고로 이 디렉토리의 구조는 다음과 같습니다(이탤릭체는 제품간 다양할 수 있는 파일 이름을 표시).

<product head>/
  acmeproduct.exe

설치 프로그램 작성 스크립트로의 세 번째 입력은 <product body> 디렉토리이며, 이는 제품을 위해 개발된 기능 및 플러그인을 포함합니다. 참고로 이 디렉토리의 구조는 다음과 같습니다.

<product body>/
  eclipse/
    features/
     com.example.acme.acmefeature_1.0.0/
        feature.xml
     com.example.acme.otherfeature_1.0.0/
        feature.xml
    plugins/
     com.example.acme.acmefeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
        plugin_customization.ini
        splash.bmp
     com.example.acme.otherfeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
     com.example.acme.myplugin_1.0.0/
        plugin.xml
       myplugin.jar
     com.example.acme.otherplugin_1.0.0/
        plugin.xml
       otherplugin.jar

설치 프로그램 작성 스크립트로의 네 번째 입력은 <platform> 디렉토리이며, 이는 Eclipse 플랫폼 자체를 위한 기능 및 플러그인과 포함된 임의의 타사의 도구를 포함합니다. 또한 디렉토리는 표준 Eclipse 실행 파일 실행기eclipse.exe(UNIX 운영 환경의 경우eclipse),startup.jar및 설치의 루트에서 필요한 기타 Eclipse 플랫폼 파일을 포함합니다. 참고로 이 디렉토리의 구조는 다음과 같습니다.

<platform>
  eclipse/
    eclipse.exe
    startup.jar
    features/
      org.eclipse.platform_2.0.0/
      org.eclipse.platform.win32_2.0.0/
      org.eclipse.jdt_2.0.0/
      org.eclipse.pde_2.0.0/
    plugins/
      org.eclipse.platform_2.0.0/
      org.eclipse.core.runtime_2.0.0/
      org.eclipse.core.boot_2.0.0/
      org.eclipse.core.resources_2.0.0/
      org.eclipse.ui_2.0.0/
      org.eclipse.jdt_2.0.0/
      org.eclipse.jdt.core_2.0.0/
      org.eclipse.jdt.ui_2.0.0/
      org.eclipse.pde_2.0.0/
      org.eclipse.pde.core_2.0.0/
      org.eclipse.pde.ui_2.0.0/
      (more org.eclipse.* plug-in directories)

<JRE>, <product head>, <product body>, 및 <platform> 입력 디렉토리의 정확한 내용이 일반 사용자의 컴퓨터에 결과적으로 설치되는 파일을 결정합니다.

설치 프로그램 작성 스크립트로의 마지막 입력은 제품의 기본 기능을 위한 ID 및 버전(예: "com.example.acme.acmefeature", 및 "1.0.0")과 제품 실행 파일의 이름(예: "acmeproduct.exe")입니다. 자신의 제품 실행 파일을 요구하지 않는 제품에 대해, 이것은 표준 Eclipse 실행 파일 실행기 "eclipse/eclipse.exe"의 경로가 될 수 있습니다. 설치 시 작성된 파일과 이름 그리고 마커 파일의 내용에 나타나는 이 문자열은 설치 프로그램에서 매우 중요합니다.

설치 시, 설치 프로그램은 표준 방법으로 작동되어야 합니다(추가 세부사항은 단계 목록 다음에 나옵니다).

  1. 사용자에게 모든 프로그램 종료를 알립니다.
  2. 제품이 설치될 것이라고 알립니다.
  3. 올바른 경우, 사용자에게 등록된 사용자의 이름과 라이센스 키를 요구합니다.
  4. 제품의 라이센스 계약을 표시하여 사용자에게 승인을 요구합니다.
  5. 제품을 설치할 디스크의 위치를 권장합니다(그러나 사용자가 이 기본값을 대체할 수 있도록 허용합니다).
  6. 제품 또는 확장이 이미 지정된 위치에 저장되어 있지 않은지 확인합니다.
  7. 사용자에게 설치의 모든 세부사항을 확인하도록 요청합니다.
  8. 제품 설치의 루트를 표시하도록 마커 파일을 작성합니다.
  9. 디스크로 파일을 복사합니다(아래 참조).
  10. 적절한 경우, 등록된 사용자의 이름 및 라이센스 키를 "정보" 설명에 삽입합니다.
  11. 제품 실행 파일을 실행할 수 있는 단축 아이콘을 데스크탑에 작성합니다.
  12. 사용자가 제품을 설치 제거할 수 있도록 적절한 항목을 작성합니다.
  13. 모든 첫 단계 처리를 수행할 수 있는 초기 옵션과 함께 제품 실행 파일을 실행합니다.
  14. 제품 릴리스 정보("readme" 파일)를 표시하도록 제공합니다.

5 단계에서 지정된 위치가 <install>인 경우, 설치 프로그램은 <JRE>,<platform>,<product>,  및<product plug-ins>디렉토리의 모든 파일을 <install>로 복사합니다.

입력 파일설치된 파일
<JRE>/*<install>/eclipse/*
<product head>/*<install>/*
<product body>/*<install>/*
<platform>/*<install>/*

8단계에서 작성된 마커 파일은<install>/eclipse/.eclipseproduct이며 이것은 Eclipse 기반 제품이 설치된 디렉토리를 표시하는 데 사용되며, 먼저 확장 설치 프로그램을 찾습니다. 이 마커 파일은java.io.Properties형식 파일("\" 이스케이프를 갖는 ISO 8859-1 문자 인코딩)이며 이는 제품과 사용자를 식별하고 Eclipse 기반 제품들을 구별하는 다음 정보를 포함합니다.

name=Acme Visual Tools Pro
id=
com.example.acme.acmefeature
version=1.0.0

"id" 및 "version" 특성의 값은 설치 프로그램 작성 스크립트에서 입력된 사항이며, 제품의 이름은 이미 알려져 있거나 고정(hard-wired)되어 있습니다. (제품은 일반적으로 이 마커 파일을 액세스할 수 없으며, 제품 및 확장 설치 프로그램만이 읽거나 쓸 수 있습니다.)

6 단계에서는 기존<install>/eclipse/.eclipseproduct또는<install>/eclipse/.eclipseextension파일 검사가 필요합니다. 제품은 다른 제품 또는 확장과 똑같은 곳에 설치될 수 없습니다.

모든 파일을 설치하면 이 설치 디렉토리의 최상위 레벨 구조는 다음 파일 및 서브디렉토리(및 기타 파일)를 포함할 수 있습니다.

<install>/
 acmeproduct.exe
  eclipse/
    .eclipseproduct
    eclipse.exe
    startup.jar
    features/
    plugins/
    jre/

제품 설치 프로그램이 사용자에게 라이센스에 관한 정보(예: 등록된 사용자의 이름 및 라이센스 키)를 요구하는 경우, 이 정보는 제품 "정보" 대화 상자에 작성되어야 합니다(10 단계).

이것은 기본 기능의 플러그인에서 "about.mapping" 파일에 사용자 응답을 기록함으로써 완료됩니다. 예를 들면<install>/plugins/com.example.acme.acmefeature_1.0.0/about.mapping입니다. "about.mapping" 파일은 <product head> 입력에 이미 존재할 수 있거나, 설치 시 설치 프로그램에 의해 작성되어야 할 수 있습니다. 키는 번호이며 "n" 키의 값은 "aboutText" 특성의 "{n}" 하위 문자열에 대해 대체됩니다. 예를 들어, 라이센스 키가 0일 경우, "0=T42-24T-ME4U-U4ME"와 같은 행을 포함하는 "about.mapping" 파일이 작성되어야 합니다.

N.B. "about.mapping" 파일은  java.io.Properties형식 파일("\" 이스케이프를 갖는 ISO 8859-1 문자 인코딩)입니다. 설치 시 기본 문자 인코딩은 ISO 8859-1과 다를 때, 설치 프로그램은 기본 문자 인코딩을 유니코드로 변환하고 필요한 곳에 "\" 이스케이프를 추가해야 합니다. 이스케이프는 문자열이 특수 문자(예: "\") 또는 라틴 이외의 문자를 포함하는 경우 필요합니다. 예를 들어, 그리스 영문자의 처음 세 문자를 포함하는 필드 번호 1은 "1=\u03B1\u03B2\u03B3"으로 작성될 수 있습니다.

12 단계에서 제품 설치 프로그램은 특수 - 초기화 옵션 [정확한 세부사항은 추후 결정]으로 제품 설치 파일 <install>/acmeproduct.exe를 실행합니다. 이것은 Eclipse 플랫폼이 모든 시간 소요 처음 처리를 자동으로 수행하고 결과를 캐시하여 사용자가 제품을 시작하면 open-for-business 상태가 프롬프트되도록 합니다.

설치 제거 프로그램 작동

설치 제거 시, 설치 제거 프로그램은 표준 방법으로 작동되어야 합니다.

  1. 사용자에게 모든 프로그램(특히 설치 제거 중인 제품) 종료를 알립니다.
  2. 사용자가 해당 제품이 설치 제거될 것임을 확인하도록 요구합니다.
  3. <install> 디렉토리에 설치된 모든 파일 및 다른 설치 프로그램(예: Eclipse Update Manager)에 의해 설치된 파일을 포함하는 <install>/eclipse/features및 <install>/eclipse/plugins모든파일을 제거합니다.
  4. 제품 실행 파일용 데스크탑 단축 아이콘을 제거합니다.
  5. 제품 설치 제거 프로그램을 위한 항목을 제거합니다.
  6. 제거되지 않은 임의의 파일을 사용자에게 알립니다.

제품이 설치 제거되는 경우, 설치 시 설치된 파일은 Eclipse Update Manager에 의해 작성된 갱신된 기능 및 플러그인과 함께 삭제되어야 합니다.중요:설치 제거 시<install>디렉토리에 다른 디렉토리 및 파일이 있을 수 있습니다. 특히 제품을 설치 제거할 때 보존해야 하는 중요한 데이터가 들어 있는<install>/eclipse/workspace/,<install>/eclipse/links/<install>/eclipse/configuration/이 있을 수 있습니다. 사용자는 중요한 데이터를 잃어버리지 않고 동일한 위치에 제품을 설치 제거하고 다시 설치할 수 있어야 합니다.

제품이 이미 설치되어 있을 경우, 설치 프로그램 작동

제품이 사용자의 컴퓨터에 이미 설치되어 있는 경우, 설치 프로그램은 설치된 제품에 적용될 서비스 갱신 또는 버전 업그레이드를 허용해야 합니다.

설치 시, 설치 프로그램은 표준 방법으로 작동되어야 합니다.

  1. 사용자에게 모든 프로그램(특히 갱신 중인 제품) 종료를 알립니다.
  2. 갱신될 설치 제품을 찾습니다. 필요 시, 기존 제품 설치를 디스크에서 검색하거나 사용자가 이를 찾도록 허용합니다.
  3. 이 설치 프로그램이 호환 가능 갱신인지를 결정합니다.
  4. 올바른 경우, 사용자에게 등록된 사용자의 이름과 라이센스 키를 요구합니다.
  5. 제품의 갱신된 라이센스 계약을 표시하여 사용자에게 승인을 요구합니다.
  6. 사용자에게 갱신의 모든 세부사항을 확인하도록 요청합니다.
  7. 디스크에 파일을 갱신합니다. (아래 참조)
  8. 필요 시, 제품 실행 파일을 실행할 수 있는 데스크탑 단축 아이콘을 변경합니다.
  9. (적절한 곳을) 설치 제거 시 제거할 목록에 수정되었거나 새로 추가된 파일을 추가해야 합니다.
  10. 제품 릴리스 정보("readme" 파일)를 표시하도록 제공합니다.

2 단계에서 설치된 제품은 ".eclipseproduct" 파일 이름을 포함하는 "eclipse" 디렉토리의 존재 여부로 즉시 인식될 수 있습니다. "eclipse" 디렉토리의 상위는 제품의 설치 디렉토리입니다(예:<install>/eclipse/.eclipseproduct). 마커 파일 내 포함된 정보가 올바른 제품이 갱신되고 있는지 확인할 수 있도록 사용자에게 표시됩니다(사용자 컴퓨터의 일부 Eclipse 기반 제품이 있을 수 있습니다).

설치 프로그램은<install>/eclipse/features디렉토리의 서브디렉토리에 대한 단순 패턴 일치로 3 단계에서 호환성 점검을 수행해야 합니다. 예를 들어, "com.example.acme.otherfeature_1.0.1"과 일치하는 폴더가 있으면 특정 서비스 갱신이 설치된 제품에 적용된 것을 확인할 수 있습니다.

7 단계에서 설치 프로그램은 원래 설치된 임의의 파일을 삭제하거나 대체하고 파일을 좀 더 추가할 수 있습니다.중요:<install>/eclipse/workspace/,<install>/eclipse/configuration이 들어 있는 일부 파일 및 디렉토리는 설치와 동일한 위치에 배치되고 제품을 업그레이드할 때 보존해야 하는 중요한 데이터 파일을 포함할 수 있습니다. 

업그레이드 시,<install>/eclipse/plugins/아래의 대부분의 파일이 동일하게 되는 좋은 기회가 있습니다(<install>/eclipse/features/와 같이). 플러그인(또는 단편) 버전을 임베드하는 서브디렉토리 이름이 변경된 이후에 해당 폴더 아래의 임의의 파일이 변경되면<install>/eclipse/plugins/에 최적화를 위한 중요한 기회가 있게 됩니다. 즉, 서브디렉토리가 업그레이드 이후에도 존재해야 하는 경우,<install>/eclipse/plugins/org.eclipse.ui_2.0.0/의 모든 파일을 변경할 필요가 없습니다. 임의의 플러그인 파일이 변경되면 플러그인 버전 번호가 바뀌어<install>/eclipse/plugins/org.eclipse.ui_2.0.1/ 병렬 디렉토리에 설치되는 업그레이드된 플러그인에 대한 파일의 원인이 됩니다. 

다른 장소에 설치된 JRE 연관

JRE는<install>/eclipse/jre/bin/javaw.exe에서 찾을 수 있습니다. 다른 장소에 있는 경우, 절대 경로는 명령행에서-vm명령을 사용하여 지정되어야 합니다(예:-vm C:\j2jre1.3.0\jre\bin\javaw.exe). 어떤 경우든 설치 프로그램은 이것이 작성하는 데스크탑 바로 가기의 명령행에 이 옵션을 추가해야 합니다.

확장 설치 프로그램 작성 스크립트

확장은 개별적으로 설치 가능한 연관될 수 있는 기능 및 플러그인의 세트를 의미하며 동일한 컴퓨터에 설치된 하나 이상의 Eclipse 기반 제품에서 사용됩니다. 제품과는 달리 확장은 자체 포함되지 않으며, 제품 설치 파일, Eclipse 플랫폼, JRE를 포함하지 않습니다.

일반적으로 확장은 단일 기능으로 구성됩니다. 설치 프로그램 작성 스크립트로의 첫 번째 입력은 기능 및 플러그인을 포함하는 <extension> 디렉토리입니다. 확장은 Eclipse와 관련된 파일을 가지지 않는다고 가정하며 가질 경우,<extension>/eclipse/가 아닌<extension>/로 이동합니다. 참고로 이 디렉토리의 구조는 다음과 같습니다.

<extension>/
  eclipse/
    features/
     com.example.wiley.anvilfeature_1.0.0/
        feature.xml
    plugins/
     com.example.wiley.anvilfeature_1.0.0/
        plugin.xml
        about.ini
        about.properties
        about.mappings
     com.example.wiley.mainplugin_1.0.0/
     com.example.wiley.otherplugin_1.0.0/

<extension> 입력 디렉토리의 정확한 내용이 일반 사용자의 컴퓨터에 결과적으로 설치되는 파일을 결정합니다.

설치 프로그램 작성 스크립트로의 마지막 입력은 확장의 기능을 위한 ID 및 버전(예: "com.example.wiley.anvil" 및 "1.0.0")입니다. 설치 시 작성된 파일과 이름 그리고 마커 파일의 내용에 나타나는 이 문자열은 설치 프로그램에서 매우 중요합니다.

확장 설치 프로그램은 대부분의 면에서 제품 설치 프로그램과 비슷합니다. 차이가 있는 부분이 아래에 강조표시됩니다.

설치 시, 설치 프로그램은 표준 방법으로 작동됩니다.

  1. 사용자에게 모든 프로그램 종료를 알립니다.
  2. 확장이 설치될 것이라고 알립니다.
  3. 올바른 경우, 사용자에게 등록된 사용자의 이름과 라이센스 키를 요구합니다.
  4. 확장의 라이센스 계약을 표시하여 사용자에게 승인을 요구합니다.
  5. 확장을 설치할 디스크의 위치를 권장합니다(그러나 사용자가 이 기본값을 대체할 수 있도록 허용합니다).
  6. 제품 또는 다른 확장이 이미 지정된 위치에 저장되어 있지 않은지 확인합니다.
  7. 사용자에게 어떤 제품에 이 확장을 사용할 것인지를 질문합니다(디스크 검색, 찾아보기 또는 건너뛰기).
  8. 선택적으로, 확장이 선택된 제품과 호환 가능한지 판별합니다.
  9. 사용자에게 설치의 모든 세부사항을 확인하도록 요청합니다.
  10. 확장 설치의 루트를 표시하도록 마커 파일을 작성합니다.
  11. 디스크로 파일을 복사합니다(아래 참조).
  12. 등록된 사용자의 이름 및 라이센스 키를 "정보" 설명에 삽입합니다.
  13. 사용자가 확장을 설치 제거할 수 있도록 적절한 항목을 작성합니다.
  14. 확장을 제품과 연관시키기 위해 선택된 각각의 제품에 링크 파일을 작성합니다.
  15. 확장 릴리스 정보("readme" 파일)를 표시하도록 제공합니다.

5 단계에서 지정된 위치가 <install>인 경우, 설치 프로그램은 11 단계에서 <install>로<extension>디렉토리의 모든 파일을 복사합니다.

입력 파일설치된 파일
<extension>/*<install>/*

7 단계에서 모든 Eclipse 제품이 후보가 될 수 있습니다. Eclipse 기반 제품은<product install>/eclipse/.eclipseproduct파일의 존재로 인식될 수 있습니다. 사용자는 설치된 제품에 대한 제한된 디스크 검색을 요청할 수 있어야 하며("설치된 제품 검색" 단추), 또는 제품을 포함하는 디렉토리를 탐색할 수도 있습니다(예: "찾아보기" 단추).

설치 프로그램은<product install>/eclipse/features디렉토리의 서브디렉토리에 대한 단순 패턴 일치로 3 단계에서 호환성 점검을 수행해야 합니다. 예를 들어, "org.eclipse.jdt_2.*"와 일치하는 폴더가 존재하는 경우 JDT가 설치된 제품에 포함되었다는 것을 의미합니다. 

10 단계에서 작성된 마커 파일은<install>/eclipse/.eclipseextension이며 이것은 Eclipse 기반 확장이 설치된 디렉토리를 표시하는 데 사용되며, 먼저 확장 설치 프로그램을 찾습니다(제품의.eclipseproduct마커 파일과 유사함). 이 마커 파일은java.io.Properties형식 파일("\" 이스케이프를 갖는 ISO 8859-1 문자 인코딩)이며 이는 확장과 사용자를 식별하고 Eclipse 기반 확장들을 구별하는 다음 정보를 포함합니다.

name=Wiley Anvil Enterprise Edition
id=
com.example.wiley.anvilfeature
version=1.0.0

"id" 및 "version" 특성의 값은 설치 프로그램 작성 스크립트에서 입력된 사항이며, 확장의 이름은 이미 알려져 있거나 고정(hard-wired)되어 있습니다. (제품은 일반적으로 이 마커 파일을 액세스할 수 없으며, 제품 및 확장 설치 프로그램만이 읽거나 쓸 수 있습니다.)

모든 파일을 설치하면 이 설치 디렉토리의 최상위 레벨 구조는 다음 파일 및 서브디렉토리를 포함할 수 있습니다.

<install>/
  eclipse/
    .eclipseextension
    features/
    plugins/

제품 설치 프로그램과의 가장 큰 유일한 차이점은 확장 설치 프로그램은 또한 사용자의 컴퓨터에 이미 설치된 다른 Eclipse 기반 제품에 링크 파일도 작성한다는 것입니다. (이것은 사용자가 Eclipse Update Manager를 사용하여 각 제품 내에서 새 확장을 수동으로 연관시킬 필요가 없게 합니다.) 

14 단계에서 작성된 파일은<product install>/eclipse/links/com.example.wiley.anvilfeature.link이며, 즉, 파일은 확장의 기능 디렉토리와 같은 이름을 가지며 적은 버전 번호 접미부가 있습니다. 링크 파일은java.io.Properties형식 파일("\" 이스케이프를 갖는 ISO 8859-1 문자 인코딩)입니다. 키는 "경로"이고 값은 설치된 확장의 절대 경로<install>;입니다. 예를 들어, 입력은 "path=C:\\Program Files\\Wiley\\Anvil"와 비슷할 수 있습니다. 설치 프로그램은 기본 문자 인코딩을 유니코드로 변환하고 필요한 곳에 "\" 이스케이프를 추가해야 합니다. 이스케이프는 보통<install>이 일반적으로 특수 문자(예: "\")를 포함하고 해당 이름에 라틴 이외의 문자로된 디렉토리가 될 수 있으므로 필요합니다. 제품은 시작 시 링크 파일을 읽습니다. 설치 프로그램은 확장이 갱신 또는 설치 제거될 때 배치될 수 있도록 작성한 모든 링크 파일의 레코드를 보유합니다.

설치 제거 프로그램 작동

설치 제거 시, 설치 제거 프로그램은 표준 방법으로 작동되어야 합니다.

  1. 사용자에게 모든 프로그램(특히 설치 제거 중인 확장을 사용하고 있는 제품) 종료를 알립니다.
  2. 사용자가 해당 확장이 설치 제거될 것임을 확인하도록 요구합니다.
  3. <install> 디렉토리에 설치된 모든 파일 및 다른 설치 프로그램(예: Eclipse Update Manager)에 의해 설치된 파일을 포함하는 <install>/eclipse/features및 <install>/eclipse/plugins모든파일을 제거합니다.
  4. 가능한 경우, 추가된 임의의 제품에서 링크 파일을 제거하십시오. 
  5. 확장 설치 제거 프로그램을 위한 항목을 제거합니다.
  6. 제거되지 않은 임의의 파일을 사용자에게 알립니다.

확장이 설치 제거될 때, 모든 플러그인 및 기능 파일이 삭제되어야 합니다. 이들 서브디렉토리에 보존되어야 하는 중요 데이터 파일은 없습니다. 이것은 사용자가 Eclipse Update Manager에 의해 적용되는 모든 갱신을 포함하여 확장을 완전하게 설치 제거하도록 허용합니다.

확장이 이미 설치되어 있을 경우, 설치 프로그램 작동

확장이 사용자의 컴퓨터에 이미 설치되어 있는 경우, 설치 프로그램은 설치된 확장에 적용될 서비스 갱신 또는 버전 업그레이드를 허용해야 합니다.

설치 시, 설치 프로그램은 표준 방법으로 작동되어야 합니다.

  1. 사용자에게 모든 프로그램(특히 갱신중인 확장을 사용하고 있는 제품) 종료를 알립니다.
  2. 갱신될 설치된 확장을 찾습니다. 필요 시, 기존 확장 설치를 디스크에서 검색하거나 사용자가 이를 찾도록 허용합니다.
  3. 이 설치 프로그램이 호환 가능 갱신인지를 결정합니다.
  4. 올바른 경우, 사용자에게 등록된 사용자의 이름과 라이센스 키를 요구합니다.
  5. 제품의 갱신된 라이센스 계약을 표시하여 사용자에게 승인을 요구합니다.
  6. 사용자에게 갱신의 모든 세부사항을 확인하도록 요청합니다.
  7. 디스크에서 파일을 갱신합니다. (아래 참조)
  8. (적절한 곳을) 설치 제거 시 제거할 목록에 수정되었거나 새로 추가된 파일을 추가해야 합니다.
  9. 확장 릴리스 정보("readme" 파일)를 표시하도록 제공합니다.

2 단계에서 설치된 확장은 ".eclipseextension" 파일 이름을 포함하는 "eclipse" 디렉토리의 존재 여부로 즉시 인식될 수 있습니다. "eclipse" 디렉토리의 상위는 확장의 설치 디렉토리입니다(예:<install>/eclipse/.eclipseextension.) 마커 파일 내 포함된 정보가 올바른 확장이 갱신되고 있는지 확인할 수 있도록 사용자에게 표시됩니다(사용자 컴퓨터의 일부 Eclipse 기반 확장이 있을 수 있습니다).

7 단계에서 설치 프로그램은 원래 설치된 임의의 파일을 삭제 또는 대체하지 않아야 하며 새 기능의 버전 및 플러그인을 추가만 하고 가능한 경우<install>/eclipse/.eclipseextension마커 파일을 다시 작성해야 합니다. 이전 버전을 남겨두면 갱신된 옵션을 이전으로 되돌릴 수 있습니다. 제품 설치를 업그레이드할 때, 서브디렉토리가 업그레이드 이후에도 존재해야 하는 경우,<install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.0/의 모든 파일을 변경할 필요가 없습니다. 임의의 플러그인 파일이 변경되면 플러그인 버전 번호가 바뀌어<install>/eclipse/plugins/com.example.wiley.otherplugin_1.0.1/ 병렬 디렉토리에 설치되는 업그레이드된 플러그인에 대한 파일의 원인이 됩니다. 

'Eclipse' 카테고리의 다른 글

Eclipse Runtime Option  (0) 2007.01.04
Understanding JFace data binding in Eclipse  (0) 2006.10.27
Building Cheat Sheets in Eclipse  (0) 2006.09.15