2009-06-07 6 views
9

開発時に、user.agentプロパティを単一の値に設定してコンパイル時間を短縮しました。リリース時には、すべてのユーザーエージェント用にWARファイルが作成されています。リリース時にGWTのuser.agentを変更する

私は残念ながらどちらか、プロパティを切り替えるために忘れておくように見える:

コンパイルを待って開発時間を無駄に
  • 、または
  • 不完全ブラウザのサポート(まだありがたい、展開されていない)とのWARファイルを準備します。

これは、maven-release-pluginを使用して自動化したいと考えています。

+0

あなたのウェブサイトは一般にアクセス可能ですか?どこ? –

+0

私はAntのためにそれを見たいと思います。 – Glenn

+0

@Don Branson:いいえ、このサイトは公開されていません。 –

答えて

7

2つの異なる.gwt.xmlファイル(開発用と運用用)が必要です。

Developer Guide/Organizing projectsの「モジュール名の変更」セクションには良い例があります。

開発に使用されたgwt.xmlファイルは、プロダクションで使用されたgwt.xmlファイルを継承し、user.agentプロパティも設定します。例:

開発を行うときは、開発用のgwt.xmlファイルを使用します。本番用のビルドを行うときに使用します。プロダクションgwt.xmlファイルを使用します。


これをMavenで実現する最も簡単な方法は、プロファイルを使用して開発モジュールをアクティブにすることです。私はこれについて詳細に書いたMaven Recipe : GWT development profile

+0

答えをありがとう。私は(GWT 1.5を使用して)それを試して、コンパイルが期待どおりに動作します。唯一の障害は、Application.htmlがApplicationFirefox.nocache.jsの代わりにApplication.nocache.jsを参照していることです。リファレンス:http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=FAQ_CompileOnePermutation –

+0

gwt.xmlはfirefoxのビルドは で始まりますか? – Chi

+0

あなたは正しいです、これは 'rename-to'が見つかりませんでした。私も同様に使用した設定で答えを更新します。 –

2

user.agentをpom.xmlのさまざまなプロファイルから設定するMavenFilteredUserAgentモジュールを作成します。

MavenFilteredUserAgent.gwt.xml

... 
<set-property name="user.agent" value="${gwt.compile.user.agent}" /> 
... 

のpom.xml

... 
<properties> 
    <!-- By default we still want all five rendering engines when none of the following profiles is explicitly specified --> 
    <gwt.compile.user.agent>ie6,ie8,gecko,gecko1_8,safari,opera</gwt.compile.user.agent> 
</properties> 
<profiles> 
    <profile> 
    <id>gwt-firefox</id> 
    <properties> 
     <gwt.compile.user.agent>gecko1_8</gwt.compile.user.agent> 
    </properties> 
    </profile> 
</profiles> 
<!-- Add additional profiles for the browsers you want to singly support --> 
.... 
<build> 
    <resources> 
    <resource> 
     <!-- Put the filtered source files into a directory that later gets added to the build path --> 
     <directory>src/main/java-filtered</directory> 
     <filtering>true</filtering> 
     <targetPath>${project.build.directory}/filtered-sources/java</targetPath> 
    </resource> 
    <resource> 
     <directory>${project.basedir}/src/main/resources</directory> 
    </resource> 
    </resources> 
    <plugins> 
    ... 
    <plugin> 
    <!-- Add the filtered sources directory to the build path--> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.5</version> 
    <executions> 
     <execution> 
     <id>add-source</id> 
     <phase>generate-sources</phase> 
     <goals> 
      <goal>add-source</goal> 
     </goals> 
     <configuration> 
      <sources> 
      <source>${project.build.directory}/filtered-sources/java</source> 
      </sources> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
    ... 
</plugins> 
... 

あなたのすべてのモジュールがMavenFilteredUserAgentモジュールを継承してもらいます。

次に、Firefoxのようにビルドすることができます。

mvn install -Pgwt-firefox

http://9mmedia.com/blog/?p=854詳細を持っています。

+1

[GWT 2.1.1](http://groups.google.com/group/google-web-toolkit/browse_thread/thread/6f2418947d7b7908989)では、デフォルトのリストからgeckoを削除します。これは、基本的に[UserAgent module](http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user)と同じリストにする必要があります。 /UserAgent.gwt.xml) – Gabriel

+1

私はいつも取得:[情報] [エラー]プロパティ値 '$ {gwt.compile.user.agent}'が無効です [情報] [エラー] XMLの解析中にエラー – Alex

関連する問題