Class VenvTask
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
io.github.howtis.pythonembed.gradle.VenvTask
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.TaskInternal,org.gradle.api.Named,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.util.Configurable<org.gradle.api.Task>
public abstract class VenvTask
extends org.gradle.api.DefaultTask
Gradle task that creates a Python environment and installs packages into it.
If system Python is available, creates a standard venv. If not, downloads a portable CPython from python-build-standalone and installs packages directly into it, eliminating the system Python installation requirement.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Task
org.gradle.api.Task.Namer -
Field Summary
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabstract org.gradle.api.provider.ListProperty<String>List of pip packages to install.abstract org.gradle.api.provider.ListProperty<String>Optional extra pip install arguments (e.g., --extra-index-url, -f).abstract org.gradle.api.provider.Property<String>Optional pip index URL (e.g., PyTorch CUDA index).abstract org.gradle.api.provider.Property<String>Optional path to pyproject.toml (relative to project root).abstract org.gradle.api.provider.Property<String>Python version to use for auto-download (default: "3.12").abstract org.gradle.api.provider.Property<String>Optional path to requirements.txt (relative to project root).abstract org.gradle.api.provider.Property<String>Target OS for cross-compilation: "windows", "linux", "macos" (null = auto-detect).abstract org.gradle.api.file.DirectoryPropertyPath to the output directory that will be packaged as a resource.Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesServiceMethods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjectsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.Task
doNotTrackState, getConvention, notCompatibleWithConfigurationCache
-
Constructor Details
-
VenvTask
public VenvTask()
-
-
Method Details
-
getVenvDir
@OutputDirectory public abstract org.gradle.api.file.DirectoryProperty getVenvDir()Path to the output directory that will be packaged as a resource. -
getPackages
List of pip packages to install. -
getRequirementsFile
Optional path to requirements.txt (relative to project root). -
getPyprojectTomlFile
Optional path to pyproject.toml (relative to project root). -
getPythonVersion
Python version to use for auto-download (default: "3.12"). -
getPipIndexUrl
Optional pip index URL (e.g., PyTorch CUDA index). -
getPipExtraArgs
Optional extra pip install arguments (e.g., --extra-index-url, -f). -
getTargetOs
Target OS for cross-compilation: "windows", "linux", "macos" (null = auto-detect). -
createVenv
public void createVenv()
-