All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.nokee.platform.nativebase.tasks.LinkExecutable Maven / Gradle / Ivy

The newest version!
package dev.nokee.platform.nativebase.tasks;

import org.gradle.api.Task;
import org.gradle.api.file.RegularFile;
import org.gradle.api.provider.ListProperty;
import org.gradle.api.provider.Provider;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Internal;
import org.gradle.api.tasks.OutputFile;
import org.gradle.nativeplatform.toolchain.NativeToolChain;

/**
 * Links a executable binary from object files and imported libraries.
 *
 * @version 0.4
 */
public interface LinkExecutable extends Task {
	/**
	 * The tool chain used for the compilation.
	 *
	 * @return a provider of a {@link NativeToolChain} instance of the tool chain used for the compilation, never null.
	 */
	@Internal
	Provider getToolChain();

	/**
	 * Additional arguments to provide to the linker.
	 *
	 * It act as an escape hatch to the current model.
	 * Please open an issue on https://github.com/nokeedev/gradle-native with your reason for using this hatch so we can improve the model.
	 *
	 * @return a property for adding additional arguments, never null.
	 */
	@Input
	ListProperty getLinkerArgs();

	/**
	 * Returns the location of the linked binary.
	 *
	 * @return a provider of where the binary is linked.
	 */
	@OutputFile
	Provider getLinkedFile();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy