Home > ActionScript3.0 | Progression > libsフォルダにカスタムクラスを入れてると、オートアップデートが使えない!

libsフォルダにカスタムクラスを入れてると、オートアップデートが使えない!


Progressionでsrc>libsフォルダには、caurina、com、jp、orgというクラスファイルが入っています。

他の方が作成されたクラスファイルを使おうとして、そのクラスファイルのpackageのパスがjp.flabaka.●●とかになっている時には、注意が必要。

Progressionではデフォルトでindex.flaにクラスパスが通っているので、そのままlibsフォルダ内のjpフォルダに新しくフォルダを作ってカスタムクラスを入れ、import jp.flabaka.●●みたいに使おうかなぁ…なんて企んでいると、アートアップデートが使えなくなります。

ちなみにですが、CS3で3.0.8から3.1.2にアップデートしようとすると、エラーになりました。

出力パネルには、ファイル削除の段階で、余計なものがlibsフォルダに入っているので、そこで処理が中断されましたというログが…

フォルダ内を見てみると、srcフォルダ内にあったflaファイルとかクラスファイルが全部消去されていました。

検索かけてみても、バックアップはされていない模様…

サンプルで作っていたものだったので、問題はなかったんですが、既存のサイトでアップデート掛けてたときのことを考えたら…

libsフォルダには、カスタムクラスは入れないようにしましょう!

★追記(その1)

taka_niumさまよりコメントを頂きまして問題が解決しましたので、追記しておきます。(以下の追記と併せて、コメントも御覧下さい!)

libsフォルダにカスタムクラスを入れてると、オートアップデートが使えない! と宣言しましたが、オートアップデートが使えない場合もあるということに変更です。

libsフォルダ内に新規フォルダを作成し、その中に新規クラスファイルを作成→保存していく分には、問題なくオートアップデートが使えました。

僕が何故アップデート出来なかったかというと、svnからクラスファイルを引っ張ってきて、libsフォルダ以下にコピペしていたからのようです。

svnからファイルをコピペしたので、奥の方のフォルダ内などに.svnというフォルダが作成されていました。

ファイルが削除されないのは、これが原因かなぁ…と思って、試しに.svnのフォルダを全て削除して、オートアップデートをしてみると…

成功しました!

どうやらこいつが原因だったみたいです。(niumさまから頂いたコメントに、フォルダ名の先頭に「.(ドット)」があるから駄目っぽいとありました…)

当面は、svnから引っ張ってきたクラスファイルをコピペして使う時は、.svnフォルダは全て削除しておいた方がいいっぽいです。(後でオートアップデート機能を使う時の為に…)

★追記(その2)

あと、オートアップデートに失敗した際は、3.1.2の場合であれば自動的にファイルがバックアップされていました。

僕の場合はWindowsなので、Cドライブの直下に「Progression Project Backup」というフォルダが作成され、その中にアップデートする前のファイルが全て保存されていました。

アップデートに失敗した場合でも、このフォルダ内のデータを使えば、何度でもやり直しが出来ます!

Comments:5

taka:nium 09-01-16 (金) 13:12

検証ありがとうございます!

libs フォルダ内に独自のファイルを追加して、正しくアップデートできるかどうかを確認しましたが特に問題ありませんでした。
設計上も不具合がない限り問題ないようになっていると思います。

また、3.1.0 と 3.1.1 では、アップデート対象に含まれるファイルが開かれている等、何らかの理由でロックされている場合に正しくアップデートできない問題が未確認ですが報告されたため、3.1.2 でその問題に対応した修正を加えてあります。
3.1.1 で問題が発生しているのであればよいのですが、3.1.2 でも同様なのが気になります・・・もう少し詳しく情報を教えて頂けますでしょうか?

taka:nium 09-01-16 (金) 13:18

すいません!
もうひとつ補足なのですが、3.1.2 の場合であれば C ドライブ直下(Mac であれば Mac HDD 直下?)に Progression Project Backup というフォルダが作成され、その中にアップデート前の状態のデータがあると思います。
このデータはアップデート時のバックアップが有効化されている場合に作成され、再度アップデートを行うまでは永続的に残るように修正しましたので、確認して頂いてもよいでしょうか?

あつのすけ 09-01-16 (金) 14:26

taka_niumさま

コメントありがとうございます。

Progression Project Backupフォルダ、作成されていました。
その中にアップデート前のデータがきちんと保存されていました。

検索かけた際、何で引っかからなかったんだろう…
多分、僕の指定したキーワードが変だったんだうなぁ…

そのデータを使って、あれこれ試していたら、原因が判明!

↓ちなみにですが、エラーのログはこんな感じでした。

Error: ファイル、またはフォルダの削除に失敗しました。 対象の値 = file:///C|/example_class

svnから引っ張ってきたクラスファイルをコピーして使っていたので、コピーしたフォルダ内の奥深く(libs>jp>flabaka)に.svnというフォルダが存在していました。

ファイルを削除出来ないのはこいつが原因かなぁ…と思って、そのファイル(.svnフォルダ)を全部削除して、アップデートを掛けたら、正常にアップデートが終了しました。

説明不足ですいません。
記事の方も後ほど、コメント頂いたあたりのことを追記しておきます。

ありがとうございました!

taka:nium 09-01-16 (金) 15:17

いろいろと調査ありがとうございます!
こちらでも問題が発生することを確認しました。
フォルダ名の先頭に . が含まれているとダメみたいですね。

SVN との連携を考えるとフォルダ毎入れ替えるよりもファイル単位で完全に制御した方がよさそうですので、その方向で開発を進めますね。
また、エラーが発生した際のバックアップ復旧手順などのメッセージの処理方法についてはもう少し分かりやすくなるような方法を考えさせてください。

あつのすけ 09-01-16 (金) 15:59

taka:niumさま

記事の方にも、頂いたコメントの内容を反映させてみました。

Comment Form
Remember personal info

Trackbacks:2

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=390
Listed below are links to weblogs that reference
libsフォルダにカスタムクラスを入れてると、オートアップデートが使えない! from flabaka
pingback from blog.progression.jp» ブログアーカイブ » [お知らせ] 今週の Progression 関連エントリー(2009/01/03 ~ 2009/01/16) 09-01-17 (土) 14:53

[…] flabaka / libsフォルダにカスタムクラスを入れてると、オートアップデートが使えな… […]

pingback from blog.cuegraphix.com - Progressionクラスベースオートアップデート 09-01-21 (水) 17:13

[…] 調べてみると、Progression Forumでflabakaさんがオートアップデート機能について情報共有されていて、どうやら現在進行しているプロジェクトはSubVersionで管理していて、それで生成される「.svn」というフォルダがよろしくないことが判明。 flabakaさんのこちらの記事で詳しく説明されてます。 flabaka – libsフォルダにカスタムクラスを入れてると、オートアップデート

Home > ActionScript3.0 | Progression > libsフォルダにカスタムクラスを入れてると、オートアップデートが使えない!

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top