タグ

ブックマーク / bluepapa32.hatenadiary.org (17)

  • Gradle Wrapper をカスタムしてみる - bluepapa32’s Java Blog

    今年も残りわずかとなりましたが、今年最初となるエントリーは『 G*アドベントカレンダー 2014』の第24日目の記事です。 早いもので Gradle をはじめてから、まもなく4年が経とうとしています。 今年は長年の悲願であった業務への導入にも成功し、非常に充実した一年になりました。 そこで今回は業務で実際に使ってみて、とっても便利だった機能の一つ 『カスタム Gradle Wrapper』 (実は正式名は不明...) を紹介したいと思います。 いくつものプロジェクトで Gradle を使っていると、いつもお決まりの Gradle スクリプトを書いていることに気づき、いくら Ant や Maven よりも記述量が少なくて済むとはいえ、ちょっと気が滅入る?ことがありますよね... 例えば、Java のエンコーディングを UTF-8 にする場合 tasks.withType(JavaCompil

    Gradle Wrapper をカスタムしてみる - bluepapa32’s Java Blog
    waman
    waman 2014/12/24
  • GroovyFX で GUI アプリケーション開発をはじめよう!! - bluepapa32’s Java Blog

    今年もあとわずかとなりましたが、今年最初となる(しかも 多分 今年最後になるであろう)記念すべきエントリーは 『G* Advent Calendar 2012』の21日目です。 昨年はすっかり出遅れて寂しい思いをしましたが、今年は間に合いましたよ!! で、早速ですが... 皆さん Gradle 使ってますか? (GroovyFX の話はちょっとおいといて...) 自分はというと... Gradle の正式版がリリースされたにも関わらず、今年も格的に導入することができず、ちょっとしたプロトタイプ プロジェクトのビルドやツールとして利用する程度という残念な結果に... とは言え 泥臭い現場では ちょっとしたツールというのが結構大事なんですよね。 でも それを周りにも使ってもらおうとすると 『コマンドライン はちょっと...』 ということ よくありますよね? そこで GroovyFX ですよ!

    GroovyFX で GUI アプリケーション開発をはじめよう!! - bluepapa32’s Java Blog
  • それでも Spock を使い続ける理由 - bluepapa32’s Java Blog

    2011年も残すところ後1ヶ月となりました。 12月と言えば アドベントカレンダーですが、技術系アドベントカレンダーには参加できなかったので勝手にやっちゃいます。 3日坊主だけにはなりたくないですが やれるところまでがんばってみるかな… と言うことで 第1日目は 誰にも理解されず 約半年間 Java のユニットテストで Spock を使い続けてきた理由を挙げてみます。 まず Spock を知らない人のために... Spock は Groovy ベースの BDD フレームワークで こんな感じで書きます。 ちなみに プロジェクトページは http://code.google.com/p/spock/ です。 class HelloSpock extends spock.lang.Specification { def "length of Spock's and his friends' na

    それでも Spock を使い続ける理由 - bluepapa32’s Java Blog
  • Gradle の依存関係を使いこなしてみる - bluepapa32’s Java Blog

    Gradle でも Maven や Ivy と同じように簡単にライブラリの依存関係を解決することができます。 内部的に Ivy を利用しているようなので同じことができて当然なのですが... まずは リポジトリの設定から... ライブラリの取得先の Maven リポジトリのパスを 以下のように列挙しておくだけでよいです。 repositories { mavenCentral() // Maven セントラル mavenLocal() // ローカル mavenRepo url: [ "http://repository.jboss.org/nexus/content/groups/public-jboss", // JBoss "http://repository.apache.org/content/groups/public", // Apache "http://repository

    Gradle の依存関係を使いこなしてみる - bluepapa32’s Java Blog
    waman
    waman 2011/05/12
  • git svn を使ってみる (Windows 環境構築編) - bluepapa32’s Java Blog

    GitHub のおかげで プライベートでは Git 一色の今日この頃。そろそろ 仕事でも Git を使ってみることに... 分散型リポジトリを使った開発のリズムは非常に心地よく 一度味わってしまうと もう 二度と集中型リポジトリを使った開発には戻れない... ということで... 仕事でも Git を使いたいと思うのは至って自然な流れではありますが、 色々と大人の事情もあって リポジトリ自体を SVN から Git へ移行するのはそんなに簡単な話ではありません。 と言う訳で git-svn ですよ。 git-svn を使えば、今まで通り SVN を使ってプロジェクトを共有しつつ、ローカルの開発環境では こっそり Git が使えてしまうのです。 自分だけ 分散リポジトリを使っていい感じで開発を行い、すべての準備が整ったら集中リポジトリに push して、他の開発者に公開するなんてことができます

    git svn を使ってみる (Windows 環境構築編) - bluepapa32’s Java Blog
    waman
    waman 2011/04/09
    git svn cygwin
  • Gradle で環境ごとに構成を変更する その2 - bluepapa32’s Java Blog

    こんな大変なときになんですが... 何もしないよりは 自分にできることを続けていこう!! と言うことで... id:fumokmm さんから ConfigSlurper で複数の設定ファイルの内容を マージする方法を教えてもらったので、今回は 環境ごとの構成を デフォルト設定 environment/default.gradle 環境毎の設定 environment/${env}.gradle ユーザ毎の設定 ${user.home}/.gradle/environment.gradle といった複数のファイルで設定できるようにしてみました。 build.gradle はこんな感じ... if (!hasProperty('env')) { env = System.env['GRADLE_ENV'] ?: 'development' } config = { def slurper =

    Gradle で環境ごとに構成を変更する その2 - bluepapa32’s Java Blog
    waman
    waman 2011/03/15
    『ConfigSlurper で複数の設定ファイルの内容を マージする方法』とか。
  • Gradle で環境ごとに構成を変更する - bluepapa32’s Java Blog

    残念ながら ユーザガイドを見る限り、 現バージョン (1.0-milestone-1) の Gradle には 環境毎に構成を変更できるような機能 (Maven の profile のような機能) は 実装されていないようです。 実際に実務で使う場合、絶対に必要な機能だと思うのですが なぜないんだろう... と思ったら、Groovy にあるじゃないですか!! Groovy にはとっても便利な ConfigSlurper があります。 ConfigSlurper を使えば、簡単に 環境毎に構成を変更できます。 ConfigSlurper については id:fumokmm さんの GroovyのConfigSlurperがめっちゃ便利 が非常に参考になります。 ConfigSlurper では environment.groovy environments { deveropment { se

    Gradle で環境ごとに構成を変更する - bluepapa32’s Java Blog
    waman
    waman 2011/03/10
  • インストールレスで Gradle してみる - bluepapa32’s Java Blog

    とっても便利な Gradle ですが、 実はわざわざインストールしなくても 誰でも簡単に Gradle できるということを皆さんご存知ですか? これは Gradle Wrapper という機能で ユーザーガイド (こちら) にもちゃんと記載されています。 ちなみに、この機能は Gradle 自身のビルドにも使われているのです。 ただ 『インストールしなくても...』というのは ちょっと語弊があるかもしれません。 と言うのも... この Gradle Wrapper の機能を利用にするには まず初めに build.gradle に task wrapper(type: Wrapper) { gradleVersion = '1.0-milestone-1' }を追加して Gradle がインストールされた環境で $GRADLE_HOME/bin/gradle wrapperのように wrap

    インストールレスで Gradle してみる - bluepapa32’s Java Blog
    waman
    waman 2011/03/09
  • タスク定義の << には注意しよう - bluepapa32’s Java Blog

    突然ですが、みなさんは task hello << { println 'Hello, world.' }と task hello { println 'Hello, world.' }の違いがわかりますか? 上記の違いはたった2文字 << だけです。 ところが、このたった2文字で 全く意味が変わってしまうので注意しましょう。 この違いというのが クロージャ ( {...} の中の処理 ) の実行タイミング です。 前者のように << をつけてタスクを定義した場合は hello タスクの実行時に呼び出されます。 ところが、後者の場合 hello タスクのインスタンス生成時に呼び出されてしまいます。 私は この違いで思いっきり はまってしまいました。 実行されるはずのないタスクがいきなり最初に実行されてしまうのですから... 前者と後者で 実際 何が違うのかと言うと... まず、前者の場合。

    タスク定義の << には注意しよう - bluepapa32’s Java Blog
    waman
    waman 2011/02/09
  • Apache Pivot - bluepapa32’s Java Blog

    例年の如く慌しかった年度末も無事?ではないが終わり やっと一息つくことができたので、ずっと気になっていた Apache Pivot をちょっと試してみることに... Apache Pivot を知らない方の為に... http://pivot.apache.org/ http://www.infoq.com/jp/news/2010/03/apache-pivot 上記の記事によると、次のような特徴を持つようだ。 Apache Pivot は GUI ライブラリと 次のような GUI アプリケーションの構築を容易にする フレームワーク を備えている。 宣言的 UI (Declarative UI) データバインディング エフェクト と トランジション Web サービス統合 JavaFX とほとんど同じだが... 宣言的UI は XML 形式で記述する。Java で書いてもいいらしい。 デー

    Apache Pivot - bluepapa32’s Java Blog
  • Java Web Start版 Groovy Console をちょっとだけ変えてみた その3 - bluepapa32’s Java Blog

    残念ながら 参加はできませんでしたが... 12/20 の JavaFX & GlassFish 合同勉強会 で id:nobeans さんが FxBuilder を使って Groovy から JavaFX を利用する方法を発表されていたのを受けて、Java Web Start 版 Groovy Console でも FxBuilder を利用できるようにしてみました。 id:nobeans さんの発表内容は こちら。 今回の変更点は JNLP ファイルのみ... Groovy Console 用 JNLP ファイルの resources に JavaFX Runtion の JNLP ファイルと <extension name="JavaFX Runtime" href="http://dl.javafx.com/1.2/javafx-rt.jnlp" />FxBuilder で必要な

    Java Web Start版 Groovy Console をちょっとだけ変えてみた その3 - bluepapa32’s Java Blog
  • Java Web Start で Groovy アプリを公開してみる その1 - bluepapa32’s Java Blog

    前回の 『Java Web Start 版 Groovy アプリのコード署名は必須ではなかった...』 が抽象的でちょとイメージがしにくかったので 具体的にまとめてみることにした。 このテーマでは 次のような全く意味のないアプリケーションを Java Web Start で公開することを考えてみることに... このアプリケーションは ウィンドウに "Hello, World!" と表示するだけなので サンドボックスの制限内で実行できる安全なアプリケーションであることは言うまでもない。 では まずは 基中の基からと言うことで import javax.swing.*; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel(

    Java Web Start で Groovy アプリを公開してみる その1 - bluepapa32’s Java Blog
    waman
    waman 2010/10/12
    JWS で Groovy アプリ
  • Java Web Start 版 Groovy アプリのコード署名は必須ではなかった... - bluepapa32’s Java Blog

    前々回 『Java Web Start 版 Groovy アプリはコード署名が必須らしい』と書いた。 実は これはある意味 間違ってはいないが正しくもなかった。 と言うのも... 署名が必要なのは アプリではなく Groovy 自体 (groovy-all-x.x.x.jar) だからだ。 前々回も書いたが Groovy 自体 (groovy-all-x.x.x.jar) は サンドボックスの制限内では初期化すらできないため 必ず署名して全ての権限を与えなくてはならない。 しかし、自分が作成したアプリは サンドボックスの制限内で実行できるのであれば その JAR ファイル自体には 来 署名する必要などないはず... 『Java Web Start 版 Groovy アプリはコード署名が必須らしい』というのは アプリと一緒に Groovy 自体 (groovy-all-x.x.x.jar)

    Java Web Start 版 Groovy アプリのコード署名は必須ではなかった... - bluepapa32’s Java Blog
    waman
    waman 2010/10/10
    Groovy + Java Web Start コード署名
  • Java Web Start 版の Groovy アプリはコード署名が必須らしい - bluepapa32’s Java Blog

    暫く中断していた Wake on LAN を JavaFX 1.3 + Groovy 1.7.5 で作成し始めたのだが、いきなり壁にブチあたって泣きそうになった... なんと!! Groovy はサンドボックスの制限とは関係なく コード署名がないと Java Web Start で実行できないらしい... 通常 Java Web Start で実行する場合、ローカルファイルやネットワーク等へのアクセスが制限されるサンドボックスという環境でアプリケーションが動く。 この制限から逃れる場合には コード署名が必要になる。 前々回 作成した Java Web Start 版 Groovy Console も ローカルファイルにアクセスするため オレオレ証明書でコード署名した。 ところが『ローカルファイルにアクセスするため』 と言うのは 私自身の勝手な思い込みで実はそうではなかった。 Groovy

    Java Web Start 版の Groovy アプリはコード署名が必須らしい - bluepapa32’s Java Blog
    waman
    waman 2010/10/08
    Java Web Start と Groovy。 あれ、Griffon で作ったアプリケーションを Java Web Start で実行するとどうなるの?
  • Java Web Start版 Groovy Console をちょっとだけ変えてみた - bluepapa32’s Java Blog

    Java Web Start 版の Groovy Console はとっても便利だけど、スタンドアローン版でできることが できなかったのでちょっとだけ変更してみた。 変更点は以下… AntBuilder が使えるように ant-1.8.1.jar, ant-launcher-1.8.1.jar を読み込むようにしてみた。 tools.jar は読み込んでいないので javac とかはできないけど... 起動時に ${user.home}/.groovy/lib/*.jar を読み込むようにしてみた。 毎回 メニューから追加するのが面倒なので… Groovy Console 起動用に追加したスクリプトはこんな感じ... package com.bluepapa32.groovy import groovy.ui.*; class ConsoleLauncher { static void m

    Java Web Start版 Groovy Console をちょっとだけ変えてみた - bluepapa32’s Java Blog
    waman
    waman 2010/10/06
    Groovy Console + Java Web Start
  • Groovy Console を Java Web Start にしてみた - bluepapa32’s Java Blog

    Groovy Console がとっても便利だったので、どの端末からでも利用できるように Java Web Start にして このブログのメニューに貼っつけてみた。 もちろん オレオレ証明書で groovy-all-1.7.5.jar をコード署名しているので 実行時にセキュリティの警告がでますが... オリジナルの groovy-all-1.7.5.jar から何も変更していないので 特に問題ないと思われる。 もし使ってみたいという方はご自由にどうぞ。もちろん自己責任で... こんな時に使うと とっても便利。 ちょっとコードを試してみたい時 ちょっとしたスクリプトを書いて実行したい時 自分の端末以外で作業している時 ネットワーク と Java さえあればインストールしなくてもどの端末でも気軽に使えます。 こちらからもどうぞ...

  • JavaFX Script 再び... - bluepapa32’s Java Blog

    JavaFX 2.0 から 単なる Java ライブラリ になり JavaFX Script がサポートされなくなるということで、 Groovy で JavaFX しようと考えていたのも束の間... なんでも JavaFX Script が オープンソース となって帰ってくるらしい... しかも名前を変えて!! その名も Visage... 詳細は プロジェクトオーナーでもある Stephen Chin さんが 『Announcing Visage – The DSL for Writing UIs』 でアナウンスされています。 プロジェクトページは http://code.google.com/p/visage/ 既に一部のコードが JavaFX Script Compiler から fork されているみたい。 まだこれから活動を始めるようなので どうなるかわからないが 『Visage

    JavaFX Script 再び... - bluepapa32’s Java Blog
    waman
    waman 2010/10/03
    Visage・・・《文語》 顔,顔だち,容貌(ようぼう). 【古期フランス語「見られるもの」の意】(Excite 辞典より)
  • 1