// Path: src/main/java/org/echocat/gradle/plugins/golang/utils/Executor.java
// @Nonnull
// public static Executor executor(@Nonnull String executable) {
//     return executor(Paths.get(executable).toAbsolutePath());
// }
// 
// Path: src/main/java/org/echocat/gradle/plugins/golang/utils/FileUtils.java
// @Nullable
// public static Path toPath(@Nullable String plain) {
//     return plain != null ? Paths.get(plain) : null;
// }


import org.gradle.api.Project;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.io.IOException;
import java.net.URI;
import java.nio.file.Path;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.nio.file.Files.isExecutable;
import static java.util.regex.Pattern.compile;
import static org.echocat.gradle.plugins.golang.model.OperatingSystem.WINDOWS;
import static org.echocat.gradle.plugins.golang.model.OperatingSystem.currentOperatingSystem;
import static org.echocat.gradle.plugins.golang.utils.Executor.executor;
import static org.echocat.gradle.plugins.golang.utils.FileUtils.toPath;
            _goversion = "go1.8";
            _downloadUriRoot = URI.create("https://storage.googleapis.com/golang/");
        }
    }

    public Boolean getForceBuildToolchain() {
        return _forceBuildToolchain;
    }

    public void setForceBuildToolchain(Boolean forceBuildToolchain) {
        _forceBuildToolchain = forceBuildToolchain;
    }

    public String getGoversion() {
        return _goversion;
    }

    public void setGoversion(String goversion) {
        _goversion = goversion;
    }

    public Path getGoroot() {
        return _goroot;
    }

    public void setGoroot(Path goroot) {
        _goroot = goroot;
    }

    public void setGoroot(String goroot) {
// Path: src/main/java/org/echocat/gradle/plugins/golang/utils/Executor.java
// @Nonnull
// public static Executor executor(@Nonnull String executable) {
//     return executor(Paths.get(executable).toAbsolutePath());
// }
// 
// Path: src/main/java/org/echocat/gradle/plugins/golang/utils/FileUtils.java
// @Nullable
// public static Path toPath(@Nullable String plain) {
//     return plain != null ? Paths.get(plain) : null;
// }


// Path: src/main/java/org/echocat/gradle/plugins/golang/model/ToolchainSettings.java
import org.gradle.api.Project;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.io.IOException;
import java.net.URI;
import java.nio.file.Path;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.nio.file.Files.isExecutable;
import static java.util.regex.Pattern.compile;
import static org.echocat.gradle.plugins.golang.model.OperatingSystem.WINDOWS;
import static org.echocat.gradle.plugins.golang.model.OperatingSystem.currentOperatingSystem;
import static org.echocat.gradle.plugins.golang.utils.Executor.executor;
import static org.echocat.gradle.plugins.golang.utils.FileUtils.toPath;

            _goversion = "go1.8";
            _downloadUriRoot = URI.create("https://storage.googleapis.com/golang/");
        }
    }

    public Boolean getForceBuildToolchain() {
        return _forceBuildToolchain;
    }

    public void setForceBuildToolchain(Boolean forceBuildToolchain) {
        _forceBuildToolchain = forceBuildToolchain;
    }

    public String getGoversion() {
        return _goversion;
    }

    public void setGoversion(String goversion) {
        _goversion = goversion;
    }

    public Path getGoroot() {
        return _goroot;
    }

    public void setGoroot(Path goroot) {
        _goroot = goroot;
    }

    public void setGoroot(String goroot) {
        setGoroot(toPath(goroot));