2

Mavenを使用してバンドルのファイルにを取得しMercurial changeSetchangeSetDate設定しようとしています。MANIFEST.MFOSGi

私は私のに追加しbuldnumber-maven-pluginましたpom.xml

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>hgchangeset</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <doCheck>false</doCheck>
        <doUpdate>true</doUpdate>
    </configuration>
</plugin>

そして私のバンドルプラグインは次のようになります:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>2.3.7</version>
    <extensions>true</extensions>
    <configuration>
        <archive>
            <manifestEntries>
                <Build-Change-Set>${changeSet}</Build-Change-Set>
                <Build-Change-Set-Date>${changeSetDate}</Build-Change-Set-Date>
                <Build-Location>${basedir}</Build-Location>
                <Build-Machine>${env.COMPUTERNAME}</Build-Machine>
                <Build-Date>${maven.build.timestamp}</Build-Date>
            </manifestEntries>
        </archive>
        <instructions>
            <!-- All imports, exports, etc... -->
        </instructions>
    </configuration>
</plugin>

install目標を実行すると、次のMaven出力が表示されます。

[INFO] --- buildnumber-maven-plugin:1.0:hgchangeset (default) @ esb-security ---
[INFO] Setting Mercurial Changeset: 6524595b0389+
[INFO] Setting Mercurial Changeset Date: 2012-09-05 11:38 +0100

しかし、私の中で私MANIFEST.MFは得る:

Build-Change-Set: ${changeSet}
Build-Change-Set-Date: ${changeSetDate}

チェンジセットとチェンジセットデータの値は含まれていません。多分誰かがどこに問題があるのか​​知っていますか?

4

2 に答える 2

0

maven-bundle-plugin が ${changeSet} などの式変数を明示的にサポートしない限り、このプラグインの実行前に Maven によって解決されません。そのため、process-resources フェーズの前にバインドされたマニフェスト タスクを個別に実行し、Maven のリソース フィルタリング サポートを使用して、生成されたマニフェストを後処理し、maven-bundle-plugin によって設定された変数を置き換える必要がある場合があります。

于 2012-10-09T19:04:14.510 に答える