junichi11 / fuelphp-netbeans

Support for FuelPHP Framework
26 stars 3 forks source link

Can't using Auto-upload on save file #6

Closed orcaaoshi closed 11 years ago

orcaaoshi commented 11 years ago

Can't using Auto-upload on save file

Now I'm using NetBeans 7.2.1 (build version 201210100934) and org-netbeans-modules-php-fuel-0.5.6-build-201210100934.nbm file. I'm setting my project properties, [Run Configuration]-[Upload Files]: On Save.

But when I save file, IDE is not starts Auto-upload. I tried deactivate this plugin and save file, IDE is starts Auto-upload.


* write in Japanese from here. *

保存時の自動アップロード処理が動作しないようです。

環境は NetBeans 7.2.1 (build version 201210100934) & org-netbeans-modules-php-fuel-0.5.6-build-201210100934.nbm です。 プロジェクトのプロパティにて、[実行構成]-[ファイルのアップロード]は[保存時]としています。

この状態でファイルの保存を行ったのですが、自動アップロード処理は行われませんでした。 プラグインを非アクティブ化してファイルの保存を行うと、自動アップロード処理が行われました。

junichi11 commented 11 years ago

I can't reproduce on my environment : Product Version = NetBeans IDE 7.2.1 (Build 201210100934) (#a183c5e41a19) Operating System = Linux version 3.2.0-34-generic-pae running on i386 Java; VM; Vendor = 1.6.0_37; Java HotSpot(TM) Client VM 20.12-b01; Sun Microsystems Inc. Runtime = Java(TM) SE Runtime Environment 1.6.0_37-b06

I tried it. Change README.md and save. Log the following:

CWD /var/www/fueltest
ディレクトリは成功裏に変更されました。
PWD
/var/www/fueltest
CWD /var/www/fueltest
ディレクトリは成功裏に変更されました。
STOR README.md.new
ファイル受信OK。
RNFR README.md.new
RNTO README.md
名前変更成功。

Can you also reproduce it with other framework plugin (e.g. zend, symfony)? If you can reproduce it, It might be bug for NB side. What's your OS?


こちらの環境では再現しないようです。。。 公式の他のプラグインでどうなるか試されましたか? もしそれで再現するようであれば、NetBeans側のバグかもしれません。 ちなみにOSは何をお使いでしょうか?

orcaaoshi commented 11 years ago

Thank you for your reply.

I'm using WindowsXP SP3. My environment is: Product Version: NetBeans IDE 7.2.1 (Build 201210100934) Java: 1.7.0_09; Java HotSpot(TM) Client VM 23.5-b02 System: Windows XP version 5.1 running on x86; MS932; en_JP (nb)

I isolated this problem. This problem reproducible when editting project that created before install this plugin.

Please see below: FuelPHP project (created BEFORE install this plugin) : NG (NO Auto-Uploaded) NO FuelPHP project (created BEFORE install this plugin) : OK FuelPHP project (created AFTER install this plugin, using [FuelPHP PHP Web Framework]) : OK


お返事ありがとうございます。

どうやら、プラグイン導入以前から存在しているFuelPHPのプロジェクトでのみ指摘した問題が発生するようです。 (本日、NetBeans7.2から7.2.1に移行し、新たにこのプラグインを導入しています。)

プラグイン導入以前から存在している、FuelPHPを「使用していない」プロジェクトでは問題が発生しませんでした。 また、プラグイン導入後にプロジェクトを新規作成し、そこで[FuelPHP PHP Web Framework]を選択した場合は問題が発生しませんでした。

あと気になるのは、問題のプロジェクトでは、プロジェクトアイコンの「php」の右上にFuelPHPのマークが表示されますが、 「public」ディレクトリのディレクトリアイコンの右下に地球のマークが表示されていないことです。 また、「nbproject」以下のファイルは見比べてみましたが、原因になりそうな箇所は見当たりませんでした。 どこか隠れたところに、管理情報が隠されているのかなと推察している所です。

別件と思いますが、掲題の問題が発生するファイルでは、削除も行えない場合がある(削除確認のダイアログが表示されない)ことを新たに確認しました。 これはIDEを再起動すると直ることもあり、再現性は不明です…

junichi11 commented 11 years ago

This issue is not problem for plugin side. If there are no problem, please close issue.


プラグインの問題ではないと思うのでここからは日本語で書きますね。 Macを使っている方で、他の機能が動かないという報告があったので、OSをおききしました。 publicのところのマークはwebrootの印です。プロジェクトのプロパティから設定できると思います。 プラグインから作成すると、これとテストディレクトリの設定も行なっています。 あくまでも私の予想ですが、webrootの設定は特に関係はないのではなかと思います。 削除できない場合があるとのことですが、自分の予想では、なにか余計なファイルが入っていてそれが原因になっているのではないかと思います。バージョン管理の設定ファイルなどが関係のないところに紛れていませんか?例えば、.git***などのファイルです。それからIDEのログを見てみてください。ファイルが削除出来なかったりすると、例外が発生していたり、ログが残っていると思います。関連している機能の名前が見つかれば、それに関するファイルがないか探してみるといいかと思います。

orcaaoshi commented 11 years ago

I found this trouble reason. But I doubt this problem from this plugin... I'm very confusing.

When exists "docs" directory in source file directory, saved file is Auto-Uploaded.

IDE log the following:

SEVERE [org.openide.util.Exceptions]
java.lang.NullPointerException: The file parameter cannot be null
    at org.openide.util.Parameters.notNull(Parameters.java:89)
    at org.openide.filesystems.FileUtil.toFileObject(FileUtil.java:1043)
    at org.netbeans.modules.php.project.PhpProject.getIgnoredFileObjects(PhpProject.java:538)
    at org.netbeans.modules.php.project.PhpProject.isVisible(PhpProject.java:519)
    at org.netbeans.modules.php.project.PhpVisibilityQuery$2.isVisible(PhpVisibilityQuery.java:75)
    at org.netbeans.modules.php.project.util.PhpProjectUtils.isVisible(PhpProjectUtils.java:279)
    at org.netbeans.modules.php.project.copysupport.CopySupport.getValidProjectSource(CopySupport.java:419)
    at org.netbeans.modules.php.project.copysupport.CopySupport.getValidProjectSource(CopySupport.java:389)
    at org.netbeans.modules.php.project.copysupport.CopySupport.fileChanged(CopySupport.java:339)
    at org.netbeans.modules.php.project.copysupport.CopySupport$SourcesFileChangeListener.fileChanged(CopySupport.java:634)
    at org.openide.filesystems.DeepListener.fileChanged(DeepListener.java:174)
    at org.openide.filesystems.DeepListener.fileChanged(DeepListener.java:167)
    at org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectKeeper.fileChanged(FileObjectKeeper.java:294)
[catch] at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEventImpl(FCLSupport.java:145)
    at org.openide.filesystems.FCLSupport$DispatchEventWrapper.dispatchEvent(FCLSupport.java:128)
    at org.openide.filesystems.FCLSupport.dispatchEvent(FCLSupport.java:105)
    at org.openide.filesystems.FileObject$ED.dispatch(FileObject.java:1242)
    at org.openide.filesystems.EventControl.invokeDispatchers(EventControl.java:213)
    at org.openide.filesystems.EventControl.exitAtomicAction(EventControl.java:188)
    at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:129)
    at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:607)
    at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:603)
    at org.openide.text.DataEditorSupport.saveDocument(DataEditorSupport.java:602)
    at org.netbeans.modules.csl.core.GsfDataObject$GenericEditorSupport$Environment$SaveSupport.save(GsfDataObject.java:220)
    at org.openide.actions.SaveAction.performAction(SaveAction.java:132)
    at org.openide.actions.SaveAction.performAction(SaveAction.java:102)
    at org.openide.actions.SaveAction$Delegate.actionPerformed(SaveAction.java:249)
    at org.openide.awt.ContextAction$Performer.actionPerformed(ContextAction.java:231)
    at org.openide.awt.ContextManager.actionPerformed(ContextManager.java:247)
    at org.openide.awt.ContextAction.actionPerformed(ContextAction.java:109)
    at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:93)
    at org.openide.util.actions.ActionInvoker$ActionRunnable.actionPerformed(ActionInvoker.java:162)
    at org.netbeans.core.ModuleActions.invokeAction(ModuleActions.java:109)
    at org.netbeans.modules.openide.actions.ActionsBridgeImpl.invokeAction(ActionsBridgeImpl.java:60)
    at org.openide.util.actions.ActionInvoker$ActionRunnable.doRun(ActionInvoker.java:153)
    at org.openide.util.actions.ActionInvoker$2.run(ActionInvoker.java:110)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)

伝えづらいところが多いため、以下日本語で失礼致します。

webrootの件は予想いただいた通り、関係ありませんでした。ていねいに教えていただき、ありがとうございました。

正しく動作するプロジェクトに問題のあるプロジェクトのデータを投入してみて色々確認したところ、 ソース・ファイルのディレクトリに「docs」ディレクトリがあるかどうかで挙動が変わることが分かりました。 ただ、私がログを見ただけでは、より上位側のプラグインに問題があるように見えるため判断を仰ぎたく、ログを貼らせて頂きました。

「docs」ディレクトリがソース・ファイルに表示されないので、何らかの処理が行われているのかなとは推察していますが… 取り急ぎは「docs」ディレクトリを作成しておき、対応しておきます。

お手数ですが、ご確認のほどよろしくお願いいたします。 この問題がプラグイン外の事であれば、すぐにクローズさせて頂きます。

junichi11 commented 11 years ago

I see. This is bug. I'll fix soon. please wait a few time. Thanks for letting me know!

orcaaoshi commented 11 years ago

Thank you so much. I'm glad to be of help!

junichi11 commented 11 years ago

It was very helpful. I have fixed. Please verify v0.5.7. Thanks.


ログの掲載ありがとうございます! まずい部分があったのをすぐに思い出しました。 こちらでもdocsのあるなしで確認しましたが、プラグインポータルからDLして使ってみてください。 また、何か見つけたときはお知らせいただけたら幸いです。

orcaaoshi commented 11 years ago

Verify and checked v0.5.7. This problem was fixed!


ありがとうございました! 今後とも宜しくお願いいたします。


以下、ちょっと雑談ですみません。 実は今、FuelPHPのAdvent Calendarが開催されていまして、その中の記事でこのプラグインを知りました。 http://worktoolsmith.com/2012/12/fuelphp_atnd_netbeans/

ここで紹介されているURLは https://github.com/junichi11/fuelphp-netbeans/downloads となっているのですが、プラグインポータルの http://plugins.netbeans.org/plugin/44665/php-fuelphp-framework のURLに変更していただいたほうが良いでしょうか?

Advent Calendarのグループで著者の方と直接連絡が取れるので、お節介ながらそのように思ったための質問です。

junichi11 commented 11 years ago

こちらこそ、よろしくお願いいたします。 その記事は私も拝見いたしました。 DLのURLはまだ有効のようですが、全てバグが入っている状態のものになるのでプラグインポータルを参照してもらった方がいいとは思います。 7.2を使っている方もいらっしゃるので、本当は両方配布したいのですが、まだどう対応するか決めていませんでした。

ちなみに、7.3からはバージョンに依存せずに配布することができるように対応しています(NB側の方で対応してもらっています)。バージョンに依存しなくなるので、再びNBから最新版を直接DLできるようになると思います。

orcaaoshi commented 11 years ago

かしこまりました。 頂いたメッセージを一部引用して、著者の方にお願いしておきます!