@groovy.transform.CompileStatic class Downloader extends org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller
Downloads specific versions of OpenTofu
.
Currently limited to Windows (x86, x86_64), MacOS, Linux (x86, x86_64), Solaris (x86_64) and FreeBSD (x86, x86_64).
There are more binary packages are available from the OpenTofu site, but currently these are not being tested not implemented. This includes:
(Patches welcome!)
Modifiers | Name | Description |
---|---|---|
static String |
BASEURI |
|
static org.ysb33r.grolifant5.api.core.OperatingSystem |
OS |
|
static String |
TOOL_IDENTIFIER |
Fields inherited from class | Fields |
---|---|
class org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller |
IS_WINDOWS, IS_MACOSX, __$stMC |
Constructor and description |
---|
Downloader
(org.ysb33r.grolifant5.api.core.ProjectOperations projectOperations) Creates a downloader |
Type Params | Return Type | Name and description |
---|---|---|
|
Provider<File> |
getTofuExecutablePath(String version) Returns the path to the opentofu executable.
|
|
static boolean |
isDownloadSupported() Tells the system whether downloading can be supported. |
|
URI |
uriFromVersion(String ver) Provides an appropriate URI to download a specific version of OpenTofu. |
|
protected File |
verifyDistributionRoot(File distDir) Validates an opentofu download. |
Methods inherited from class | Name |
---|---|
class org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller |
org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#this$dist$set$1(java.lang.String, java.lang.Object), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#this$dist$get$1(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#access$0(org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller, org.gradle.api.file.FileCopyDetails), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#this$dist$invoke$1(java.lang.String, java.lang.Object), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setSdkManCandidateName(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getSdkManCandidateName(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#addExecPattern([Ljava.lang.String;), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setChecksum(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getDistributionRoot(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setDownloadRoot(java.lang.Object), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getDistributionFile(java.lang.String, java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getArtifactRootVerification(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setArtifactRootVerification(org.ysb33r.grolifant5.api.core.downloader.ArtifactRootVerification), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getArtifactUnpacker(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setArtifactUnpacker(org.ysb33r.grolifant5.api.core.downloader.ArtifactUnpacker), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getMetaClass(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setMetaClass(groovy.lang.MetaClass), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#equals(java.lang.Object), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#toString(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#hashCode(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getClass(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#notify(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#notifyAll(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#wait(long), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#wait(long, int), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#wait(), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#locateDistributionInCustomLocation(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#uriFromVersion(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#getProperty(java.lang.String), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#setProperty(java.lang.String, java.lang.Object), org.ysb33r.grolifant5.api.core.downloader.AbstractDistributionInstaller#invokeMethod(java.lang.String, java.lang.Object) |
Creates a downloader
version
- Version of OpenTofu
.projectOperations
- Project this is associated with. Returns the path to the opentofu
executable.
Will force a download if not already downloaded.
opentofu
or null if not a supported operating system.Tells the system whether downloading can be supported.
Provides an appropriate URI to download a specific version of OpenTofu.
ver
- Version of OpenTofu to downloadnull
otherwise.