Project

General

Profile

機能 #144

アプリケーション用データの格納場所が入っている文字列を用意する

Added by Yuji Tateno 6 months ago. Updated 5 months ago.

Status:
終了
Priority:
通常
Assignee:
Start date:
02/05/2019
Due date:
02/22/2019
% Done:

100%


Description

これがないとデータを用意しても使えないため。なおテストモードと通常モードでは異なるパスになる可能性が高い。


Subtasks

wOLIB - 機能 #146: 引数からCatalogue::resourcePathを作る終了Yuji Tateno

wODM - 機能 #147: 基準パスを生成してBASE_PATHマクロとして埋め込む却下Yuji Tateno

wODM - 機能 #148: テストモード/非テストモード別に自身のBasePathとResourcePathを作る終了Yuji Tateno

wODM - 機能 #149: --BasePathオプションを指定して子プロセスを起動するようにする終了Yuji Tateno

wODM - 機能 #150: 子プロセス起動時に子プロセス用のBasePathを作って--BasePathオプションで与える却下Yuji Tateno

wOApp - 機能 #155: wOAppにおいて--BasePathを受け付ける終了Yuji Tateno


Related issues

Blocks wOCE - 機能 #93: ログイン機能新規2019-03-012019-03-08

Blocks wODM - 機能 #108: Dashboardの作成却下2019-02-232019-03-01

Blocks wODM - 機能 #133: 画像取り込みとハンドラ作成終了2019-02-222019-03-08

Associated revisions

Revision 886:12ceaceb8697 (diff)
Added by Yuji Tateno 5 months ago

--BasePathオプション指定を追加 id #148 #144

Revision 1158:c8bd54abe5ec (diff)
Added by Yuji Tateno 5 months ago

wOSHを--BasePath付きで起動するようにしてみた id #144 #148 #149

Revision 890:c0b6c0f6f93a (diff)
Added by Yuji Tateno 5 months ago

wOSHを--BasePath付きで起動するようにしてみた id #144 #148 #149

Revision 1159:910602bb572e (diff)
Added by Yuji Tateno 5 months ago

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

Revision 287:bdf4db0f081b (diff)
Added by Yuji Tateno 5 months ago

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

Revision 891:9d171d0ee267 (diff)
Added by Yuji Tateno 5 months ago

wODMにあったCatalogueを共通化してwOLIBへ移動 id #144 #49 closes #146
wODMのapp関連を集めてappへ移動

History

#1 Updated by Yuji Tateno 5 months ago

#2 Updated by Yuji Tateno 5 months ago

#3 Updated by Yuji Tateno 5 months ago

#4 Updated by Yuji Tateno 5 months ago

  • Blocks 機能 #109: Logout、Centerアイテムの作成 added

#5 Updated by Yuji Tateno 5 months ago

  • Due date changed from 02/15/2019 to 02/22/2019

#6 Updated by Yuji Tateno 5 months ago

wOCEではPATH環境変数は使わないのでargv[0]には常に有効な自身へのパスが入っていると仮定していいはず。wOAppではパスの最後を除去してディレクトリ名のみにし「resources」を追加すると良さそうだ。削るのが面倒なのでBasePathを引数として与えることにした。BasePath+"resources/"が目的のパス。

問題はwODMとwOSHで、テストモードではwODMそれ自身がカレントにあり、wOSHはwODMからの相対パスとなる。ともかく、起動条件が他と異なるので何か手段を考える必要がある。

#7 Updated by Yuji Tateno 5 months ago

wODMはテストモードかどうかのコマンドラインオプションを利用できるので、wOSHからの起動リクエストをapp名のみとし、wODMでサーバ側の絶対パスを作って起動...とする。

となると問題はwODMで絶対パスが必要になる点だが、テストモードではカレント、非テストモードでは固定パスなのでmakeで生成するほうが簡単。よって、makeで基準パスを生成してgccの-DwOCE_PATHオプションへ指定してビルド。その時installターゲットでは最初に「make -C . clean」してマクロの影響をクリアし、インストール後にもう一度クリアする。

#8 Updated by Yuji Tateno 5 months ago

ResourcePathはBasePath+"resources/"。

BasePathはwODMとその他で生成方法が異なる。

wODMにおいてはテストモード時はPWD環境変数と同じ、非テストモードでは文字列リテラルで"/usr/local/wOCE/wODM/"になる。

wODM以外では"--BasePath="オプションで与えられる(デフォルト値は空文字列)。これはテストモードではwODMのPWD環境変数+"../app名/"であり、非テストモードでは"/usr/local/wOCE/apps/app名/"になる。

#9 Updated by Yuji Tateno 5 months ago

  • Blocks 機能 #133: 画像取り込みとハンドラ作成 added

#10 Updated by Yuji Tateno 5 months ago

BasePathは--BasePathパラメタで与えられる。--BasePathパラメタのデフォルト値はwODMでは文字列リテラルで"/usr/local/wOCE/wODM/"を使う。またwODM以外ではこのオプションは必須で指定がない場合は"+n"オプションを与えた時と同様に終了する。つまりオプション自体のパースは完了し、保存されるオプションの変更は適用される。

wODMはソースツリー上で直接実行するtestターゲットにおいてはmakefileによってカレントディレクトリを指す--BasePathオプションおよびテストモードであることを示す+tオプションを与えられる。

#11 Updated by Yuji Tateno 5 months ago

wOSHのBasePathはwODMがテストモードの時はwODMのBasePath+"../wOSH/"が、でなければ文字列リテラル"/usr/loca/wOCE/wOSH"が指定される。またwOSH自体のargc[0]はwOSHのBasePath+"wOSH"が使われる。

#12 Updated by Yuji Tateno 5 months ago

#13 Updated by Yuji Tateno 5 months ago

  • Blocks deleted (機能 #109: Logout、Centerアイテムの作成)

#14 Updated by Yuji Tateno 5 months ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF