2

多くのプロジェクトが構成ファイルを使用しており、この構成ファイルの読み取り方法、それらを外部化する方法に関する多くの投稿を見つけましたが、サンプル構成ファイルを生成する方法については何も見つかりませんでした。

たとえば、すべての種類の構成プロパティを含む company.config ファイルがある場合、プロジェクトをビルドするたびに、ソース コードから company.sample.config ファイルが自動的に生成されるようにますこのサンプル ファイルには、プロジェクトで使用されるすべての構成プロパティと、既定値およびコメントが含まれている必要があります。

私は Java と Gradle を使用しているので、Gradle プラグインについて考えていました。

このようなものはありますか?他の人はこの問題をどのように解決していますか?


後で編集:いくつかの例:


public class CompanyConfig {
private static final String PROPERTY1_DEFAULT = "Company.property1_default";
private static final String PROPERTY2_DEFAULT = "Company.property2_default";

/**
 * description 1
 */
private static final String PROPERTY1 = "Company.property1";
/**
 * description 2
 */
private static final String PROPERTY2 = "Company.property2";

private Config config;

public CompanyConfig(Config config) {
    this.config = config;
}

public String getProperty1() {
    return config.getProperty(PROPERTY1, PROPERTY1_DEFAULT);
}

public String getProperty2() {
    return config.getProperty(PROPERTY2, PROPERTY2_DEFAULT);
}
}

上記のコードに基づくと、sample.conf ファイルは次のようになります。

**description 1
*Company.property1=Company.property1_default

**description 2
*Company.property2=Company.property2_default

このようにして、プロジェクトを構成したい人に sample.conf ファイルを渡すことができます。この人は私のプロジェクトの構成プロパティについて何も知らないので、プロパティのリストと各プロパティのデフォルト値が必要です。また、新しいプロパティが導入され、他の一部が削除されるため、ビルドごとにサンプル ファイルを生成する必要があります。

これが私がここで求めていることを明確にすることを願っています。

4

2 に答える 2

1

Ant ビルド スクリプトを利用できます。以下のコードを参考にしてください。

<project>
<target name="default">



<propertyfile file="company.sample.config" comment="sample properties here.">

<entry key="program.AUTHOR" default="RAIS" />
<entry key="program.COMPANY" default="IGT" />
<entry key="program.COPYRIGHT" default="now" type="date" pattern="yyyy" />
<entry key="program.DESCRIPTION" default="" />
<entry key="program.VERSION" default="1.0.0" />
<entry key="program.BUILDNUM" value="1" />
<entry key="program.BUILDDATE" type="date" value="now" pattern="yyyyMMDDHHmmss" />
</propertyfile>

</target>
</project>
于 2013-02-06T09:36:11.060 に答える
0

これを行うプラグインは知りませんが、まともな構成システムがあれば、難しくはないはずです。たとえば、JSON に基づく構成システムを使用します。構成ファイルは、構成オブジェクトに直接マップされる単純な JSON ドキュメントです。デフォルト値でサンプル構成を生成するには、基本オブジェクトをインスタンス化し、JSON にそれを書き出すように要求します。これは 5 行のプログラムであり、ビルド スクリプトに簡単に追加できます。

于 2013-02-06T09:44:39.573 に答える