package org.netbeans.gradle.model; import org.netbeans.gradle.model.api.GradleInfoQuery; /** * Defines the query to be submitted for the Gradle daemon to query information * from the Gradle build. * <P> * Note that the Tooling API always requires a project to be associated with * the query. However, it is not necessarily evaluated, unless accessed directly * or indirectly. * * @param <T> the type of the object extracted from the Gradle build. Note that * this type must be serializable in order to be able to transfer the * extracted information from the Gradle daemon to the caller. * * @see ProjectInfoBuilder */ public interface GradleBuildInfoQuery<T> extends GradleInfoQuery { /** * Returns the builder which will extract the information from the Gradle * build. The builder will be serialized and be executed in the context * of the Gradle daemon evaluating the associated project. * * @return the builder which will extract the information from the project * object. This method may never return {@code null}. */ public BuildInfoBuilder<T> getInfoBuilder(); }