-
Notifications
You must be signed in to change notification settings - Fork 629
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
.gitattributes: Mark more files as text with LF line endings (#6853)
- Loading branch information
Showing
3 changed files
with
165 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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<Project> { | ||
@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<Project> { | ||
@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) | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} | ||
} |