To 日下さん
こんばんは。大橋(soundTricker サントリー)です。
毎回返信すいません。
僕はgithubでやってます。
古いコードはコピペですが、最近コードは
最近追加されたImport/Export Projects を使って、Githubにpushしたら自動で
CoffeeScript compile→テスト(jasmine)→デプロイって感じにしてます。
GAS上で上記のImport/Exportをやるライブラリも公開しているので見てみてください。
https://github.com/soundTricker/ScriptManager
あと上の自動デプロイをやっているのは以下です。
https://script.google.com/d/1kQSwmrTfNRbTpwWLA9wqnCUecy-C9OK4HHEXssWZP140x8zXiIuxo_Ta/edit?usp=drive_web
またnodejs版のモジュールも今作ってるので(ライブラリとしてはある程度できています。)、そっちも見てみてください。
https://github.com/soundTricker/gas-manager
これが出来上がると、色んな所で構成管理(バージョン管理)とかができるようになるはずです。
ただしこのImport/Export ProjectsはDrive上に直接作成したStandaloneなGASでしかできないので、
Sheets上に作ったGASには使えません。
そういうGASについてはしょうがないので、適当な感じ(一応Spreadsheetにまとめてますが)で管理しています。
--
このメールは Google グループのグループ「Google Apps API Japan」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、google-apps-api-...@googlegroups.com にメールを送信します。
このグループに投稿するには、google-app...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
まだ公開はしてないですよー(汗
今週から来週ぐらいにはリリースしますー
ちなみにタイマー(トリガー)のハンドラー関数は
グローバルな箇所で呼び出せばライブラリ側で呼び出し側に登録しても使えるっぽいですよ
Rajah.initみたいな感じで
ただしトリガー登録するときはScriptApp経由になりますが
まだone time トリガーでしか試してないですがなんとなーくいけるかなーと思ってます。
同じような感じでsheetsのカスタム関数もいけるか試したのですがこちらは無理でした
2013/07/19 19:16 "Tsuyoshi KODAMA" <tsuyosh...@gmail.com>:
いや
そうじゃなくて
//ライブラリ使う側のグローバルなところ
Lib.init(this);
みたいにしておいて、
ライブラリ側で
//Libライブラリ
function init(object){
object.newFunction = function(){
//なんか処理
};
}
ってやるとライブラリ使う側のトリガーとしてnewFunctionが起動できるってことです。
ただし、画面からは登録できなくて、ScriptAppから登録する必要があります。
これを上手く使うと、
パラメータ付きでトリガー起動したり、
色々できそうだなーとか考えてます。
※携帯からなんで簡素な例ですいません
後で例を作っておきますー
npm install -g gas-manager
gas download --path path/to/source/directory
gas upload
To 日下さん
大橋です。
> ソースファイルをどう管理をしているかは関係なく
> 所定の場所にあるGASのソースファイルを自動でGoogleDriveアップロードしてくれるもの
>
> という理解で正しいでしょうか?
はい。
合っています。
任意の場所にあるGAS用のソースファイルを、
Drive上に存在するgasプロジェクトへアップロードします
>
> また
>
> アップロードしたGASのソースファイルに対して
> ・バージョンを付与する
> ・ウェブアプリケーションとしてデプロイする
> という機能は現状備えてない
>
> という理解で正しいでしょうか?
はい。
これもあっています
現状このツールはGASのImport/Export APIを利用しており、
そのAPIがまだそのようなことが出来無いため、現状、直接的には不可能です。
対応されたらすぐにやろうと思ってます
ただ、webアプリケーションとして起動するコードをなるべくLibraryプロジェクトに分けて、
webアプリケーション側から
Libraryプロジェクトをdev modeで読み込めば、
Libraryプロジェクトを更新すれば自動で
webアプリケーションが更新されるという形は可能です。
それに加えて児玉さんとかと話していたような、
トリガーの外部化などのテクニックを使えばかなりライブラリ側にコードを寄せられるはずです。
>
> ※たまたま私が扱っているGASは、
> ウェブアプリケーションとして公開するケースが多いので
> そのデプロイまで対応できたらありがたいと思っただけなのですが
>
2013/07/24 19:12 "Tsuyoshi KUSAKA" <tsuyosh...@gmail.com>: