私は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です。
これを克服する方法はありますか?