Skip to content

Commit e30440e

Browse files
authoredJul 19, 2024
.gitattributes: Mark more files as text with LF line endings (wpilibsuite#6853)
1 parent 19a5e0c commit e30440e

File tree

3 files changed

+165
-147
lines changed

3 files changed

+165
-147
lines changed
 

‎.gitattributes

+18
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,30 @@
1+
*.adoc text eol=lf
2+
*.c text eol=lf
3+
*.cmake text eol=lf
4+
*.clang-format text eol=lf
5+
*.clang-tidy text eol=lf
16
*.cpp text eol=lf
27
*.gradle text eol=lf
8+
*.groovy text eol=lf
39
*.h text eol=lf
10+
*.hpp text eol=lf
11+
*.in text eol=lf
412
*.inc text eol=lf
513
*.java text eol=lf
614
*.jinja text eol=lf
715
*.json text eol=lf
16+
*.m text eol=lf
817
*.md text eol=lf
18+
*.mm text eol=lf
19+
*.patch text eol=lf
20+
*.plist text eol=lf
21+
*.proto text eol=lf
22+
*.py text eol=lf
23+
*.styleguide text eol=lf
24+
*.txt text eol=lf
925
*.xml text eol=lf
26+
*.yaml text eol=lf
27+
*.yml text eol=lf
1028

1129
# Generated files
1230
*/src/generated/** linguist-generated
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
1-
2-
import org.gradle.api.GradleException;
3-
import org.gradle.api.Plugin;
4-
import org.gradle.api.Project;
5-
import org.gradle.api.Task;
6-
import org.gradle.api.file.FileTree;
7-
import org.gradle.api.tasks.compile.JavaCompile;
8-
import org.gradle.language.base.internal.ProjectLayout;
9-
import org.gradle.language.base.plugins.ComponentModelBasePlugin;
10-
import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask;
11-
import org.gradle.model.ModelMap;
12-
import edu.wpi.first.toolchain.ToolchainExtension
13-
import org.gradle.model.Mutate;
14-
import org.gradle.api.plugins.ExtensionContainer;
15-
import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec;
16-
import org.gradle.model.RuleSource;
17-
import org.gradle.model.Validate;
18-
import org.gradle.nativeplatform.NativeExecutableBinarySpec
19-
import org.gradle.nativeplatform.NativeBinarySpec;
20-
import org.gradle.nativeplatform.NativeComponentSpec;
21-
import org.gradle.nativeplatform.NativeLibrarySpec;
22-
import org.gradle.nativeplatform.SharedLibraryBinarySpec;
23-
import org.gradle.nativeplatform.StaticLibraryBinarySpec;
24-
import org.gradle.nativeplatform.platform.internal.NativePlatformInternal;
25-
import org.gradle.nativeplatform.toolchain.NativeToolChain;
26-
import org.gradle.nativeplatform.toolchain.NativeToolChainRegistry;
27-
import org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider;
28-
import org.gradle.nativeplatform.toolchain.internal.ToolType;
29-
import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain;
30-
import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain;
31-
import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry;
32-
import org.gradle.platform.base.BinarySpec;
33-
import org.gradle.platform.base.ComponentSpec;
34-
import org.gradle.platform.base.ComponentSpecContainer;
35-
import org.gradle.platform.base.BinaryContainer;
36-
import org.gradle.platform.base.ComponentType;
37-
import org.gradle.platform.base.TypeBuilder;
38-
import org.gradle.nativeplatform.tasks.ObjectFilesToBinary;
39-
import groovy.transform.CompileStatic;
40-
import groovy.transform.CompileDynamic
41-
import org.gradle.nativeplatform.BuildTypeContainer
42-
43-
@CompileStatic
44-
class DisableBuildingGTest implements Plugin<Project> {
45-
@CompileStatic
46-
public void apply(Project project) {
47-
48-
}
49-
50-
@CompileStatic
51-
static class Rules extends RuleSource {
52-
@CompileDynamic
53-
private static void setBuildableFalseDynamically(NativeBinarySpec binary) {
54-
binary.buildable = false
55-
}
56-
57-
@Validate
58-
@CompileStatic
59-
// TODO: Move this to tc plugin
60-
void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) {
61-
final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class);
62-
63-
for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) {
64-
if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) {
65-
setBuildableFalseDynamically(binary)
66-
}
67-
}
68-
}
69-
}
70-
}
1+
2+
import org.gradle.api.GradleException;
3+
import org.gradle.api.Plugin;
4+
import org.gradle.api.Project;
5+
import org.gradle.api.Task;
6+
import org.gradle.api.file.FileTree;
7+
import org.gradle.api.tasks.compile.JavaCompile;
8+
import org.gradle.language.base.internal.ProjectLayout;
9+
import org.gradle.language.base.plugins.ComponentModelBasePlugin;
10+
import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask;
11+
import org.gradle.model.ModelMap;
12+
import edu.wpi.first.toolchain.ToolchainExtension
13+
import org.gradle.model.Mutate;
14+
import org.gradle.api.plugins.ExtensionContainer;
15+
import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec;
16+
import org.gradle.model.RuleSource;
17+
import org.gradle.model.Validate;
18+
import org.gradle.nativeplatform.NativeExecutableBinarySpec
19+
import org.gradle.nativeplatform.NativeBinarySpec;
20+
import org.gradle.nativeplatform.NativeComponentSpec;
21+
import org.gradle.nativeplatform.NativeLibrarySpec;
22+
import org.gradle.nativeplatform.SharedLibraryBinarySpec;
23+
import org.gradle.nativeplatform.StaticLibraryBinarySpec;
24+
import org.gradle.nativeplatform.platform.internal.NativePlatformInternal;
25+
import org.gradle.nativeplatform.toolchain.NativeToolChain;
26+
import org.gradle.nativeplatform.toolchain.NativeToolChainRegistry;
27+
import org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider;
28+
import org.gradle.nativeplatform.toolchain.internal.ToolType;
29+
import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain;
30+
import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain;
31+
import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry;
32+
import org.gradle.platform.base.BinarySpec;
33+
import org.gradle.platform.base.ComponentSpec;
34+
import org.gradle.platform.base.ComponentSpecContainer;
35+
import org.gradle.platform.base.BinaryContainer;
36+
import org.gradle.platform.base.ComponentType;
37+
import org.gradle.platform.base.TypeBuilder;
38+
import org.gradle.nativeplatform.tasks.ObjectFilesToBinary;
39+
import groovy.transform.CompileStatic;
40+
import groovy.transform.CompileDynamic
41+
import org.gradle.nativeplatform.BuildTypeContainer
42+
43+
@CompileStatic
44+
class DisableBuildingGTest implements Plugin<Project> {
45+
@CompileStatic
46+
public void apply(Project project) {
47+
48+
}
49+
50+
@CompileStatic
51+
static class Rules extends RuleSource {
52+
@CompileDynamic
53+
private static void setBuildableFalseDynamically(NativeBinarySpec binary) {
54+
binary.buildable = false
55+
}
56+
57+
@Validate
58+
@CompileStatic
59+
// TODO: Move this to tc plugin
60+
void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) {
61+
final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class);
62+
63+
for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) {
64+
if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) {
65+
setBuildableFalseDynamically(binary)
66+
}
67+
}
68+
}
69+
}
70+
}
+77-77
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
1-
import groovy.transform.CompileStatic;
2-
import javax.inject.Inject;
3-
4-
import org.gradle.api.Project;
5-
6-
import edu.wpi.first.deployutils.deploy.CommandDeployResult;
7-
import edu.wpi.first.deployutils.deploy.artifact.MavenArtifact;
8-
import edu.wpi.first.deployutils.deploy.context.DeployContext;
9-
import edu.wpi.first.deployutils.deploy.target.RemoteTarget;
10-
import edu.wpi.first.deployutils.PredicateWrapper;
11-
import edu.wpi.first.deployutils.ActionWrapper;
12-
13-
@CompileStatic
14-
public class WPIJREArtifact extends MavenArtifact {
15-
private final String configName;
16-
17-
public String getConfigName() {
18-
return configName;
19-
}
20-
21-
public boolean isCheckJreVersion() {
22-
return checkJreVersion;
23-
}
24-
25-
public void setCheckJreVersion(boolean checkJreVersion) {
26-
this.checkJreVersion = checkJreVersion;
27-
}
28-
29-
private boolean checkJreVersion = true;
30-
31-
private final String artifactLocation = "edu.wpi.first.jdk:roborio-2024:17.0.9u7-1"
32-
33-
@Inject
34-
public WPIJREArtifact(String name, RemoteTarget target) {
35-
super(name, target);
36-
String configName = name + "frcjre";
37-
this.configName = configName;
38-
Project project = target.getProject();
39-
getConfiguration().set(project.getConfigurations().create(configName));
40-
getDependency().set(project.getDependencies().add(configName, artifactLocation));
41-
42-
setOnlyIf(new PredicateWrapper({ DeployContext ctx ->
43-
return jreMissing(ctx) || jreOutOfDate(ctx) || project.hasProperty("force-redeploy-jre");
44-
}));
45-
46-
getDirectory().set("/tmp");
47-
getFilename().set("frcjre.ipk");
48-
49-
getPostdeploy().add(new ActionWrapper({ DeployContext ctx ->
50-
ctx.getLogger().log("Installing JRE...");
51-
ctx.execute("opkg remove frc*-openjdk*; opkg install /tmp/frcjre.ipk; rm /tmp/frcjre.ipk");
52-
ctx.getLogger().log("JRE Deployed!");
53-
}));
54-
}
55-
56-
private boolean jreMissing(DeployContext ctx) {
57-
return ctx.execute("if [[ -f \"/usr/local/frc/JRE/bin/java\" ]]; then echo OK; else echo MISSING; fi").getResult().contains("MISSING");
58-
}
59-
60-
private boolean jreOutOfDate(DeployContext ctx) {
61-
if (!checkJreVersion) {
62-
return false;
63-
}
64-
String version = getDependency().get().getVersion();
65-
CommandDeployResult cmdResult = ctx.execute("opkg list-installed | grep openjdk");
66-
if (cmdResult.getExitCode() != 0) {
67-
ctx.getLogger().log("JRE not found");
68-
return false;
69-
}
70-
String result = cmdResult.getResult().trim();
71-
ctx.getLogger().log("Searching for JRE " + version);
72-
ctx.getLogger().log("Found JRE " + result);
73-
boolean matches = result.contains(version);
74-
ctx.getLogger().log(matches ? "JRE Is Correct Version" : "JRE is mismatched. Reinstalling");
75-
return !matches;
76-
}
77-
}
1+
import groovy.transform.CompileStatic;
2+
import javax.inject.Inject;
3+
4+
import org.gradle.api.Project;
5+
6+
import edu.wpi.first.deployutils.deploy.CommandDeployResult;
7+
import edu.wpi.first.deployutils.deploy.artifact.MavenArtifact;
8+
import edu.wpi.first.deployutils.deploy.context.DeployContext;
9+
import edu.wpi.first.deployutils.deploy.target.RemoteTarget;
10+
import edu.wpi.first.deployutils.PredicateWrapper;
11+
import edu.wpi.first.deployutils.ActionWrapper;
12+
13+
@CompileStatic
14+
public class WPIJREArtifact extends MavenArtifact {
15+
private final String configName;
16+
17+
public String getConfigName() {
18+
return configName;
19+
}
20+
21+
public boolean isCheckJreVersion() {
22+
return checkJreVersion;
23+
}
24+
25+
public void setCheckJreVersion(boolean checkJreVersion) {
26+
this.checkJreVersion = checkJreVersion;
27+
}
28+
29+
private boolean checkJreVersion = true;
30+
31+
private final String artifactLocation = "edu.wpi.first.jdk:roborio-2024:17.0.9u7-1"
32+
33+
@Inject
34+
public WPIJREArtifact(String name, RemoteTarget target) {
35+
super(name, target);
36+
String configName = name + "frcjre";
37+
this.configName = configName;
38+
Project project = target.getProject();
39+
getConfiguration().set(project.getConfigurations().create(configName));
40+
getDependency().set(project.getDependencies().add(configName, artifactLocation));
41+
42+
setOnlyIf(new PredicateWrapper({ DeployContext ctx ->
43+
return jreMissing(ctx) || jreOutOfDate(ctx) || project.hasProperty("force-redeploy-jre");
44+
}));
45+
46+
getDirectory().set("/tmp");
47+
getFilename().set("frcjre.ipk");
48+
49+
getPostdeploy().add(new ActionWrapper({ DeployContext ctx ->
50+
ctx.getLogger().log("Installing JRE...");
51+
ctx.execute("opkg remove frc*-openjdk*; opkg install /tmp/frcjre.ipk; rm /tmp/frcjre.ipk");
52+
ctx.getLogger().log("JRE Deployed!");
53+
}));
54+
}
55+
56+
private boolean jreMissing(DeployContext ctx) {
57+
return ctx.execute("if [[ -f \"/usr/local/frc/JRE/bin/java\" ]]; then echo OK; else echo MISSING; fi").getResult().contains("MISSING");
58+
}
59+
60+
private boolean jreOutOfDate(DeployContext ctx) {
61+
if (!checkJreVersion) {
62+
return false;
63+
}
64+
String version = getDependency().get().getVersion();
65+
CommandDeployResult cmdResult = ctx.execute("opkg list-installed | grep openjdk");
66+
if (cmdResult.getExitCode() != 0) {
67+
ctx.getLogger().log("JRE not found");
68+
return false;
69+
}
70+
String result = cmdResult.getResult().trim();
71+
ctx.getLogger().log("Searching for JRE " + version);
72+
ctx.getLogger().log("Found JRE " + result);
73+
boolean matches = result.contains(version);
74+
ctx.getLogger().log(matches ? "JRE Is Correct Version" : "JRE is mismatched. Reinstalling");
75+
return !matches;
76+
}
77+
}

0 commit comments

Comments
 (0)
Please sign in to comment.