책 소개
이클립스 플러그인 개발을 위한 환경설정에서부터 테스트, 빌드까지 플러그인 개발 전반을 다루는 책이다. 전 세계의 시계를 보여주는 뷰 플러그인 만들기와 같이 실제 개발에 활용 가능한 예제를 따라 하는 방식으로 설명함으로써 초보자도 쉽게 개발을 시작할 수 있다. 이클립스 3.x에서 동작하는 플러그인 개발 방법을 주로 다루지만, 7장에서는 이클립스 3.x와 이클립스 4 모델 기반 개발의 차이점을 설명하고, 이클립스 4 모델의 좋은 기능도 소개한다.
이 책에서 다루는 내용
■ 이클립스 3.x와 4.x를 위한 플러그인 개발 방법과 JUnit을 이용한 플러그인 테스트 자동화 방법
■ 뷰에 트리와 테이블을 이용해 정보를 제공하는 방법
■ 이클립스 3.x 모델과 이클립스 4.x 모델 사이의 차이점
■ SWT와 JFace로 사용자 인터페이스를 개발하는 방법과 시기
■ 백그라운드로 작업을 실행하는 방법과 비동기로 사용자 인터페이스를 업데이트하는 방법
■ 메이븐 티코(Maven Tycho)를 이용해 플러그인과 피처, 업데이트 사이트를 빌드하고, SWTBot으로 사용자 인터페이스 테스트를 자동화하는 방법
■ 환경설정을 저장하고 조회하는 방법과 환경설정 패널에 통합하는 방법
■ 이클립스 자원 모델을 이용해서 파일을 생성하고 변경하는 방법과 사용자에게 오류를 보고하는 방법
이 책의 대상 독자
이 책의 주요 독자는 이클립스 플랫폼 기반의 플러그인과 제품, 애플리케이션의 개발 방법을 배우고자 하는 자바 개발자다. 이 책은 플러그인을 빌드하고 디버깅하기 위한 이클립스를 설치하고 사용하는 방법을 시작으로 사용자 인터페이스 유형을 설명하고 업데이트 사이트를 생성하며, 플러그인 빌드와 테스트를 자동화하는 방법을 설명하고 마친다.
이클립스 플러그인 개발 경험이 있으면서 메이븐 티코(Maven Tycho)를 이용해 빌드를 자동화하고자 하는 개발자에게도 유용하다. 메이븐 티코는 이클립스 플러그인 개발에서 사실상 표준처럼 사용된다.
마지막으로 이클립스 3.x 모델에는 익숙하지만 이클립스 4.x 모델에서 변경된 내용에 관심이 있는 개발자도 대상으로 한다. 이와 관련된 내용은 7장에서 주로 다루며, 새로운 모델이 제공하는 유익한 기능을 요약해서 설명한다.
이 책의 구성
1장, 첫 번째 플러그인 작성에서는 이클립스를 다운로드해 플러그인 개발 환경을 설정하는 방법과 샘플 플러그인을 생성해 실행하고 디버깅하는 방법을 살펴본다.
2장, SWT로 뷰 작성에서는 시스템 트레이와 자원 관리 같은 사용자 정의 SWT 컴포넌트와 SWT를 사용해 뷰를 생성하는 방법을 소개한다.
3장, JFace 뷰어 작성에서는 테이블 뷰어(TableViewer)와 트리 뷰어(TreeViewer)를 사용해서 JFace로 뷰를 생성하는 방법과 속성 뷰에 사용자와의 상호작용을 연결하는 방법을 설명한다.
4장, 사용자와 상호작용에서는 커맨드와 핸들러, 메뉴를 사용해서 사용자와 상호작용해보고 작업(Job)과 진행(Progress API)도 사용해본다.
5장, 환경설정과 설정 저장에서는 환경설정 정보를 저장하는 방법과 환경설정 페이지에 이런 정보를 표현하는 방법을 설명한다.
6장, 자원 다루기에서는 워크벤치에서 자원(Resource)을 로드하고 생성하는 방법을 알아보고, 자동화된 프로세스로 빌더와 네이처를 생성해본다.
7장, 이클립스 4 모델에서는 이클립스 3.x와 이클립스 4.x 모델 간의 주요 차이점과 기존 콘텐츠를 새로운 모델로 마이그레이션하는 방법을 설명한다.
8장, 피처, 업데이트 사이트, 애플리케이션, 제품 생성에서는 책을 따라 하며 생성한 플러그인을 묶어 피처로 만들고 업데이트 사이트에 게시하는 방법과 애플리케이션과 제품을 사용해서 독립적인 객체를 생성하는 방법을 다룬다.
9장, 플러그인 테스트 자동화에서는 UI 컴포넌트와 non-UI 컴포넌트 모두를 포함한 이클립스 플러그인을 자동으로 테스트하는 코드 작성법을 설명한다.
10장, 티코를 이용한 빌드 자동화에서는 이클립스 플러그인과 피처, 업데이트 사이트, 애플리케이션, 제품을 메이븐 티코(Maven Tycho)를 이용해서 자동으로 빌드하는 방법을 자세히 살펴본다.
목차
목차
- 1장 첫 번째 플러그인 작성
- 시작하기
- 첫 번째 플러그인 작성
- 플러그인 실행
- 플러그인 디버깅
- 단계 필터로 디버깅
- 다른 유형의 중단점 사용
- 조건부 중단점 사용
- 예외 중단점 사용
- 정리
- 2장 SWT로 뷰 작성
- 뷰와 위젯 생성
- 자원 관리
- 사용자와 상호작용
- 기타 SWT 위젯 사용
- 정리
- 3장 JFace 뷰어 작성
- 왜 JFace인가?
- 트리 뷰어 생성
- 정렬과 필터링
- 상호작용과 속성
- 테이블 데이터
- 정리
- 4장 사용자와 상호작용
- 액션과 커맨드, 핸들러 작성
- 작업과 진행 상황
- 오류 보고
- 정리
- 5장 환경설정과 설정 저장
- 환결설정 저장
- IMemento와 DialogSettings 사용
- 정리
- 6장 자원 다루기
- 작업 공간과 자원 사용기
- 네이처 사용
- 마커 사용
- 정리
- 7장 이클립스 4 모델
- E4 모델로 작업
- 서비스와 컨텍스트 사용
- 커맨드와 핸들러, 메뉴 아이템 사용
- 주입 가능한 사용자 정의 클래스 생성
- 정리
- 8장 피처, 업데이트 사이트, 애플리케이션 제품 생성
- 피처로 플러그인 그룹 생성
- 애플리케이션과 제품 빌드
- 정리
- 9장 플러그인 테스트 자동화
- 테스트 자동화를 위한 JUnit 사용
- 사용자 인터페이스 테스트를 위해 SWTBot 사용
- SWTBot으로 작업
- 뷰 테스트
- UI와 상호작용
- 정리
- 10장 티코를 이용한 빌드 자동화
- 티코로 플러그인 빌드하기 위한 메이븐 이용
- 티코로 피처와 업데이트 사이트 구성
- 테스트와 릴리스
- 업데이트 사이트에 서명 적용