2009-03-31 4 views
3

私はSVNリポジトリにJavaのプロジェクトを持っていて、.javaファイルがたくさんあります。これらのファイルのそれぞれは、ファイルの最上部にライセンス契約の花箱を持っています(ソースをライセンスし、製品)。SVNを使用してソースファイルにテンプレートテキストを含めるとよいでしょうか?

すべてのソースファイルを手動で更新する必要はなく、1か所でライセンステキストを変更/維持できる優れた方法はありますか?

SVNにはこのような機能はありませんが、他のアプローチが最も適しているようです。

編集:ソリューションは、ビルド時の解決策ではなく、SVNキーワード(Id、Authorなど)のように動作するのが理想的です。顧客はSVNリポジトリにもアクセスできるので、ライセンステキストがSVNバージョンのファイルに存在していれば理想的です。私はSVNがトリガをコミットしていることを知っています - それを実装する簡単な方法は何ですか?

編集2:SVNフックを見ると、私のやりたいように見えません。私は、テキストが変更されたときに実行できるプロセスを構築していると思います。あまり頻繁に変更されないためです。

+0

お客様は、ソースに即座にアクセスする必要がありますか、またはコミットと可用性の間の時間などのわずかな遅延は許容されますか? –

+0

それはおそらく受け入れられるでしょう - svnリポジトリをミラー化して変更を適用する(Antや何かを使って)ジョブを提案するでしょうか? –

答えて

3

ライセンスのテキストを含む必要があるソースファイルを変更して、代わりにトークンを格納し、ライセンステキストをSubversionに保存されている1つのファイルに移動します。最後に、ビルドプロセスの一環として、トークンのライセンステキストを代用するステップを追加します。私の仕事では、sedとmakeの組み合わせでこれらの行に沿って何かをします。ソースを顧客に配布する前に、この1つのステップを実行することができます。

1

ANTは簡単に置換を行うことができます。 <copy>ターゲットを調べます。

関連する問題