Package io.micronaut.gradle.docker
Class MicronautDockerfile
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
com.bmuschko.gradle.docker.tasks.image.Dockerfile
io.micronaut.gradle.docker.MicronautDockerfile
- All Implemented Interfaces:
DockerBuildOptions,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>
- Direct Known Subclasses:
CRaCFinalDockerfile
public abstract class MicronautDockerfile
extends com.bmuschko.gradle.docker.tasks.image.Dockerfile
implements DockerBuildOptions
-
Nested Class Summary
Nested classes/interfaces inherited from class com.bmuschko.gradle.docker.tasks.image.Dockerfile
com.bmuschko.gradle.docker.tasks.image.Dockerfile.AddFileInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.ArgInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.CommentInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.CopyFile, com.bmuschko.gradle.docker.tasks.image.Dockerfile.CopyFileInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.DefaultCommandInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.EntryPointInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.EnvironmentVariableInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.ExposePortInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.File, com.bmuschko.gradle.docker.tasks.image.Dockerfile.FileInstruction<T extends com.bmuschko.gradle.docker.tasks.image.Dockerfile.File>, com.bmuschko.gradle.docker.tasks.image.Dockerfile.From, com.bmuschko.gradle.docker.tasks.image.Dockerfile.FromInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.GenericInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.Healthcheck, com.bmuschko.gradle.docker.tasks.image.Dockerfile.HealthcheckInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.Instruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.LabelInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.MapInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.OnBuildInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.RunCommandInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.StringArrayInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.StringCommandInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.UserInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.VolumeInstruction, com.bmuschko.gradle.docker.tasks.image.Dockerfile.WorkDirInstructionNested classes/interfaces inherited from interface org.gradle.api.Task
org.gradle.api.Task.Namer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.gradle.api.provider.Property<DockerBuildStrategy>static final Stringstatic final Stringprotected final org.gradle.api.provider.ListProperty<Integer>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 TypeMethodDescriptionstatic voidapplyStandardTransforms(org.gradle.api.provider.Provider<Boolean> useCopyLink, org.gradle.api.model.ObjectFactory objects, com.bmuschko.gradle.docker.tasks.image.Dockerfile task) Arguments for the entrypoint.The base image to use.voidcreate()exportPorts(Integer... ports) org.gradle.api.provider.ListProperty<String>getArgs()org.gradle.api.provider.Property<String>org.gradle.api.provider.Property<DockerBuildStrategy>org.gradle.api.provider.Property<String>org.gradle.api.provider.ListProperty<Integer>abstract org.gradle.api.provider.Property<org.gradle.api.JavaVersion>abstract org.gradle.api.provider.ListProperty<Layer>The layers to copy to the image.protected abstract org.gradle.api.model.ObjectFactoryorg.gradle.api.provider.Property<String>The working directory to use in the container.abstract org.gradle.api.provider.Property<Boolean>If true, the COPY command will use --link option when copying files from the build context.voidThe Dockerfile task requires a 'from' at least, but this will be replaced in setupTaskPostEvaluate where we also incorporate commands supplied by the build.gradle file (if required)protected voidsetupInstructions(List<com.bmuschko.gradle.docker.tasks.image.Dockerfile.Instruction> additionalInstructions) static voidsetupResources(com.bmuschko.gradle.docker.tasks.image.Dockerfile task, List<Layer> layers, String workDir) voidThis is executed post project evaluationMethods inherited from class com.bmuschko.gradle.docker.tasks.image.Dockerfile
addFile, addFile, addFile, arg, arg, copyFile, copyFile, copyFile, defaultCommand, defaultCommand, entryPoint, entryPoint, environmentVariable, environmentVariable, environmentVariable, exposePort, exposePort, from, from, from, getDestDir, getDestFile, getInstructions, healthcheck, healthcheck, instruction, instruction, instructionsFromTemplate, instructionsFromTemplate, instructionsFromTemplate, label, label, onBuild, onBuild, runCommand, runCommand, user, user, volume, volume, workingDir, workingDirMethods 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 io.micronaut.gradle.docker.DockerBuildOptions
editDockerfile, getDockerfileTweaksMethods inherited from interface org.gradle.api.Task
doNotTrackState, getConvention, notCompatibleWithConfigurationCache
-
Field Details
-
DEFAULT_WORKING_DIR
- See Also:
-
DEFAULT_BASE_IMAGE
- See Also:
-
exposedPorts
-
buildStrategy
-
-
Constructor Details
-
MicronautDockerfile
public MicronautDockerfile()
-
-
Method Details
-
getJdkVersion
@Input public abstract org.gradle.api.provider.Property<org.gradle.api.JavaVersion> getJdkVersion()- Returns:
- The JDK version to use with native image. Defaults to the toolchain version, or the current Java version.
-
getLayers
The layers to copy to the image.- Returns:
- the layers
-
getUseCopyLink
If true, the COPY command will use --link option when copying files from the build context. Defaults to false.- Returns:
- The use copy link property
-
getTargetWorkingDirectory
Description copied from interface:DockerBuildOptionsThe working directory to use in the container. Defaults to /home/app- Specified by:
getTargetWorkingDirectoryin interfaceDockerBuildOptions- Returns:
- the target directory
-
getDefaultCommand
- Specified by:
getDefaultCommandin interfaceDockerBuildOptions- Returns:
- The default command to use
-
getObjects
@Inject protected abstract org.gradle.api.model.ObjectFactory getObjects() -
getTweaks
-
create
- Overrides:
createin classcom.bmuschko.gradle.docker.tasks.image.Dockerfile- Throws:
IOException
-
applyStandardTransforms
public static void applyStandardTransforms(org.gradle.api.provider.Provider<Boolean> useCopyLink, org.gradle.api.model.ObjectFactory objects, com.bmuschko.gradle.docker.tasks.image.Dockerfile task) -
setupInstructions
protected void setupInstructions(List<com.bmuschko.gradle.docker.tasks.image.Dockerfile.Instruction> additionalInstructions) -
setupDockerfileInstructions
public void setupDockerfileInstructions()The Dockerfile task requires a 'from' at least, but this will be replaced in setupTaskPostEvaluate where we also incorporate commands supplied by the build.gradle file (if required) -
setupTaskPostEvaluate
public void setupTaskPostEvaluate()This is executed post project evaluation -
getBuildStrategy
- Returns:
- The build strategy.
-
getArgs
- Specified by:
getArgsin interfaceDockerBuildOptions- Returns:
- The arguments to use
-
getBaseImage
- Specified by:
getBaseImagein interfaceDockerBuildOptions- Returns:
- The base image to use
-
getExposedPorts
- Specified by:
getExposedPortsin interfaceDockerBuildOptions- Returns:
- The exposed ports
-
args
Description copied from interface:DockerBuildOptionsArguments for the entrypoint.- Specified by:
argsin interfaceDockerBuildOptions- Parameters:
args- The arguments- Returns:
- This
-
baseImage
Description copied from interface:DockerBuildOptionsThe base image to use.- Specified by:
baseImagein interfaceDockerBuildOptions- Parameters:
imageName- The base image name- Returns:
- This
-
exportPorts
- Specified by:
exportPortsin interfaceDockerBuildOptions- Parameters:
ports- The ports to expose- Returns:
- The ports
-
setupResources
-