0

*.mtl ファイルに定義されたさまざまな Acceleo テンプレートを使用して、いくつかのファイルを生成しています。

これらのファイルの一番上に、次のようなものを書く必要があります。

#-----------------------------------------------------------------------------
# Project automatically generated by XXX at (add timestamp here)
#-----------------------------------------------------------------------------

ファイルを生成するたびに、このタイムスタンプを動的に生成するにはどうすればよいですか?

ありがとう!

編集:以下で説明するようにこれを解決しました。

宣言の直後に、module宣言を追加queryします。

[module generate('platform:/resource/qt48_model/qt48_xmlschema.xsd') ]
[comment get timestamp/]
[query public getCurrentTime(c : OclAny) : String =
invoke('org.eclipse.acceleo.qt_test_api.generator.common.GenerationSupport', 'getCurrentTime()', Sequence{}) /]

次に、 というクラスを作成し、GenerationSupportというメソッドを追加しgetCurrentTime()ます。

package org.eclipse.acceleo.qt_test_api.generator.common;

import java.sql.Timestamp;

public class GenerationSupport {

public String getCurrentTime(){
    java.util.Date date = new java.util.Date();
    Timestamp ts = new Timestamp(date.getTime());
    return ts.toString();
}}
4

2 に答える 2