Gradle は、コンパイルプロセスの自動化と管理だけでなく、柔軟なカスタムコンパイル設定を定義できる、高度なコンパイルツールです。
GeneXus 18 以降では、Java ジェネレーターの依存関係とビルドプロセスの管理に Gradle を使用するようになりました。コンパイルメカニズム GXJMake と createwebapplication.bat は使用されなくなり、代わりに Gradle が使用されます。また、コンパイルされるすべての GeneXus オブジェクト用ファイルを格納する、コンパイルフォルダも使用されなくなりました。
Gradle の使用により、フォルダ構造レベル、使用可能なコマンドライン、ナレッジベースを生成するためのプロパティにいくつかの変更があります。
フォルダ構造に関する変更点は次のとおりです。
- *.java ソースは src\main\java フォルダに生成されます。
- JavaScript ソースはモデルの js フォルダに生成されます。
- コンパイルしたコードは build\classes\java\main フォルダに生成されます。
Gradle は、実行するタスクを指定してコマンドラインから呼び出すことができます。使用可能なタスクは次のとおりです。
buildGenexus、copyTomcat、および compileJava タスクを呼び出します。
copyRuntimeLibs および copyAdditionalFiles タスクを呼び出します。
src\main\java 内にあるすべてのソースをコンパイルし、クラスを build\classes\java\main に残します。
proc コマンドラインを実行するために、必要なすべてのパッケージをダウンロードして build\libs フォルダにコピーします。
proc コマンドラインを実行するために、必要なすべてのファイルをモデルフォルダから build\classes\java\main フォルダにコピーします。
Web アプリケーションを実行するために必要なすべてのパッケージをダウンロードし、Tomcat の Web アプリケーションの lib フォルダにコピーします。
Web アプリケーションを実行するために必要なすべてのクラスを Tomcat の Web アプリケーションの classes フォルダにコピーします。
すべての静的コンテンツを Tomcat の Web アプリケーションの static フォルダにコピーします。
jar、静的コンテンツ、クラスを除く、必要なすべてのリソースを Tomcat のWeb アプリケーションにコピーします。
Tomcat で Web アプリケーションを実行するために必要なタスクを呼び出します。
dependencies フォルダを削除します。
cleanTomcat および cleanSources タスクを呼び出し、build フォルダを削除します。
Tomcat から Web アプリケーションを削除します。
すべてのソースを src\main\java フォルダから削除します。
実行に必要なすべてのパッケージを dependencies フォルダにダウンロードします。
Gradle プロジェクトは、GeneXus がジェネレーターで配布する build.gradle ファイル内にあります。ジェネレーターが更新されると、このファイルが上書きされます。
また、Gradle はプロジェクトを実行する際に一連のプロパティを使用します。これらのプロパティは、コンパイルするたびに生成される gradle.properties ファイル内にあります。
Gradle をコマンドラインから実行するために、gradle.properties ファイルの一部のプロパティ (次の表を参照) を上書きすることがあります。これらのプロパティの値を上書きするには、プロパティの値をコマンドラインで指定する必要があります。
GENEXUS_VERSION |
使用する標準クラスのバージョンです。 |
JAVA_PACKAGE_NAME_FOLDER |
モデルのパッケージ名です。 |
TOMCAT_WEBAPP_PATH |
Tomcat のパスです。 |
TOMCAT_STATIC_PATH |
Tomcat の静的フォルダのパスです。 |
JAVA_PLATFORM |
jakartaEE または javaEE、あるいはその両方を値として指定できます。 |
SQL Server |
SQL Server データストアが存在する場合です。 |
Oracle |
Oracle データストアが存在する場合です。 |
PostgreSQL |
PostgreSQL データストアが存在する場合です。 |
MySQL |
MySQL データストアが存在する場合です。 |
DBMS_MYSQL_VERSION |
MySQL データストアのバージョンです。 |
DB2ISERIES |
iSeries データストアが存在する場合です。 |
WEBAPP_NAME |
Tomcat の Web アプリケーションの名前です。 |
LAYOUT_METADATA_FOLDER |
動的レポートがある場合、それらのテンプレートはこのフォルダに保存されます。 |
DAMENG |
Dameng データストアが存在する場合です。 |
以下の例は、コマンドラインで Gradle を呼び出しています。
GeneXus が生成した gradle.properties ファイルに既定で定義されているプロパティを使用して、Build タスクでビルドを実行できます。これを行うには、次のコマンドラインを入力します。
gradlew.bat build
これは、GeneXus で Build オプションを選択した場合に呼び出されるコマンドと同じです。
次のように、 [ GENEXUS_VERSION ] プロパティの値を入力してビルドを実行することもできます。
gradlew.bat build -PGENEXUS_VERSION="2.8-SNAPSHOT"
この機能は
GeneXus 18 以降のバージョンで使用可能です。