Anyframe Gen CHANGELOG ========================== http://www.anyframejava.org Changes in version 1.5.0 (2010-07) ----------------------------------------- * Gen 1.5.0은 Anyframe 4.5.0 기반으로 패키징된 버전이다. * 프로젝트 생성 시 빌드 방식에 따른 Ant/Maven 프로젝트 선택 기능이 추가되었다. * GEN_HOME/repo 에 라이브러리를 배포하지 않고, Anyframe 플러그인 설치 시 Remote Repository에서 검색하여 다운받도록 변경되었다. * "create-project" command 실행 시 프로젝트 구조(Anyframe Basic Archetype)만 생성되도록 변경되었다. (Anyframe Foundation 플러그인은 "install" command 를 통해 별도로 설치되어야 한다.) * Spring 3.0 Feature를 적용한 Anyframe 4.5.0 Plugin 샘플 코드를 기준으로 default,map,miplatform 템플릿이 변경되었다. * Ant 버전을 이슈가 해결된 1.8.1 버전으로 업그레이드 하였다. * Anyframe 플러그인 목록을 Anyframe Repository로 부터 업데이트 받을 수 있는 기능이 추가되었다. * CTIP과 연계하여 Hudson Job을 추가,수정,삭제,실행 할 수 있는 기능이 Eclipse Plugin에 추가되었다. * CRUD 소스코드를 생성할때, 기존에 자동 생성된 소스 코드 존재 시 중복 생성할 것인지 여부를 선택할 수 있는 기능이 추가되었다. * 소스 코드 및 테스트 코드 변경 - Anyframe 4.5.0 적용 . anyframe.gen.archetype.singleconfig, anyframe.gen.archetype.singleconfig-mip, anyframe.gen.archetype.service.annotation anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 . anyframe.gen.eclipse.hudson 프로젝트 추가 - Gen CLI command 변경 . 추가된 command: - gen update-catalog [-option] . option : -version . Anyframe Repository 로 부터 Anyframe Plugin Catalog 파일을 업데이트 받는다. - anyframe.gen.command.ant, anyframe.gen.command.cli 프로젝트 변경 . 변경된 command: - gen create-project [-options] . options : -pjtname, -pjttype, -apphome, -package, -repo, -pjtbuild, -groupid, -artifactid, -version . -pjtbuild, -groupid, -artifactid, -version 옵션이 추가되었고, -pjtbuild는 ant 또는 maven로 설정할 수 있다. (디폴트 ant) - gen build [-options] . options : -deploy, -war, -clean . -war true -> -war, -clean true -> -clean 으로 동작하도록 옵션 사용방식 변경 - anyframe.gen.command.ant, anyframe.gen.command.cli 프로젝트 변경 - 빌드 스크립트 변경 . Anyframe command attribute 변경으로 (pomHandling, inplace 옵션 추가) project-creation.xml, plugin-install.xml등 수정 . anyframe.gen.command.ant 프로젝트 변경 * Gen 폴더 구조 변경 - GEN_HOME/cli/scripts 하위에 있는 settings.xml 파일을 GEN_HOME/repo/ 폴더로 위치 변경 - GEN_HOME/repo 하위에는 settings.xml 파일만 포함되어 배포 - 참조 라이브러리는 배포하지 않고, settings.xml 파일을 이용해 remote repository로 부터 다운로드 받아 사용함 * 추가된 기능 - Ant/Maven 프로젝트 선택 기능 추가 . CLI command의 -pjtbuild option이나, Eclipse Plugin Wizard 화면에서 프로젝트 생성 시 Ant/Maven 선택할 수 있도록 수정 - 플러그인 목록 업데이트 기능 추가 . CLI command의 update-catalog를 사용하거나, Gen Editor의 Installation 탭에서 [Update plugin list] 버튼 추가하여 버튼을 클릭하였을 경우 플러그인 목록이 Anyframe Repository 기준으로 업데이트 되도록 추가 - CTIP 연계기능 추가 . Gen Editor에 CTIP 탭을 추가하고, Hudson url 정보를 등록하여 Hudson job을 추가,수정,삭제,수행할 수 있는 기능 추가됨 . anyframe.gen.eclipse.hudson 프로젝트 추가 - CRUD 소스코드 생성시 오버라이트 방지 기능 추가 . 이미 생성한 CRUD 소스코드에 대해 다시 생성하고자 하는 경우 오버라이트 여부를 묻는 메세지 출력 * 해결된 이슈 목록 [AF-267] - Ant 버전을 1.7.X -> 1.8.1 로 업그레이드 한다 [AF-266] - Web type 프로젝트의 경우 이클립스 target 폴더를 WEB-INF/classes 로 변경 [AF-265] - env.bat 파일 실행 시 echo 메시지 로그 나오지 않도록 수정 [AF-264] - Gen db/scripts 폴더에 배포되는 스크립트 내 테이블 생성 스크립트 동일하게 구성 [AF-263] - Anyframe Foundation Plugin 설치 시 Movie,Genre DB Table 자동 생성 되지 않음 [AF-260] - CRUD 소스 코드 생성 시 오버라이트 방지 기능 추가 [AF-259] - '-clean true 등의 옵션 사용 방식 변경 [AF-258] - anyframe:message Tag 대신 spring:message Tag 사용하는 것으로 변경 [AF-257] - Anyframe 4.5.0.RC1 버전에 대한 CRUD Template 작성 [AF-256] - Anyframe 4.5.0.RC1 버전 적용을 위한 Gen 구조 변경 [AF-255] - MiPlatform CRUD Template 에 Paging 처리 추가 [AF-254] - Gen Editor Installation Tab에서 Repository 선택하는 UI 추가 [AF-253] - 프로젝트 생성 시 ANT 혹은 MAVEN 중 어느 형태로 생성할지 선택 [AF-252] - Oracle 9i 사용하는 경우, Sample Data 생성 시 ORA-01461 에러 발생 [AF-249] - Gen Editor에 CTIP Tab 추가하여 Hudson Job 관리 기능 수행 [AF-248] - Service Type 프로젝트의 default Exception 클래스 명 변경 요청 [AF-247] - 프로젝트 빌드 프로세스 중 Reporting 수행 결과 파일 명 변경 요청 [AF-246] - Gen Editor 화면의 CRUD Generation Tab 내 스크롤 필요 * 알려진 이슈 목록 추후 반영 예정) Service 타입 프로젝트를 생성한 후 ANT 기반의 빌드 스크립트 수행 시, 컴파일 및 테스트케이스 단계에 에러가 발생할 수 있다. 이유는 GEN_HOME/repo 폴더 하위의 모든 라이브러리를 클래스 패스로 설정하였기 때문인데 해당 Service 타입 프로젝트에서 참조하는 라이브러리들을 하나의 lib 폴더에 모아서 이 파일들만 클래스패스에 설정해주면 에러가 해결된다. 차후 버전에서 이를 위한 기능이 제공될 예정이다. Changes in version 1.2.0 (2010-05) ----------------------------------------- * Gen 1.2.0은 Anyframe 4.2.0 기반으로 패키징된 버전이다. * 어플리케이션 생성 후 프로젝트를 생성하는 구조에서 프로젝트만 생성하는 구조로 변경되었다. * 프로젝트 구조 선택 기능(multi/sinle)이 제거되고 프로젝트 타입 선택 기능(service/web)이 추가되었다. * Domain 클래스 생성 시 scale 정보가 정의된 DB 테이블 컬럼에 대해 올바른 속성 타입이 생성되도록 Hibernate Tools 라이브러리 버전이 변경되었다. * Anyframe Plugin에서 사용하는 라이브러리 설치 시 Maven Remote Repository에서 검색하지 않고 GEN_HOME/repo 폴더 하위에서 검색하여 설치되도록 변경되었다. * 프로젝트 빌드 시 품질검사 reporting 도구로 PMD가 추가되었다. * 소스 코드 생성 템플릿 종류 중 XML 기반으로 생성되는 템플릿이 제거되고 Annotation 기반으로 생성되는 템플릿이 기본으로 제공되도록 변경되었다. (현재 제공되는 기본 템플릿 종류: default, map, miplatform) * 이전 버전에서 제공되던 Multi 프로젝트 구조로 생성 시 지원되던 Dynamic Reloading 기능은 더이상 지원되지 않는다. * 소스 코드 및 테스트 코드 변경 - Anyframe 4.2.0 적용 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - Gen CLI command 변경 . 제거된 command - gen create-app . 변경된 command: - gen create-project [-options] . options : -pjtname, -pjttype, -apphome, -package, -repo . pjttype이 이전에는 common, service, web 중 선택에서 service, web 중 선택으로 변경(디폴트 web) - gen create-crud ENTITY [-options] . options : -package, -scope . -project option이 제거됨 - gen build [-options] . options : -deploy, -war, -clean . gen build-app command 대신 gen build 를 사용하도록 변경되었다. - anyframe.gen.command.ant, anyframe.gen.command.cli 프로젝트 변경 . 프로젝트 빌드 방식 추가 사항 - 대표적인 ant target 3가지 제공(내부적으로 clean, compile, package 등 많은 target 존재) . ant : default target 을 사용하며 컴파일 후 패키징 작업 수행 . ant deploy : default target을 수행한 후 web type 프로젝트의 경우 war 파일 압축이 풀려진 형태의 폴더 배포 . ant all : default target에서 수행하는 일 이외에 소스 코드 품질검사를 위한 report target을 수행함으로써 테스트케이스 결과 및 코드 커버리지 결과 등 리포팅 - anyframe.gen.command.ant 프로젝트 변경 - 빌드 스크립트 및 CLI Command 변경 . GEN_HOME/cli/scripts 하위의 multi, single 폴더가 제거되고, scripts 하위에 project-creation.xml 파일이 신규 생생됨 . anyframe.gen.command.ant 프로젝트 변경 - 프로젝트 정보 및 DB 연결 확인을 위한 메시지 안내 기능 추가 . Gen Editor open시 build.properties와 anyframe.config 데이터가 다른경우 메세지 출력 . Wizard에서 DB 정보 입력 후, Schema 선택시 DB 연결에 실패하면 메세지가 wizard 하단에 표시되도록 함 . anyframe.gen.eclipse.core 프로젝트 변경 * Gen 폴더 구조 변경 - 이전 GEN_HOME/ant/etc/inspection 폴더가 GEN_HOME/inspection 폴더로 위치 변경 - GEN_HOME/db 폴더 하위에 lib, scripts 폴더가 위치하고 각 scripts 폴더 내에 DB 별 script 파일이 있도록 변경 * 참조 라이브러리 변경 - Anyframe 4.2.0 반영 - Hibernate Tools Eclipse Plugin 3.3.0 버전의 하위 lib/tools 폴더 내 hibernate-tools.jar 파일 적용 - FindBugs 1.3.9 버전으로 업그레이드 - PMD 4.2.5 버전 추가 * 추가된 기능 - 프로젝트 타입 선택 기능(service/web) 추가 . service 타입 프로젝트의 경우 일반 자바 프로젝트 생성 . web 타입 프로젝트의 경우 WTP Dynamic Web 프로젝트 생성(이전의 Single 프로젝트 생성 기능과 동일) - Anyframe Plugin에서 사용하는 라이브러리 설치 시 Maven Remote Repository에서 검색하지 않고 GEN_HOME/repo 폴더 하위에서 검색하여 설치되도록 변경 - 프로젝트 빌드 시 품질검사 reporting 도구로 PMD가 추가됨 * 해결된 이슈 목록 [AF-245] - Hibernate Tools 라이브러리 오류 발생으로 버전 변경 [AF-244] - CLI command 변경(어플리케이션 대신 프로젝트를 생성함으로써 변경사항 발생) [AF-243] - 프로젝트 빌드 시 품질검사 reporting 도구로 PMD 추가 및 findbugs 버전 업그레이드 [AF-242] - DBUnit을 통해 sample data 생성 시 에러 발생 (DB precision, scale 정보 명시 시) 조치 [AF-240] - Multi 프로젝트 제거하고 web 타입 프로젝트와 service 타입 프로젝트로 구분하여 생성하도록 구조 변경 [AF-239] - Model 클래스 및 CRUD 소스 코드 생성 시 생성 중간에 에러가 발생해도 메시지 제공 후, 나머지 코드 생성 진행되도록 한다. [AF-238] - Anyframe 4.2.0 버전 적용 [AF-237] - 웹 타입 프로젝트 빌드 시 WEB-INF/lib 을 path로 하여 compile 되도록 한다. [AF-236] - Gen Editor open시 build.properties와 anyframe.config 데이터가 다른경우 메세지를 출력한다. [AF-235] - Wizard에서 DB 정보 입력 후, Schema 선택시 DB 연결에 실패하면 메세지가 wizard 하단에 표시되도록 한다. [AF-234] - miplatform 플러그인 설치시 oracle db를 사용할 때, Ria Query Service에 lob handler가 추가되지 않는다. [AF-233] - Anyframe Gen 설치하여 사용 시 라이브러리를 maven remote repository를 검색하지 않고 GEN_HOME/repo 폴더 하위 라이브러리내에서만 검색하도록 한다. Changes in version 1.1.1 (2010-03) ----------------------------------------- * Gen 1.1.1은 Anyframe 4.2.0-SNAPSHOT 기반으로 패키징된 버전이다. (SNAPSHOT 버전으로 패키징 되었기 때문에 Maven을 설정하여 사용하고 있는 유저의 경우, MAVEN의 settings.xml의 값을 false 로 변경하여야 한다. anyframe-repository repository for Anyframe http://dev.anyframejava.org/artifactory/anyframe-repository false ) * Template Type List를 알파벳 순으로 정렬하고 "default" 템플릿이 기본으로 선택되도록 수정하였다. * Anyframe 플러그인 설치 시 기본적으로 Anyframe 플러그인의 라이브러리가 설치되고, 샘플코드는 선택적으로 설치할 수 있도록 플러그인 설치기눙을 개선하였다. * Anyframe 플러그인 설치 시 샘플코드의 DB관련 설정이 프로젝트 DB 설정에 맞게 자동 수정되도록 조치하였다. * 소스 코드 및 테스트 코드 변경 - Anyframe 4.2.0-SNAPSHOT 적용 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - Template type list 정렬 및 default 값 설정 . Template type list 출력 시 알파벳 순으로 정렬되도록 util 추가 . Template type default 값 설정을 정렬된 리스트의 첫번째 template 에서 "default" template 으로 선택되도록 수정 . Single Project Structure 에서는 어플리케이션, 프로젝트 생성 시 template type 값이 수정되지 않도록 조치 . anyframe.gen.eclipse.core 프로젝트 변경 - 빌드 스크립트 변경 . 플러그인 설치 스크립트에서 application-build.properties 의 DB 정보 파일을 이용해 property setting . 플러그인 설치 스크립트 install target에서 hibernate 플러그인 설치시 changedialect task 호출 . 플러그인 설치 스크립트에서 uninstall-lib target 추가 . anyframe.gen.command.ant 프로젝트 변경 - 샘플 설치여부에 대해 설정할 수 있는 기능 추가 . Gen Editor의 Installation Tab에 샘플 설치여부에 대한 체크박스 추가 . Gen Editor의 Installation Tab의 플러그인 리스트에서 Sample코드 존재여부, Sample Code 설치여부에 대한 정보 제공 . Gen Editor의 Configuration Tab에서 hibernate, miplatform 은 플러그인 설치 시 샘플이 함께 설치된 경우에만 활성화 . anyframe.gen.eclipse.core 프로젝트 변경 - 플러그인 설치 시 DB 정보가 반영되도록 수정 . Dialect 에 대한 설정 내용을 수정할 수 있는 Task 추가 . anyframe.gen.command.ant 프로젝트 변경 * 참조 라이브러리 변경 - Anyframe 4.2.0-SNAPSHOT 반영 * 추가된 기능 - Anyframe 4.2.0-SNAPSHOT 버전 적용 - Single 프로젝트의 경우 샘플설치여부에 대해 선택하여 설치할 수 있는 기능 추가 - DB 정보에 맞는 Dialect 설정을 변경할 수 있는 기능 추가 * 해결된 이슈 목록 [AF-229] - Anyframe Plugin install 시 샘플코드와 라이브러리를 함께 설치할지, 라이브러리만 설치할지 선택할 수 있는 기능 추가 [AF-230] - template list 정렬 및 default 값 세팅 [AF-213] - 플러그인 install/uninstall 시 플러그인에 DB 정보가 반영되어야 한다. Changes in version 1.1.0 (2010-02) ----------------------------------------- * Gen 1.1.0은 릴리즈된 Anyframe 4.1.0 기반으로 패키징된 버전이다. * Anyframe Gen을 통해 제공되는 Anyframe Plugin 샘플 코드가 XML 기반에서 Annotation 기반으로 변경되어 제공된다. * Anyframe Gen의 코드 생성 기능을 통해 제공되는 소스 코드는 XML과 Annotation 방식 중 하나를 선택하여 생성될 수 있도록 기능이 추가되었다. (디폴트로 Annotation 방식을 채택함) * Map을 사용한 CRUD 생성, Annotation 기반의 기본 및 MiPlatform CRUD 생성에 대한 소스 코드 생성 템플릿이 추가되었다. * Eclipse Plugin CTIP 프로젝트 구성(Nightly/Release Build) * 이전에 배포된 다운로드 파일(ZIP) 압축 해제 시 발생하던 문제 조치 (일부 압축툴에서 문제 발생함) * 소스 코드 및 테스트 코드 변경 - Anyframe 4.1.0 적용 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - 빌드 스크립트 변경 . 어플리케이션 빌드 스크립트 내 WAR 파일 패키징 내용 변경 . anyframe.gen.command.ant 프로젝트 변경 - Anyframe Plugin 사용 시 Anyframe Gen Editor Context Menu 선택 시 상위 application-build.properties 파일 내 gen.home, app.home 파일 경로가 맞지 않을 경우 에러 메시지 제공 . anyframe.gen.eclipse.core 프로젝트 변경 - 도메인클래스 생성 시 BaseObject 클래스를 상속받지 않도록 변경 . anyframe.gen.command.ant 프로젝트 내 도메인클래스 생성을 위한 ftl 파일 변경 * 참조 라이브러리 변경 - Anyframe 4.1.0 반영 * 추가된 기능 - Anyframe 4.1.0 릴리즈 버전 적용 - Annotation 기반의 소스 코드 생성 기능 추가 - 기존의 도메인 클래스 외 Map을 사용하여 프리젠테이션 레이어와 비즈니스 레이어간 데이터를 주고 받을 수 있도록 하는 소스 코드 생성 템플릿 추가 - Gen Plugin Editor Context Menu 선택 시 파일 경로 정보가 맞지 않은 경우, 에러 메시지 추가 * 해결된 이슈 목록 [AF-228] - Multi 프로젝트 Annotation 기반의 MiPlatform 템플릿 개발 [AF-211] - 변경사항 매뉴얼 반영 [AF-213] - Eclipse Plugin 통합 테스트 수행 [AF-219] - Annotation 기반의 Archetype 생성 [AF-14] - Annotation 기반의 코드 생성 결과물이 나오게 한다. [AF-226] - Anyframe 4.1.0 버전 통합 [AF-225] - Anyframe Gen Editor 메뉴 선택 시 상위 application-build.properties 내 정보 맞지 않을 경우 에러메시지 제공 필요 [AF-210] - Eclipse Plugin CTIP 프로젝트 구성(Nightly/Release Build) [AF-209] - Eclipse Plugin Update Sites 구성 [AF-215] - Eclipse Plugin manual 설치 부분 보완 [AF-217] - Gen 영문매뉴얼 1차 리뷰 [AF-216] - Gen 영문매뉴얼 2차 리뷰 [AF-207] - Large page rendering using appfuse global.js problem [AF-227] - Map 기반 CRUD 코드 생성을 위한 템플릿 개발 [AF-208] - MiP Web Archetype에서 불필요한 JSP, JavaScript 등의 파일 삭제 필요 [AF-212] - multi 프로젝트 통합 테스트 수행 [AF-214] - single 프로젝트 통합 테스트 수행 Changes in version 1.0.0 (2009-11) ----------------------------------------- * Gen 1.0.0은 최종 릴리즈된 Anyframe 4.0.0 기반으로 패키징된 버전이다. * Anyframe Gen CLI(Command Line Interface) 명령어가 기존의 anyframe에서 gen으로 변경되었다. * 도메인 클래스 중복 생성 시 Overwrite에 대한 안내 메시지가 추가되었다. * 프로젝트 생성 빌드 스크립트를 프로젝트 구조(single/multi)에 따라 분리하여 관리되도록 하였다. * 프로젝트와 소스 코드 템플릿 확장 방법에 대한 매뉴얼 내용이 추가되었다. * [참고] 더이상 Anyframe Gen RC Version(RC1,RC2,RC3)에 대해서 관리하지 않는다. * 소스 코드 및 테스트 코드 변경 - Anyframe 4.0.0 최종 적용 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - 빌드 스크립트 변경 . Single/Multi Project Structure 별로 사용되는 프로젝트 생성 빌드 스크립트 변경 . anyframe.gen.command.ant 프로젝트 변경 - Anyframe Plugin Install/Uninstall 기능 수행 시 상세한 안내 메시지 추가 . anyframe.gen.eclipse.core 프로젝트 변경 . Anyframe Plugin에 대해 이미 Install된 상태인지, Uninstall된 상태인지 확인하여 작업을 수행할 수 있도록 함 - Eclipse Plugin UI 변경 . Anyframe Gen Editor 화면에서 Configuration Tab 화면 변경 . 어플리케이션 생성 위저드 화면 순서 변경 - Eclipse Plugin Help Contents 내용을 Common Plugin을 이용하지 않고 anyframe.gen.eclipse.core 프로젝트 내 통합하여 작성함 * 참조 라이브러리 변경 - 기존의 anyframe.xxx-4.0.0-SNAPSHOT.jar 파일이 anyframe.xxx-4.0.0.jar 파일로 버전 업그레이드 - Anyframe 4.0.0 변경 사항이 모두 반영됨 * 추가된 기능 - Anyframe 4.0.0 최종 릴리즈 버전 적용 - Anyframe Plugin Install/Uninstall 기능 수행 시 상세 안내 메시지 추가 - 도메인 클래스 생성 시 동일한 클래스 파일인 경우 중복 생성에 대한 안내 메시지 추가 * 해결된 이슈 목록 [AF-187] - AnyframeGen Editor 화면 내 Scrollbar 문제 조치 [AF-191] - Anyframe4.0 Plugin 이름과 동일한 package 에 대한 validation 추가 [AF-184] - Eclipse ErrorDialog를 확장하여 Confirm 기능과 DetailMessage 조회 기능을 함께 제공 [AF-185] - 특정 폴더 하위에 동일한 파일이 존재하는지 여부를 확인하는 메소드 추가 [AF-189] - 필수값에 대한 표현 일관성 문제 해결 [AF-190] - Project wizard 에 Template Type, Dynamic reloading 설정 가능하도록 추가 [AF-193] - Editor 버튼에 대한 메세지를 Confirm Dialog로 변경 [AF-194] - Domain Gen Editor에서 overwrite 관련한 파일 존재여부 확인 기능 [AF-198] - multi pjt + dynamic reloading 시 build-app,run 실행 시 web.xml replace 되는데 이때 개발자 수정부분 반영되도록 한다. [AF-199] - war 패키징 시 default로는 class 로 copy되도록 한다. option으로 war 파일을 패키징한다. [AF-200] - 어플리케이션/repo 하위의 어플리케이션명.war, 프로젝트명.jar 파일의 경우 clean을 수행시에만 삭제되도록한다. [AF-201] - dynamic reloading의 경우 필요한 -D option들을 default로 설정한다. [AF-202] - multi pjt 구조에서 참조 라이브러리가 중복되는 plugin을 추가하고 삭제할때 클래스패스에서 삭제하도록 한다. [AF-203] - anyframe root parent때문에 trixie repository warning message 안나오게한다. [AF-186] - BaseDirectory 정보 없이 Anyframe4.0 plugin 목록을 조회해올 수 있는 메소드 추가 [AF-188] - Message 오타,띄어쓰기 및 Manual 수정 [AF-192] - 화면UI변경 [AF-195] - Wizard 에서 create project 체크박스 제거 [AF-196] - 프로젝트 생성 빌드 스크립트 파일을 프로젝트 구조(single/multi)에 따라 분리 [AF-204] - anyframe4.0.0 반영하여 Anyframe Gen 1.0.0 패키징 통합 작업 수행 [AF-205] - 통합 테스트 수행 및 에러 조치 [AF-206] - Maven Manual 및 Eclipse Help Contents 변경 사항 반영 Changes in version 1.0.0.RC3 (2009-09) ----------------------------------------- * Anyframe Gen은 Anyframe4.0 에 맞게 수정되었다. * 이번 버전은 기본적으로 Anyframe4.0을 사용하고 있다. * Anyframe Gen 설치 파일을 통해서 설치되는 anyframe의 폴더 구조가 변경되었다. * 프로젝트 및 소스 코드 생성 기능 사용 시, 빌드 및 수행(Run)을 에러 발생 없이 동작될 수 있게 한다. * 소스 코드 및 테스트 코드 변경 - Anyframe4.0 적용 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - 프로젝트 구조 설정 추가 . Single Project Structure, Multi Project Structure 설정을 추가하여, Project Structure에 따라 Single Type 프로젝트, Multi 프로젝트(Common Type, Service Type, Web Type)가 생성되도록 기능 추가 . anyframe.gen.command.ant, anyframe.gen.command.cli, anyframe.gen.eclipse.core 프로젝트 변경 - Anyframe Plugin Install/Uninstall 기능 추가 . anyframe.gen.eclipse.core 프로젝트에 Plugin Installation 화면 추가 . anyframe.gen.command.ant, anyframe.gen.command.cli 에서 플러그인 Install/Uninstall 기능 관련 로직 추가 - MiPlatform 템플릿 추가 . archetypes 에 MiPlatform Archetype(프로젝트 템플릿) 추가 . anyframe.gen.command.ant 프로젝트에 MiPlatform 템플릿 추가 * 참조 라이브러리 변경 - 기존의 anyframe.core.basis-3.3.0-SNAPSHOT.jar 파일이 anyframe.basis-4.0.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.core.dynamicmodule-3.3.0-SNAPSHOT.jar 파일이 anyframe.dynamicmodule-4.0.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.core.query-3.3.0-SNAPSHOT.jar 파일이 anyframe.query-4.0.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.plugins.common_2.0.1.jar 파일이 anyframe.common.eclipse.core_3.0.0.jar 파일로 버전 업그레이드 - 기존의 anyframe.plugins.help_1.0.1.jar 파일이 anyframe.common.eclipse.doc_2.0.0.jar 파일로 버전 업그레이드 * 추가된 기능 - Anyframe4.0 적용 - Anyframe Plugin Install/Uninstall 기능 추가 - MiPlatform 을 이용한 소스 생성 지원(프로젝트(Archetype) 및 소스 코드 템플릿(FTL)) - Sybase DB 지원 추가 * 해결된 이슈 목록 [AF-183] Anyframe4.0 통합 및 Anyframe Plugin 추가 [AF-182] 어플리케이션 생성 위치 변경 시 프로젝트 생성 실패 오류 [AF-180] MiPlatform XML 파일 내 URL 정보를 외부 파일을 이용하여 설정할 수 있도록 한다. [AF-179] Eclipse Plugin continuous build 구성 [AF-178] Eclipse Help Plugin Contents 작성 [AF-177] CLI에 대한 Maven Manual 작성 [AF-176] 1.0.0.RC3 대상 AnyframeGen 개발계획 수립 [AF-175] Multi, Single 프로젝트 별 빌드 스크립스 생성 및 수행 [AF-173] CLI(Command Line Interface) 최종 통합 테스트 수행 [AF-172] Eclipse Plugin 최종 통합 테스트 수행 [AF-171] AnyframeGen Installer 생성 [AF-170] Mudule 별 Install/Uninstall 기능 테스트 [AF-169] MiPlatform 변경된 템플릿으로 AnyframeGen 템플릿 수정 [AF-168] Anyframe Plugin 추가 시 프로젝트 타입 별 기능 구분 필요 [AF-167] 웹 타입 프로젝트가 아닌 경우 생성 및 빌드 수행 [AF-166] Application Home, DAO Framework, Template 등 Configuration 정보 설정 기능 테스트 [AF-165] ErrorLog 및 라이센스 구문 추가 [AF-164] ant,cli,eclipse에 대해 테스트케이스 작성 및 아키타입 수정 [AF-163] CRUD Gen 기능 테스트 [AF-162] Domain Class 생성 기능 테스트 [AF-161] JDBC Configuration 기능 테스트 [AF-160] DB 테이블 컬럼 타입 별 기능 테스트 [AF-159] Application 및 Type 별 Project 생성 테스트(single, multi) [AF-158] 프로젝트 지원을 위한 WebLogic WAS 대상 테스트 [AF-157] MiPlatform Archetype을 MiPlatform Module 을 통해 설치되도록 제공 및 확인 [AF-156] QueryService와 Hibernate/JPA 서비스가 양립하여 프로젝트 내에서 사용될 수 있도록 변경 필요 [AF-155] Multiproject인 경우 템플릿 타입을 MiPlatform으로 변경한 경우, MiPlatform 관련 파일 배포 [AF-154] Multiproject인 경우 디폴트로 default archetype을 이용한 프로젝트 생성 [AF-153] Anyframe Plugin List 조회 후 Install/Uninstall 호출 [AF-152] Eclipse Plugin에서 Foundation 호출하여 생성 [AF-151] JMock 라이브러리에 대한 서로 다른 버전의 API를 사용하는 TestCase 템플릿 변경 필요 [AF-150] Eclipse New Project wizard에서 application 변경시 해당 application의 프로젝트 정보에 따라 상태가 변경되지 않음 [AF-149] Anyframe 4.0 구조 적용 [AF-148] Installation Tab UI 추가 [AF-147] Eclipse Plugin Configuration, JDBC Setting Editor 설정 UI 변경 [AF-146] Eclipse Plugin Application, Project 생성 UI 변경 [AF-145] 기존 PJT를 신규 SVN PJT로 이동 후 기능 확인 [AF-144] 신규 SVN Repository 프로젝트 명 변경 [AF-143] 3개이상의 PJT를 1개의 PJT로 구성한 후 동작 및 빌드 스크립트 테스트 [AF-142] 프로젝트 지원을 위한 Sybase DB 대상 테스트 [AF-141] Basis 서비스의 GenericManager 클래스 사용 시 트랜잭션 설정 추가 필요 [AF-140] Anyframe Gen과 Anyframe Command 통합 작업 [AF-139] MiPlatform 목록 조회 페이지 화면에서 컬럼 Width 조정 로직을 변경하여 검은색 컬럼이 디스플레이되지 않도록 한다. [AF-138] MiPlatform 목록 조회 페이지 상단의 검색 조건 리스트박스와 키워드 입력박스의 Size를 일치시킨다. [AF-136] MiPlatform 템플릿 생성 후 데이터 Update 시, PrimaryKey에 해당하는 데이터 이외의 데이터만 업데이트 되도록 조치한다. [AF-135] MiPlatform 템플릿 생성 시, MiPlatform ActiveX Controller 실행 후 Eclipse 내에서 CRUD 코드 생성 시도하면 발생하는 에러 조치 필요 [AF-129] DB 별, 컬럼 타입 별로 MiPlatform 템플릿 생성 기능 테스트 [AF-128] CRUD 소스 코드 생성 시 Web Type 프로젝트가 존재하는 경우에 한해서 Web 프로젝트 관련 코드 생성되도록 체크박스 설정 [AF-126] Freemarker Template 내 한글문자 추가 시 생성된 코드가 올바르게 한글처리되도록 하기 [AF-115] miplatform archetypes 생성 [AF-95] Miplatform ftl 생성 [AF-82] 프로젝트 생성 시 service type 프로젝트는 여러개 생성가능한데 여기서 프로젝트 이름은 체크한다 Changes in version 1.0.0.RC2 (2009-07-10) ----------------------------------------- * Anyframe Gen은 AppFuse(http://appfuse.org/display/APF/Home)의 개념과 소스 코드(템플릿 포함)를 참고하여 Anyframe에 맞게 수정되었다. * 이번 버전은 기본적으로 Anyframe Core/Web 3.2.1 기반이나 Anyframe Core의 Basis, DynamicModule, Query Service에 대해서는 3.3.0-SNAPSHOT 버전을 사용하고 있다. * 프로젝트 및 소스 코드 생성 기능 사용 시, 빌드 및 수행(Run)을 에러 발생 없이 동작될 수 있게 한다. * 소스 코드 및 테스트 코드 변경 - 프로젝트 생성 템플릿에 해당하는 Archetype 코드 변경 . anyframe.archetypes.common : Datasource Service 설정 파일에서 DB 변경 사항을 반영하기 위한 주석 추가, .classpath 파일에 사용 DB에 맞는 JDBC JAR 파일 패스 추가 . anyframe.archetypes.domain : Hibernate 설정 파일에서 DB 변경 사항을 반영하기 위한 주석 추가, Query Service 설정 파일에서 SQL Generator, LobHandler 등 DB 관련 정보 반영을 위한 주석 추가 . anyframe.archetypes.web : 로그인 페이지에서 디폴트 사용자 ID, Password 정보 자동 입력되어 나오도록 변경, index.jsp 프레임셋 화면 변경 - DB 정보 변경 시 여러 파일 내용 수정을 위한 Ant Task 코드 생성 . anyframe.build.ant 프로젝트에 DBConfigChangeTask 추가 - CLI(Command Line Interface) 명령어 추가(anyframe run) . anyframe.build.command 프로젝트의 CLIAntRunner 클래스에서 anyframe run 수행될 수 있도록 변경 - DB 정보 변경 시 Schema 목록 조회 방법 변경 . anyframe.plugins.gen 프로젝트의 ConfigPage, NewApplicationWizardJDBCPage, DatabaseUtil 변경 * 참조 라이브러리 변경 - 기존의 anyframe.core.basis-3.2.1.jar 파일이 anyframe.core.basis-3.3.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.core.dynamicmodule-3.2.1.jar 파일이 anyframe.core.dynamicmodule-3.3.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.core.query-3.2.1.jar 파일이 anyframe.core.query-3.3.0-SNAPSHOT.jar 파일로 버전 업그레이드 - 기존의 anyframe.plugins.common_2.0.0.jar 파일이 anyframe.plugins.common_2.0.1.jar 파일로 버전 업그레이드 - 기존의 anyframe.plugins.help_1.0.0.jar 파일이 anyframe.plugins.help_1.0.1.jar 파일로 버전 업그레이드 - Jetty를 이용하여 웹 어플리케이션 구동 시 사용되는 3rd-party 라이브러리 추가 . core-3.1.1.jar . jetty-6.1.9.jar . jetty-ant-6.1.9.jar . jetty-naming-6.1.9.jar . jetty-plus-6.1.9.jar . jetty-util-6.1.9.jar . jsp-2.1-6.1.9.jar . jsp-api-2.1.jar . servlet-api-2.5-6.1.9.jar * 추가된 기능 - 어플리케이션 생성 시 사용할 DB 선택할 수 있는 UI 제공(default는 HSQL sampledb 적용) - 사용하고자 하는 DB 추가 가능(Anyframe 설치 폴더 하위의 db 폴더 내 jdbc.config 파일에 DB 설정 추가(Sybase,DB2 등)), 현재 HSQL/Oracle/MySQL DB에 대한 테스트 완료 - DAO Framework으로 설정된 Query Service과 Hibernate 중 하나를 선택 시 해당 DAO Framework 관련 파일만 생성되도록 함 - 프로젝트 생성 빌드 수행 시간 단축을 위해 스크립트 변경(incremental build 수행)하고 Background 방식으로 수행되도록 함 - DynamicReloading 기능 사용 시 자동 생성되는 proxybeans XML 파일 사용 후 제거함 - DB Schema 목록 조회 방법을 변경하여 속도 향상 시킴 - 프로젝트/코드 Template 폴더 변경 및 사용자 추가 가능(Anyframe 설치 폴더 하위의 templates 폴더에 템플릿 타입 추가 가능) - 프로젝트 디폴트 템플릿 위치를 Anyframe 설치 폴더 하위의 templates/default/project 폴더로 이동, 프로젝트 별 Archetype 변경 가능(버전 무관) - 소스코드 디폴트 템플릿 위치를 Anyframe 설치 폴더 하위의 templates/default/source 폴더로 이동, 소스 코드 FTL 변경 - 프로젝트 및 소스코드 생성 후 CLI(anyframe run 수행)를 이용한 웹 어플리케이션 구동 기능(Jetty 자동 Start) - 기존에 생성된 어플리케이션 존재 시 동일 이름의 어플리케이션 생성 방지 기능 * 해결된 이슈 목록 [AF-122] CLI에서 동일한 어플리케이션명으로 중복하여 생성 시 처리 필요 [AF-121] 어플리케이션 생성 시 package 지정하지 않을 시 에러 발생 [AF-119] 동일한 테이블 키에 대해서 중복 ForeignKey 설정을 한 경우, Sample Data 생성 오류 [AF-118] XML 파일 한글 처리 (utf-8 encoding으로 설정 필요) [AF-117] 기존에 생성된 어플리케이션 존재 시 동일한 이름의 어플리케이션 생성 방지 기능 [AF-114] WAR 파일 생성 후 바로 Jetty를 띄워서 결과 확인하기 (anyframe run command 추가) [AF-113] Schema 목록 가져오는 방법 변경, 처리 메시지 수정 [AF-112] DB 정보 수정을 위한 Ant Task 생성(CLI, EclipsePlugin 에서 사용) [AF-111] 선택한 DB에 해당하는 JDBC Driver Jar 파일에 대한 Path 정보 적용 [AF-110] 사용하고자 하는 DB 별 정보 신규 등록 및 수정 기능 추가(jdbc.config 파일 이용) [AF-108] AnyframeGen Editor의 Config Tab에서 DB 정보 변경 후 저장 메시지 출력하기 [AF-107] CRUD Generation 시 웹 프로젝트 코드 디폴트로 생성되도록 변경 [AF-105] QueryService 사용 시 DB에 따라 paging과 lob handler 설정 변경 사항 반영하기 [AF-102] DB 테이블 컬럼 타입 별 샘플데이터 생성 오류(HSQLDB-TIME, Oracle-VARCHAR length) [AF-100] Oracle DB의 경우 Schema 목록을 얻어올때 시간이 많이 소요됨 [AF-99] Basis 서비스를 통해 QueryService 사용하는 경우 PrimaryKey 알아내는 방법 변경 필요 [AF-98] HSQLDB, OracleDB 별, 테이블 컬럼 타입별 테스트 필요 [AF-94] Anyframe Ant Home lib 폴더 하위의 pom과 sha1 파일들 제거하기 [AF-93] Anyframe Gen에 대한 소개글에 AppFuse 개념과 소스코드 활용에 대한 내용 추가 [AF-92] Eclipse Ant Home 설정 매뉴얼 내용에 JDepend JAR 파일 추가 [AF-91] char(1) 혹은 varchar(1)의 경우 Domain Class 생성 시 equals 메소드 내 생성 오류 [AF-90] 어플리케이션명과 패키지명을 동일하게 입력한 경우, 패키지 명으로 부적합한 문자열에 대한 메시지 안내 필요 [AF-89] QueryService를 사용하는 경우에도 Hibernate 관련 파일이 함께 생성됨 [AF-88] 어플리케이션 생성 시 사용할 DB 선택하는 화면 필요 [AF-86] oracle db table을 기준으로 domain 생성 시 수동으로 수정해야 하는 사항들에 대한 안내 필요 [AF-85] oracle 접속 정보 중 schema의 경우 대문자만 인식함 [AF-84] editor에서 package 를 찍지 않고 생성하는 경우 메세지 필요함 [AF-83] Dao 파일이 중복 생성되어 있어 확인 필요함 [AF-81] 어플리케이션 생성 없이 프로젝트 생성 먼저 요청하는 경우 정상적으로 처리되도록 함 [AF-80] 웹 타입 프로젝트의 index.jsp 페이지 프레임 오류 문제 [AF-79] 프로젝트 생성 및 코드 생성 시 빌드 수행 시간 줄이기 [AF-78] 코드 생성 시 Background 형태로 빌드 수행 시키기 [AF-77] DB Connection 미 연결 시 안내 메시지 출력하기 [AF-74] JDBC Configuration 화면에서 Apply 버튼 클릭 시, 메시지 필요 [AF-73] Ant task에서 archetype version을 properties 파일로부터 읽도록 한다 [AF-49] template config 파일로부터 읽도록 변경 [AF-47] application 생성 시 project들까지 같이 생성할 때 common type 프로젝트는 반드시 이름 입력해야 한다는 validation message 추가하기 [AF-46] proxy beans.xml 자동 생성 후 사용 다 끝나면 삭제한다 [AF-44] Web project 생성시 domain project로 지정된 project가 있는 지 확인한후, common 혹은 service project 먼저 생성시키라는 메시지를 보여준다. [AF-41] Oracle DB의 경우, default 값 설정되도록 하기 [AF-40] Editor Tab 내 각 section 별 상세 설명 description 일관성있게 통일하기 [AF-32] Template 구분할 수 있는 기능 추가 [AF-16] Date 입력란에 대해 공란인 경우 binding error 발생 Changes in version 1.0.0.RC1 (2009-06-09) ----------------------------------------- * Anyframe Gen은 Anyframe Core/Web 3.2.1 기반으로 기존 방식보다 훨씬 쉽고 빠르게 웹 어플리케이션 개발을 시작할 수 있도록 Scaffolding, 코드 생성 기능 등을 제공함 * Anyframe Gen은 Appfuse, Hibernate Tools, Maven 등 다수의 오픈 소스를 참고하고 일부 기능을 확장하여 개발한 부분이 존재함 * 모든 소스에 원저작자명과 필요 시 수정자명 명시 * Anyframe Gen Eclipse Plugin 프로젝트를 제외한 모든 소스 코드는 Maven Project 기반으로 패키징되었음 * 소스 코드 및 테스트 코드 변경 - 프로젝트 생성 템플릿에 해당하는 Archetype 코드 생성 . anyframe.archetypes.root . anyframe.archetypes.common . anyframe.archetypes.domain . anyframe.archetypes.service . anyframe.archetypes.scaffold.service - 어플리케이션, 프로젝트 및 코드 생성을 위한 Ant Task 코드 생성 . anyframe.build.ant - CLI(Command Line Interface)를 통해 Anyframe Gen 기능을 사용할 수 있도록 Command 프로젝트 생성 . anyframe.build.command - CLI에서 수행할 수 있는 Anyframe Gen의 기능을 동일하게 Eclipse 내에서 UI 툴을 통해 사용할 수 있도록 Eclipse Plugin 프로젝트 생성 . anyframe.plugins.gen * 라이브러리 구성 - Anyframe Core/Web 3.2.1 버전에 해당하는 라이브러리와 3rd-party 라이브러리 함께 사용 - 테스트 자동화 기능 수행 시 사용되는 3rd-party 라이브러리 . dbunit-2.4.3.jar . hamcrest-all-1.1.jar . jmock-1.2.0.jar, jmock-2.4.0.jar, jmock-junit4-2.4.0.jar - Ant Task 수행 시 사용되는 3rd-party 라이브러리 . ant-contrib-1.0b1.jar . appfuse-maven-plugin-2.1.jar . ejb3-persistence-1.0.2.GA.jar . hibernate-3.3.1.GA.jar . hibernate-tools-3.2.4.CR2.jar . maven-artifact-2.0.4.jar . maven-hibernate3-api-2.1.jar . plexus-velocity-1.1.4.jar 등 다수의 라이브러리 사용 * 추가된 기능 - 어플리케이션에 대한 프로젝트 구조, 단위 샘플 소스 코드, 빌드 파일 생성 - 어플리케이션 생성 시 Dynamic Reloading 기능 사용 여부, DAO Framework 선정, 배포 라이브러리 선택 수행 - 공통, 서비스, 웹 타입 별 모듈 프로젝트를 생성하여 프로젝트 중심의 개발 수행(모듈 별 Eclipse 연계, 샘플 코드 생성) - 모듈 별 단위 빌드 기능, 어플리케이션 빌드 기능(WAR 파일 패키징) 제공 - DB 테이블 기반의 도메인 클래스 생성 - 도메인 클래스를 중심으로 CRUD 기본 코드 생성하고 자동으로 테스트 코드와 테스트 데이터 생성 - Search (Primary Keys, Required Fields), Paging (Paging Navigation Bar), Exception / Message Handling 등 공통 기능 제공 * 해결된 이슈 목록 [AF-71] 도메인 타입 프로젝트를 기존 공통/서비스 타입 프로젝트 중 선택하지 않고 최초 생성되는 서비스 타입 프로젝트를 도메인 타입 프로젝트로 지정 [AF-65] Eclipse 3.3.x(europa)과 Eclipse 3.4.x(Ganymede) 에서 모두 정상 동작하도록 라이브러리 구성 변경 [AF-60] Dynamic Reloading 기능 사용 여부에 따른 어플리케이션 전체 빌드가 올바르게 동작되도록 수정 [AF-58] CTIP(Continuous Test and Integration Platform) 빌드 환경에서 Nightly 빌드가 가능하도록 설정 [AF-54] Apache 라이센스 구문 및 Author, Modifier 작성 [AF-43] 서비스 타입의 프로젝트 신규 추가 시 Anyframe Gen Editor에서 CRUD Gen. Tab > Refresh 버튼 선택 시 전체 서비스 프로젝트 목록 갱신 [AF-35] 프로젝트 별 빌드 수행 시 코드 분석 리포트, 테스트 수행 결과 리포트, 코드 커버리지 리포트 생성 기능을 기본 타겟이 아닌 선택 타겟으로 변경 [AF-34] 기본적으로 생성되는 프로젝트의 개수 축소(기존 5개(main,domain,repository,service,web)를 3개(common,service,web)의 프로젝트로 구분하여 생성되도록 함 [AF-30] 도메인 타입 프로젝트에 해당하는 Eclipse 프로젝트에서만 Anyframe Gen Editor 메뉴가 활성화되도록 함 [AF-29] 어플리케이션 홈의 경로 정보를 Eclipse Variable에 저장하여 재사용할 수 있도록 변경 [AF-29] 어플리케이션 홈의 경로 정보를 Eclipse Variable에 저장하여 재사용할 수 있도록 변경 [AF-25] Anyframe Gen Editor의 Domain Generation Tab에서 DB Table 전체, 하나 이외에 테이블 몇개만 선택만 선택한 경우 해당되는 도메인 클래스 생성 [AF-11] Anyframe Gen Editor의 CRUD Generation Tab에서 코드 생성 Package 입력 시, 대업무 혹은 중업무 등의 패키지 정보를 추가 입력할 수 있도록 함 [AF-01] 템플릿 기반의 소스 코드 자동 생성 시 단순 목록 조회 기능이 아닌 검색 기능 추가함