From e30440e2af7011e02c1256f077523dfbd8dbd889 Mon Sep 17 00:00:00 2001 From: Gold856 <117957790+Gold856@users.noreply.github.com> Date: Fri, 19 Jul 2024 00:05:18 -0400 Subject: [PATCH] .gitattributes: Mark more files as text with LF line endings (#6853) --- .gitattributes | 18 ++ .../main/groovy/DisableBuildingGTest.groovy | 140 ++++++++-------- .../src/main/groovy/WPIJREArtifact.groovy | 154 +++++++++--------- 3 files changed, 165 insertions(+), 147 deletions(-) diff --git a/.gitattributes b/.gitattributes index e869fc8fa7..08bbbda605 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,12 +1,30 @@ +*.adoc text eol=lf +*.c text eol=lf +*.cmake text eol=lf +*.clang-format text eol=lf +*.clang-tidy text eol=lf *.cpp text eol=lf *.gradle text eol=lf +*.groovy text eol=lf *.h text eol=lf +*.hpp text eol=lf +*.in text eol=lf *.inc text eol=lf *.java text eol=lf *.jinja text eol=lf *.json text eol=lf +*.m text eol=lf *.md text eol=lf +*.mm text eol=lf +*.patch text eol=lf +*.plist text eol=lf +*.proto text eol=lf +*.py text eol=lf +*.styleguide text eol=lf +*.txt text eol=lf *.xml text eol=lf +*.yaml text eol=lf +*.yml text eol=lf # Generated files */src/generated/** linguist-generated diff --git a/buildSrc/src/main/groovy/DisableBuildingGTest.groovy b/buildSrc/src/main/groovy/DisableBuildingGTest.groovy index bdf46f7e8e..4c7db5d199 100644 --- a/buildSrc/src/main/groovy/DisableBuildingGTest.groovy +++ b/buildSrc/src/main/groovy/DisableBuildingGTest.groovy @@ -1,70 +1,70 @@ - -import org.gradle.api.GradleException; -import org.gradle.api.Plugin; -import org.gradle.api.Project; -import org.gradle.api.Task; -import org.gradle.api.file.FileTree; -import org.gradle.api.tasks.compile.JavaCompile; -import org.gradle.language.base.internal.ProjectLayout; -import org.gradle.language.base.plugins.ComponentModelBasePlugin; -import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask; -import org.gradle.model.ModelMap; -import edu.wpi.first.toolchain.ToolchainExtension -import org.gradle.model.Mutate; -import org.gradle.api.plugins.ExtensionContainer; -import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec; -import org.gradle.model.RuleSource; -import org.gradle.model.Validate; -import org.gradle.nativeplatform.NativeExecutableBinarySpec -import org.gradle.nativeplatform.NativeBinarySpec; -import org.gradle.nativeplatform.NativeComponentSpec; -import org.gradle.nativeplatform.NativeLibrarySpec; -import org.gradle.nativeplatform.SharedLibraryBinarySpec; -import org.gradle.nativeplatform.StaticLibraryBinarySpec; -import org.gradle.nativeplatform.platform.internal.NativePlatformInternal; -import org.gradle.nativeplatform.toolchain.NativeToolChain; -import org.gradle.nativeplatform.toolchain.NativeToolChainRegistry; -import org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider; -import org.gradle.nativeplatform.toolchain.internal.ToolType; -import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain; -import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain; -import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry; -import org.gradle.platform.base.BinarySpec; -import org.gradle.platform.base.ComponentSpec; -import org.gradle.platform.base.ComponentSpecContainer; -import org.gradle.platform.base.BinaryContainer; -import org.gradle.platform.base.ComponentType; -import org.gradle.platform.base.TypeBuilder; -import org.gradle.nativeplatform.tasks.ObjectFilesToBinary; -import groovy.transform.CompileStatic; -import groovy.transform.CompileDynamic -import org.gradle.nativeplatform.BuildTypeContainer - -@CompileStatic -class DisableBuildingGTest implements Plugin { - @CompileStatic - public void apply(Project project) { - - } - - @CompileStatic - static class Rules extends RuleSource { - @CompileDynamic - private static void setBuildableFalseDynamically(NativeBinarySpec binary) { - binary.buildable = false - } - - @Validate - @CompileStatic - // TODO: Move this to tc plugin - void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) { - final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class); - - for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) { - if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) { - setBuildableFalseDynamically(binary) - } - } - } - } -} + +import org.gradle.api.GradleException; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.Task; +import org.gradle.api.file.FileTree; +import org.gradle.api.tasks.compile.JavaCompile; +import org.gradle.language.base.internal.ProjectLayout; +import org.gradle.language.base.plugins.ComponentModelBasePlugin; +import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask; +import org.gradle.model.ModelMap; +import edu.wpi.first.toolchain.ToolchainExtension +import org.gradle.model.Mutate; +import org.gradle.api.plugins.ExtensionContainer; +import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec; +import org.gradle.model.RuleSource; +import org.gradle.model.Validate; +import org.gradle.nativeplatform.NativeExecutableBinarySpec +import org.gradle.nativeplatform.NativeBinarySpec; +import org.gradle.nativeplatform.NativeComponentSpec; +import org.gradle.nativeplatform.NativeLibrarySpec; +import org.gradle.nativeplatform.SharedLibraryBinarySpec; +import org.gradle.nativeplatform.StaticLibraryBinarySpec; +import org.gradle.nativeplatform.platform.internal.NativePlatformInternal; +import org.gradle.nativeplatform.toolchain.NativeToolChain; +import org.gradle.nativeplatform.toolchain.NativeToolChainRegistry; +import org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider; +import org.gradle.nativeplatform.toolchain.internal.ToolType; +import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain; +import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain; +import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry; +import org.gradle.platform.base.BinarySpec; +import org.gradle.platform.base.ComponentSpec; +import org.gradle.platform.base.ComponentSpecContainer; +import org.gradle.platform.base.BinaryContainer; +import org.gradle.platform.base.ComponentType; +import org.gradle.platform.base.TypeBuilder; +import org.gradle.nativeplatform.tasks.ObjectFilesToBinary; +import groovy.transform.CompileStatic; +import groovy.transform.CompileDynamic +import org.gradle.nativeplatform.BuildTypeContainer + +@CompileStatic +class DisableBuildingGTest implements Plugin { + @CompileStatic + public void apply(Project project) { + + } + + @CompileStatic + static class Rules extends RuleSource { + @CompileDynamic + private static void setBuildableFalseDynamically(NativeBinarySpec binary) { + binary.buildable = false + } + + @Validate + @CompileStatic + // TODO: Move this to tc plugin + void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) { + final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class); + + for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) { + if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) { + setBuildableFalseDynamically(binary) + } + } + } + } +} diff --git a/buildSrc/src/main/groovy/WPIJREArtifact.groovy b/buildSrc/src/main/groovy/WPIJREArtifact.groovy index eda268b70b..ad929daa64 100644 --- a/buildSrc/src/main/groovy/WPIJREArtifact.groovy +++ b/buildSrc/src/main/groovy/WPIJREArtifact.groovy @@ -1,77 +1,77 @@ -import groovy.transform.CompileStatic; -import javax.inject.Inject; - -import org.gradle.api.Project; - -import edu.wpi.first.deployutils.deploy.CommandDeployResult; -import edu.wpi.first.deployutils.deploy.artifact.MavenArtifact; -import edu.wpi.first.deployutils.deploy.context.DeployContext; -import edu.wpi.first.deployutils.deploy.target.RemoteTarget; -import edu.wpi.first.deployutils.PredicateWrapper; -import edu.wpi.first.deployutils.ActionWrapper; - -@CompileStatic -public class WPIJREArtifact extends MavenArtifact { - private final String configName; - - public String getConfigName() { - return configName; - } - - public boolean isCheckJreVersion() { - return checkJreVersion; - } - - public void setCheckJreVersion(boolean checkJreVersion) { - this.checkJreVersion = checkJreVersion; - } - - private boolean checkJreVersion = true; - - private final String artifactLocation = "edu.wpi.first.jdk:roborio-2024:17.0.9u7-1" - - @Inject - public WPIJREArtifact(String name, RemoteTarget target) { - super(name, target); - String configName = name + "frcjre"; - this.configName = configName; - Project project = target.getProject(); - getConfiguration().set(project.getConfigurations().create(configName)); - getDependency().set(project.getDependencies().add(configName, artifactLocation)); - - setOnlyIf(new PredicateWrapper({ DeployContext ctx -> - return jreMissing(ctx) || jreOutOfDate(ctx) || project.hasProperty("force-redeploy-jre"); - })); - - getDirectory().set("/tmp"); - getFilename().set("frcjre.ipk"); - - getPostdeploy().add(new ActionWrapper({ DeployContext ctx -> - ctx.getLogger().log("Installing JRE..."); - ctx.execute("opkg remove frc*-openjdk*; opkg install /tmp/frcjre.ipk; rm /tmp/frcjre.ipk"); - ctx.getLogger().log("JRE Deployed!"); - })); - } - - private boolean jreMissing(DeployContext ctx) { - return ctx.execute("if [[ -f \"/usr/local/frc/JRE/bin/java\" ]]; then echo OK; else echo MISSING; fi").getResult().contains("MISSING"); - } - - private boolean jreOutOfDate(DeployContext ctx) { - if (!checkJreVersion) { - return false; - } - String version = getDependency().get().getVersion(); - CommandDeployResult cmdResult = ctx.execute("opkg list-installed | grep openjdk"); - if (cmdResult.getExitCode() != 0) { - ctx.getLogger().log("JRE not found"); - return false; - } - String result = cmdResult.getResult().trim(); - ctx.getLogger().log("Searching for JRE " + version); - ctx.getLogger().log("Found JRE " + result); - boolean matches = result.contains(version); - ctx.getLogger().log(matches ? "JRE Is Correct Version" : "JRE is mismatched. Reinstalling"); - return !matches; - } -} +import groovy.transform.CompileStatic; +import javax.inject.Inject; + +import org.gradle.api.Project; + +import edu.wpi.first.deployutils.deploy.CommandDeployResult; +import edu.wpi.first.deployutils.deploy.artifact.MavenArtifact; +import edu.wpi.first.deployutils.deploy.context.DeployContext; +import edu.wpi.first.deployutils.deploy.target.RemoteTarget; +import edu.wpi.first.deployutils.PredicateWrapper; +import edu.wpi.first.deployutils.ActionWrapper; + +@CompileStatic +public class WPIJREArtifact extends MavenArtifact { + private final String configName; + + public String getConfigName() { + return configName; + } + + public boolean isCheckJreVersion() { + return checkJreVersion; + } + + public void setCheckJreVersion(boolean checkJreVersion) { + this.checkJreVersion = checkJreVersion; + } + + private boolean checkJreVersion = true; + + private final String artifactLocation = "edu.wpi.first.jdk:roborio-2024:17.0.9u7-1" + + @Inject + public WPIJREArtifact(String name, RemoteTarget target) { + super(name, target); + String configName = name + "frcjre"; + this.configName = configName; + Project project = target.getProject(); + getConfiguration().set(project.getConfigurations().create(configName)); + getDependency().set(project.getDependencies().add(configName, artifactLocation)); + + setOnlyIf(new PredicateWrapper({ DeployContext ctx -> + return jreMissing(ctx) || jreOutOfDate(ctx) || project.hasProperty("force-redeploy-jre"); + })); + + getDirectory().set("/tmp"); + getFilename().set("frcjre.ipk"); + + getPostdeploy().add(new ActionWrapper({ DeployContext ctx -> + ctx.getLogger().log("Installing JRE..."); + ctx.execute("opkg remove frc*-openjdk*; opkg install /tmp/frcjre.ipk; rm /tmp/frcjre.ipk"); + ctx.getLogger().log("JRE Deployed!"); + })); + } + + private boolean jreMissing(DeployContext ctx) { + return ctx.execute("if [[ -f \"/usr/local/frc/JRE/bin/java\" ]]; then echo OK; else echo MISSING; fi").getResult().contains("MISSING"); + } + + private boolean jreOutOfDate(DeployContext ctx) { + if (!checkJreVersion) { + return false; + } + String version = getDependency().get().getVersion(); + CommandDeployResult cmdResult = ctx.execute("opkg list-installed | grep openjdk"); + if (cmdResult.getExitCode() != 0) { + ctx.getLogger().log("JRE not found"); + return false; + } + String result = cmdResult.getResult().trim(); + ctx.getLogger().log("Searching for JRE " + version); + ctx.getLogger().log("Found JRE " + result); + boolean matches = result.contains(version); + ctx.getLogger().log(matches ? "JRE Is Correct Version" : "JRE is mismatched. Reinstalling"); + return !matches; + } +}