私はgradleツールを使用してprojectConnection
おり、Javaからgradleに接続できます。そして、を使用するModelBuilder
ことで、Java クラスでもプロジェクト オブジェクトを取得できます。
ModelBuilder gradleBuilder = connection.model(GradleProject.class);
ただし、このproject
オブジェクトはタスクのみにアクセスできます。(すなわち)project.getTasks()
利用可能です。しかし、そうではありませんproject.getExtensions()
。これらの拡張機能にアクセスするには?? Java からgradle にアクセスする他の方法はありExtensions
ますか?
応答後に編集します。
gradle タスクを実行すると、指定されたファイルのクロージャーが読み取られ、静的 Java クラス ( deployGradleReaderExtension.java
) で読み取られた値が更新されます。今、拡張機能から値を読み取ろうとしています
deployGradleReaderExtension ext = (deployGradleReaderExtension) buildResult.getGradle().getRootProject().getExtensions().getByName("serviceConf");
今、キャスト例外が発生しています。gradle と Java は diff を使用しているためClassLoaders
です。
これを克服する方法はありますか?