GradleでWARをマージする方法

またまたGradle小ネタです。WARファイルをビルドする時に、別のWARファイルをマージしたいときがあります。 Mavenならmaven-war-pluginのオーバーレイを使えばできるのだが、Gradleならどうするか?残念ながら、現状のGradle(1.0-milestone-9)のWAR Pluginで…

Gradleのタスクの実行制御についてメモ

またまたGradleネタです。Gradleであるタスクを実行する場合のみに、依存関係にあるタスクの前に処理を割り込ませたい、というのをどう定義するか?というのでちょっと悩んでいたのでメモ。 Antなら、callタスクを使って別のタスクを呼び出すことができるの…

Gradleで複数JARをMavenリポジトリにアップロードする方法

Gradle小ネタです。オープンソースではなく社内の開発だと、独自ライブラリや商用のライブラリをプライベートなMavenリポジトリにアップロードしたくなります。AntやMavenでももちろんできるんだけど、大量にあるときはGradleが楽チンかも?あるディレクトリ…

JARファイルから特定のクラスを除外するAntカスタムタグ

Ant

あるプロジェクトで、ビルド時にとあるOSSのJARファイルからクラスを除外するということをやっていたが*1、余りにも面倒なやり方で行っていたのでさくっとAntのカスタムタグを作成して自動化してみた。 これまでのやり方 build.propertiesに除外するクラスパ…

Vagrant & VeeWee を再設定してCentOS 6.2のBoxを作成してみた

以前Mac(Lion)に試しに入れたVagrantでセットアップしたVirtualBoxのイメージが/private/var/root/VirtualBox VMs以下に作られてしまうのが嫌だったので、Vagrantを入れ直した。ついでにVeeWeeも入れ直して、最新のCentOS 6.2のVagrant Boxを作ってみる。Rub…

ApacheDSを使ってLDAPアクセスをユニットテストする(カスタムスキーマ編)

前回の記事の続きです。LDAPでカスタムスキーマを使っている場合に、ApacheDSでユニットテストができるかどうか調べてみた。 参考 https://cwiki.apache.org/DIRxSRVx11/31-add-your-first-elements-to-the-schema.html:title= 正に知りたい内容がそのまま書…

ApacheDSを使ってLDAPアクセスをユニットテストする

今見ているコードがLDAPアクセスコードがあちこちに混ざっており、ユニットテストが非常にやりづらい。仕方ないのでJMockitを使って無理矢理ユニットテストを書いていたけど、書くのが結構大変なのとLDAPアクセス処理に変更が入った途端にテストコードが動か…

Tracのカスタムフィールドで複数選択可能にする

久々にTracネタです。 Tracのカスタムフィールドでは、複数選択可能なmultiselectは定義できません。そこで、syoさん作成のMultiSelectListPluginを使わせてもらっていましたが、入力項目が増えると入力しづらくなってきました。 特に、サイズが固定されてい…

EGitでマージしてみる

Git

前回はGitのmergetoolコマンドでp4mergeを使うように設定し、マージ作業を行う方法を簡単にですが紹介しました。今回はコマンドラインのGitではなく、EGitを使ってやってみます。 EGitとは? Java Developerならご存知の、IDEであるEclipseでGitを使うための…

hatenablog 開設

開設しました。

Gitのマージツールにp4mergeを使ってみた

Git

Gitの本格導入の前に、マージのコンフリクト解決に使用するマージツールについて調べてみたのでメモ。コンフリクトした際に、テキストエディタで直接修正するのは非常に面倒。そこでmergetoolを使うとマージ作業をかなり楽にできます。 ただしデフォルトのme…

TracでGitリポジトリの作成をできるようにしてみた

ちょっとしたことなんだけど、RedmineにできてTracにできないことの一つ。 GitPluginを使うとリポジトリにGitを設定できるようになりますが、既に存在するリポジトリのパスを設定する必要があります。 わざわざSSHででログインし「git init」するのは面倒な…

TracBacklogPluginを試してみた

久々にTracネタです。 RedmineのBacklogsが中々評判が良いようですが、TracにもTracBacklogPluginという似たような名前のプラグインがあります。RedmineのBacklogsプラグインみたいに高機能ではないですが、チケットをスプリントにドラッグ&ドロップで振り分…

Service Builderについて調べたのでメモ

Liferayってなんでこんなに日本語の情報が少ないの!? LiferayのService Builderについてちょっと調べたのでメモっておきます。 参考サイト(全部英語です) http://www.liferay.com/ja/community/wiki/-/wiki/Main/Service+Builder http://www.emforge.net/web…

MySQLのクラッシュバグにご用心

ちょっと間があいてしまいましたが、今回はMySQLのお話です。 現象 2カ月ほど調子よく動いていたMySQLがある日突然ダウンしてしまいました。 MySQLのエラーログを見ると、下記のアサーションエラーが記録されており、どうやらMySQLがクラッシュしてしまった…

HashMapでOutOfMemoryErrorが発生するケース

HashMapの同期化をしていないと無限ループになるという話はこことかここで説明されているのでかなり有名かと思います。今回不運にも遭遇したのは、同期化をしていなくてOutOfMemoryError(以下、OOM)が起きてしまうというケース。かなり特殊かもしれないです…

LiferayのHA構成についてメモ

しばらく書き溜めていた、ここ最近のプロジェクトでハマったことをメモしていこうと思います。まずはLiferayのHA構成についてから。 LiferayのHA構成はどうやるの? Liferayをアクティブ-アクティブのHA構成にする場合、いくつか方法があります。Liferay本系…

RevisionGraphPluginに機能追加

Gitのコミットログをグラフィカルに表示するTracプラグイン、RevisionGraphPluginにちょっと機能を追加。 これまたTrac-0.13に追加されている機能ですが、Change Logのページでブランチ名、タグ名を表示可能にしました。例えば↓の画像のように出ます。なお、…

追記

GitPlugin依存になっている箇所がありましたので修正してv0.2をpushしておきました。 Shibuya.tracのページも更新しておきました。

Trac0.12でGitのコミットログを可視化してみた

ふとまだ開発中のTrac-0.13のリリースノートを見ていたら、「Added a visualization of the revision graph in the revision log.」なんてものを発見。 対応するチケットはこちら。どうやら、GitなどのDVCSに限った機能のようですが、チケットに添付されてい…

Shibuya.trac勉強会第11回でReportInclude、WorkTimeプラグインについて話しました

4/13にShibuya.trac勉強会第11回でReportInclude、WorkTimeプラグインについて発表させていただきました。ReportInclude、WortTimeは1年半前くらいに作った物なんですが、@LightningXさんに今回企画していただいてプラグインの活用事例とともに紹介させてい…

Tracのマイルストーンを階層化する

久々にTracネタです。ちょいと前の日記ですが、id:BasicさんのTracのマイルストーンを階層化したいという話は、以前関わっていたプロジェクトでも同様にやりたいと意見が出ていました。その時は、Trac Hacksを眺めてそれっぽいことができそうなExtendedVersi…

vim環境をgit/githubで管理する

新年になって心機一転、Macの環境を見直ししたのでメモっておきます。今回の見直しポイントは以下です。 vimのpluginをpathogenで管理する gitで設定をバージョン管理できるようにする githubで設定を共有できるようにする 参考にさせて頂いたサイトは下記で…

AlfrescoをGoogleライクな検索に改良してみる

Alfrescoのキーワード検索は一見Googleライクなんだけど、微妙に違うところがあって思うように検索結果を絞り込めないという話が出てきました。Alfrescoのソースと睨めっこしていると改良できそうだったのでやってみました。 スペース区切りがOR検索になって…

Alfresco Share JAR ModulesによるDashletの作成方法

前回のエントリでは、Alfresco Share JAR Modulesで作成されたSite Tags Dashletを紹介しました。今回はこのDashletの作成方法について書いていきます。 前提 Maven2 or 3がインストールされていること Alfresco Share JAR Modulesを作成するための、Maven用…

Alfresco Shareでタグクラウドを実現する

前回のエントリでAlfrescoのカスタマイズ方法の一つとして、「Alfresco Share JAR Modules」があると書きました。「Alfresco Share JAR Modules」はShareのDashletやPageの拡張しかできませんが、JARを配置するだけという非常にお手軽な導入方法となっていま…

Alfrescoのカスタマイズ方法について覚え書き

AlfrescoのWikiやForumをうろうろして徐々にカスタマイズについて分かってきたので、備忘録として書いていこうと思います。カスタマイズ方法は大きく2つの方法に分かれます。 設定のみ 設定だけでもある程度はカスタマイズが可能です。 代表的なものは、コン…

最近Alfrescoを触っています

最近、オープンソースのECM製品であるAlfrescoを触っています。(ECMはコンテンツ管理システムのことです。詳しくは下記ページなどを参照) ECMとは「Enterprise Content Management(企業向けコンテンツ管理システム)」の略で、そのまま解釈すれば「企業内の…

GitHubにプロキシ経由でpushする(Windows環境)

Git

簡単そうで意外と簡単にできない。ググると色んな方法があるようで、それが混乱の元となっているように感じます。さらに、LinuxとWindowsという環境の違いもあるし。GitHub自体はHTTPSに対応しているようなんですが、どうもうちの環境だとNGみたいです。なの…

GradleでSVNチェックアウトするだけのサンプル(完全版)

前回のエントリでkimukou_26さんから動くソースが見たいとコメント頂いたので書いてみました。前回のコード例だと、「XmlParser().parseText('svnlist.log')」で落ちますね...orz ここはファイル名を渡しているので、「XmlParser().parse('svnlist.log')」が…