Groovy

Gradleでbuildすると1行目でいきなり"1: Invalid variable name."というエラーが出る

Groovyでちょっとした物を作り始めたら・・・ C:\home\gozu\projects\Foo\bar>gradlew jar :compileJava UP-TO-DATE :compileGroovy startup failed: C:\home\gozu\projects\Foo\bar\src\main\groovy\hogehoge.groovy: 1: Invalid variable name. Must start…

Jenkinsfile内で指定した複数nodeで同じジョブを流す

テストとかビルドではあんまりやらないんでしょうけど・・・ WindowsUpdateの自動実行続きです。 例えば、host1 host2 host3 と対象としたいSlaveがあって、host2が生きていなければスキップしたいです。 でもJenkinsはしつこく待つのでnodeが生きてるときだ…

Groovyでログから特定区間の処理時間を計算する

障害調査とかログから処理時間を抽出するというのをごにょっとやったのでメモを残しておきます。(書いとかないと絶対忘れるやつだし) ログファイルから欲しい情報を抜き出す スタックトレースを起点に処理時間を抽出しようとするとその行には日付などの情報…

Spark Frameworkでstop()を呼ぶとInterruptedExceptionが発生して固まる

状況 Spark FrameworkというSinatraっぽい軽量サーバを使ってGroovyでWebAPIのサーバを書いてます。 sparkjava.com サーバを停止する処理を呼ぶと停止処理中に固まってしまうという現象が起きてました。 実装 サーバを停止する方法は公式ドキュメントにある…

Jenkins Pipeline PluginでRobocopyを使うと成功したのにFAILUREで返ってくる

Workflow PluginあらためPipeline Pluginを使い始めてます。便利だわー。Groovyだし。 実行したScript Robocopyなんで前提はWindows Slaveです。 node('Windows') { def snapshot = "${env.BUILD_TAG}" echo "$snapshot" bat "robocopy /E .\\foo \\\\server…

Groovyからexecute()したプロセスで環境変数がうまく取れない

C#で書いたexeがあって、内部でEnvironment.GetEnvironmentVariable("ComSpec");してcmd.exeのフルパスを取っているのですが、何故かGroovyからexecute()した時だけ値が空白になります。 検証コード groovy> println "cmd /c set".execute([], new File(".")…

GroovyでScript実行時に複数のクラスがあるとエラー発生

ソース import static spark.Spark.* import groovy.json.JsonBuilder class A { def a = "test" def b = ['a':1, 'b': [111, 222, 333]] } class B { public static void main(String[] args) { Object.metaClass.asJson = { def builder = new JsonBuilder…

Groovyで外部プロセス起動して結果を読もうとすると処理が返ってこない事がある

execute().textを読み出そうとすると一部のコマンドで返ってこないことがある。 どうやらWindowsではストリーム詰まる問題が出ることがあるらしい www7164up.sakura.ne.jp 元ソース def runCommand(String command, String param) { def msg = [] def cmd = …

SparkでAPIサーバを起動しようとしたらエラー

この記事を参考にSparkを使ってGroovyでWebAPIサーバ書こうと思ってる。 qiita.com sparkjava.com エラー発生! :compileGroovy FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileGroovy'. > spark/…

Groovyをプロキシ環境下で使う

よく忘れるのでメモ 特にhttpsとかno_proxyの書き方とかすぐ忘れるし。 以下の例は実際にはどれも1行で記述します。コピペしてもそのまま実行できません! コマンドライン $ groovy -DproxyHost=proxy.example.com -DproxyPort=8080 -Dhttps.proxyHost=proxy…

GradleでGroovyコンパイルする

Groovyでビルド失敗 Groovyでコンパイルするようにするにはgroovyプラグインを使います。 ぐぐると以下のようなのを追加すれば出来そうな気がする。 apply plugin: 'groovy' repositories { mavenCentral() } dependencies { groovy group: 'org.codehaus.gr…

proxy環境下でGVMを入れる(続き)

やっぱり上手く行かなかった get.gvmtool.netのスクリプトの中でcurlが使われていてこけていた。 具体的には、res-1.3.13.zipというファイルが0byteでできていてインストーラに失敗していた。 curl --proxy http://proxy.hrj.in.infocom.co.jp:8080 -s http:…

Movable Type 6のData APIで再構築する

背景 社内のMovable Typeで複数のブログを束ねて表示するまとめサイトのウェブサイトを作りました。 諸事情あって上位のウェブサイトではなくブログの中にウェブページを作ってる。 ウェブページのために、新たに専用のCSSやウィジットを作成している。 事情…

proxy環境下でGVMを入れる

proxy経由でGVMを入れようとしたら公式サイトのままだと動かなかった Ubuntu 14.04 LTSのGroovyが古めなのでGVMから入れようとしたんだけど、GVM公式サイトに書いてある通りだと動かなかった。 GVMインストール 公式サイト(http://gvmtool.net/)ではcurl -s …