Recent Changes

2017-08-14
2012-03-09
2010-12-03
2010-07-21

Latest File Release

tmdmaker (0.5.0)2017-07-22 22:00
tmdmaker_plugin (0.5.0)2017-07-22 22:00

Wiki Guide

Side Bar

開発者向け情報

開発環境の準備

  1. JAVA8のインストール(JREではなくJDKを推奨。最新バージョンを使うようにしてます)
  2. Eclipseのインストール(4.6推奨)
  3. WindowBuilderのインストール(推奨)
  4. プロパティエディタのインストール(推奨)
  5. m2e Maven Integration for Eclipseのインストール(DdlUtilsのビルドとTMD-Makerのmavenビルド用。)
  6. Tycho Configuratorのインストール(DdlUtilsのビルドとTMD-Makerのmavenビルド用。)。Preferences/Maven/Discovery の Open Catalog で検索。
  7. maven3のインストール(任意。DdlUtilsのビルドとTMD-Makerのヘッドレスビルド用。)
  8. preferences->Plug-in Development->API BaselinesのMissing API Baselineをignoreに変更。
  9. git-configの設定変更。
  10. tmdmaker.gitのリポジトリをクローンする。
  11. tmdmaker.releng.targetplatform/oxygen.target(使っているバージョンに合わせる)を開き、Set as Target Platformをクリックする(4.7以前の場合は手動で調整してみてください)
  12. カスタマイズしたDdlUtilsをリポジトリからチェックアウトする。(DdlUtilsを修正する場合のみ必要。ライブラリはddlgenerator に同梱する)
    • tmdmaker.gitのプロジェクト概要
 tmdmaker → rootプロジェクト。プラグイン等の集約元
├── bundles → プラグイン置き場
│   ├── tmdmaker → TMD-MakerのGUIエディタ等の主要プロジェクト。今後用途別に分割予定
│   ├── tmdmaker.core → TMD-Makerのモデルプロジェクト
│   ├── tmdmaker.csv → CSVファイルインポート機能
│   ├── tmdmaker.ddlgenerator → データベース選択、DDL出力機能
│   ├── tmdmaker.htmlgenerator → 各定義書のHTML出力機能
│   ├── tmdmaker.imagegenerator → TMDのダイアグラムを画像に変換する機能
│   ├── tmdmaker.nl_ja → TMD-Maker Pluginの日本語ロケールプロジェクト
│   ├── tmdmaker.rcp → RCPのプロジェクト。TMD-Maker Pluginとビューワを同梱
│   ├── tmdmaker.rcp.nl_ja → RCPの日本語ロケールプロジェクト
│   ├── tmdmaker.serializer → TMDの保存(XML⇔モデルの相互変換)機能
│   ├── tmdmaker.serializer.handler.patch → TMDの変換前後でモデルを補正する機能(データ補正パッチ)
│   ├── tmdmaker.sphinxSphinxのドキュメントを生成するためのプロジェクト
│   └── tmdmaker.ui.menu→ TMDをeclipseのメニューから操作する機能。UIプロジェクトを作って統合するか?
├── docs → ドキュメント置き場
│   ├── tmdmaker.doc → ドキュメント生成用。aggregateできないjacocoとsphinxで作ったマニュアル生成に使ってる
│   └── tmdmaker.landing → Webサイトのトップページ生成用
├── features → feature置き場
│   ├── tmdmaker.feature → TMD-Maker Pluginのfeature
│   └── tmdmaker.rcp.feature → TMD-Maker RCPのfeature
├── releng → ビルド設定置き場
│   ├── jp.osdn.tmdmaker.configuration → TMD-Makerのビルド設定用。共通設定を定義
│   ├── tmdmaker.releng.plugin → TMD-Maker Pluginのビルド設定用
│   ├── tmdmaker.releng.product → TMD-Maker RCPのビルド設定用
│   └── tmdmaker.releng.targetplatform → TMD-Makerのビルド設定用。ターゲットプラットフォーム設定を定義
├── src → 今の所siteのファイル置き場
└── tests → テストプラグイン置き場
    ├── tmdmaker.core.test → TMD-Makerのモデルのテストプロジェクト
    ├── tmdmaker.serializer.test → TMDの保存機能のテストプロジェクト
    ├── tmdmaker.test → tmdmakerプロジェクトのテストプロジェクト
    └── tmdmaker.ui.test → tmdmakerのUIテストプロジェクト

ブランチ

  • master リリースバージョン
  • develop 開発バージョン(リリースバージョンのマイナー番号++)

バージョン採番ルール

major . minor . service

  • major : 大きな機能変更が発生する場合に加算。バージョン1はいつにしようか。。。
  • minor : 通常は次バージョンはこの値を加算する
  • service : 現バージョンのバグ修正版

リリース

8月(Eclipse new version)、11月、(Eclipse R1)、4月(Eclipse R2)の年3回りリースを目標とする。

ビルド方法

  1. 手動
    • plugin
      1. tmdmaker.feature/feature.xml を開く。
      2. OverviewタブのEclipse Product export wizard を実行する。
      3. ExportダイアログのDestinationタブ内のarchive file に${任意の出力先ディレクトリ}/tmdmaker_${version}.zipを入力する。
      4. ExportダイアログのOptionsタブ内のAllow for binary cycles in target platform以外のチェックを外す。
      5. ExportダイアログのFinishボタンを押下する。
      6. Archive fileの出力先にリリースファイルが作成される。
    • RCP
      1. tmdmaker.rcp/tmdmaker_rcp.product を開く。
      2. OverviewタブのExport Wizard を実行する。
      3. Configurationに /tmdmaker.rcp/tmdmaker_rcp.product を入力する。
      4. Root directoryに tmdmaker を入力する。
      5. Synchronize before exporting をチェックする。
      6. Archive file に${任意の出力先ディレクトリ}/tmdmaker_for_rcp_${version}.zipを入力する。
      7. ExportダイアログのExport Options内のExport source以外をチェックする。
      8. Nextボタンを押下する。
      9. Available platformsで任意のプラットフォームを選択してFinishボタンを押下する。
      10. Archive fileの出力先にリリースファイルが作成される。
  2. mavenビルド(ヘッドレスビルド)
    1. tmdmakerのrootへ移動
    2. mvn -P oxygen.target clean verify install を実行(installしたバンドルは.m2ディレクトリから削除してください)
      • tmdmaker.releng.plugin/target/直下にtmdmaker_${version}.zipが生成される。
      • tmdmaker.releng.product/target/produts直下にtmdmaker_for_rcp_${version}-${arch}.zip/tar.gzが生成される。
  3. mavenビルド(stageサイト生成)
    1. tmdmakerのrootへ移動
    2. mvn -P oxygen.target clean install site site:stage を実行
    3. target/siteにwebサイトのファイル群が生成される。ランディングページがトップディレクトリに作成されないので別途検討。
  4. mavenビルド(本番サイトデプロイ)
    1. ~/.m2/settings.xmlの設定を確認
      <settings>
      	<servers>
      		<server>
      			<id>tmdmaker-site</id>
      			<username>sourceforge.jpのユーザID</username>
      <!-- 			<password>鍵認証なので設定しない</password> -->
       			<filePermissions>664</filePermissions>
      			<directoryPermissions>775</directoryPermissions>
      			<passphrase>鍵認証のパスフレーズ(必要な場合)</passphrase>
      			<privateKey>秘密鍵の場所(デフォルト値と同じ場合は設定不要)</privateKey>
      		</server>
      	</servers>
      </settings>
      
    2. tmdmakerのrootへ移動
    3. mvn -P oxygen.target clean install(eclipseから実行する場合はverifyに設定しワークスペース内で依存性解決する) site site:deploy を実行
    4. TMD-MakerのWebサイトにデプロイされる。

SWTBotの手動テスト

こちら参照 https://wiki.eclipse.org/SWTBot/UsersGuide#Configuration

Run Configurationでargumentに-nl enを追加してください。

Mavenサイト

http://tmdmaker.sourceforge.jp/tmdmaker.releng/index.html

カバレッジとかメトリクスとかは徐々に改善していきましょう。 見える化するとやる気が出るかなと思っただけなので。。。

バージョンアップ

Tycho Versions Plugin と手動で設定ファイルを書き換える。tmdmaker.releng/setupNewVersion.shコマンドで以下を一括更新予定(未テスト)。

  1. Tycho Versions Plugin でpom.xmlとMANIFEST.MFのバージョンを上げる。
    mvn tycho-versions:set-version
    
  2. 以下のファイルのバージョンを手動で上げる。
  • tmdmaker.releng/pom.xmlのrelease-version
  • tmdmaker.rcp/about.mappingsの0
  • tmdmaker.rcp/plugin.xmlのextensions/org.eclipse.core.runtime.products/TMD-Maker for RCP/buildId
  • tmdmaker.rcp/tmdmaker_rcp.productのversion
  • tmdmaker.releng.product/tmdmaker_rcp.productのversion
  • tmdmaker.doc//src/site/sphinx/conf.pyのversion、release

TMD-Makerの使用ライブラリ

Git参考資料

UI開発資料

その他資料

  • javadoc.javadoc書くときの参考に
  • findbugs.findbugsのチェック項目一覧

まだ開発資料がまとまっていませんが、開発協力者は随時募集してます。興味がある人はご連絡ください。