Skip to content

Commit 56e14f4

Browse files
authored
Add mrclib support (#273)
1 parent b33232d commit 56e14f4

5 files changed

Lines changed: 31 additions & 14 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ java {
1313

1414
allprojects {
1515
group = "org.wpilib"
16-
version = "2027.6.1"
16+
version = "2027.7.1"
1717

1818
if (project.hasProperty('publishVersion')) {
1919
version = project.publishVersion

src/main/java/org/wpilib/nativeutils/WPINativeUtilsExtension.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ public void addMacMinimumVersionArg() {
260260
public static abstract class DependencyVersions {
261261
public abstract Property<String> getWpiVersion();
262262

263-
public abstract Property<String> getNiLibVersion();
263+
public abstract Property<String> getMrcLibVersion();
264264

265265
public abstract Property<String> getOpencvVersion();
266266

@@ -435,7 +435,7 @@ public void configureDependencies(Action<DependencyVersions> dependencies) {
435435
dependencyVersions = objects.newInstance(DependencyVersions.class);
436436

437437
dependencyVersions.getWpiVersion().set("-1");
438-
dependencyVersions.getNiLibVersion().set("-1");
438+
dependencyVersions.getMrcLibVersion().set("-1");
439439
dependencyVersions.getOpencvVersion().set("-1");
440440
dependencyVersions.getGoogleTestVersion().set("-1");
441441

@@ -468,35 +468,44 @@ public void configureDependencies(Action<DependencyVersions> dependencies) {
468468
"googletest-cpp",
469469
wpiVersion);
470470

471+
configs.register("mrclib", WPISharedMavenDependency.class, c -> {
472+
c.getGroupId().set("org.wpilib.mrclib");
473+
c.getArtifactId().set("mrclib-cpp");
474+
c.getHeaderClassifier().set("headers");
475+
c.getExt().set("zip");
476+
c.getVersion().set(dependencyVersions.getMrcLibVersion());
477+
c.getSkipAtRuntimePlatforms().add(this.platforms.systemcore);
478+
c.getTargetPlatforms().addAll(this.platforms.allPlatforms);
479+
c.getNoDebugSplit().set(true);
480+
});
481+
471482
// 2027
472483
configs.register("wpilib_jni", AllPlatformsCombinedNativeDependency.class, c -> {
473484
ListProperty<String> d = c.getDependencies();
474485
d.set(List.of("ntcore_shared", "hal_shared", "datalog_shared", "wpimath_shared", "wpinet_shared",
475-
"wpiutil_shared"));
486+
"wpiutil_shared", "mrclib_shared"));
476487
});
477488

478489
configs.register("wpilib_static", AllPlatformsCombinedNativeDependency.class, c -> {
479490
ListProperty<String> d = c.getDependencies();
480491
d.set(List.of("wpilibc_static", "ntcore_static", "hal_static", "datalog_static", "wpimath_static",
481-
"wpinet_static",
482-
"wpiutil_static"));
492+
"wpinet_static", "wpiutil_static", "mrclib_shared"));
483493
});
484494

485495
configs.register("wpilib_shared", AllPlatformsCombinedNativeDependency.class, c -> {
486496
ListProperty<String> d = c.getDependencies();
487497
d.set(List.of("wpilibc_shared", "ntcore_shared", "hal_shared", "datalog_shared", "wpimath_shared",
488-
"wpinet_shared",
489-
"wpiutil_shared"));
498+
"wpinet_shared", "wpiutil_shared", "mrclib_shared"));
490499
});
491500

492501
configs.register("driver_static", AllPlatformsCombinedNativeDependency.class, c -> {
493502
ListProperty<String> d = c.getDependencies();
494-
d.set(List.of("hal_static", "datalog_static", "wpimath_static", "wpinet_static", "wpiutil_static"));
503+
d.set(List.of("hal_static", "datalog_static", "wpimath_static", "wpinet_static", "wpiutil_static", "mrclib_shared"));
495504
});
496505

497506
configs.register("driver_shared", AllPlatformsCombinedNativeDependency.class, c -> {
498507
ListProperty<String> d = c.getDependencies();
499-
d.set(List.of("hal_shared", "datalog_shared", "wpimath_shared", "wpinet_shared", "wpiutil_shared"));
508+
d.set(List.of("hal_shared", "datalog_shared", "wpimath_shared", "wpinet_shared", "wpiutil_shared", "mrclib_shared"));
500509
});
501510

502511
configs.register("vision_jni_shared", AllPlatformsCombinedNativeDependency.class, c -> {

src/main/java/org/wpilib/nativeutils/dependencies/WPIHeaderOnlyMavenDependency.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.gradle.api.Project;
88
import org.gradle.api.file.FileCollection;
99
import org.gradle.api.provider.Property;
10+
import org.gradle.api.provider.SetProperty;
1011
import org.gradle.nativeplatform.BuildType;
1112
import org.gradle.nativeplatform.platform.NativePlatform;
1213

@@ -35,5 +36,5 @@ public Optional<ResolvedNativeDependency> resolveNativeDependency(NativePlatform
3536
return resolvedDep;
3637
}
3738

38-
public abstract Property<Boolean> getSkipAtRuntime();
39+
public abstract SetProperty<String> getSkipAtRuntimePlatforms();
3940
}

src/main/java/org/wpilib/nativeutils/dependencies/WPISharedMavenDependency.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.gradle.api.Project;
1111
import org.gradle.api.file.FileCollection;
1212
import org.gradle.api.provider.Property;
13+
import org.gradle.api.provider.SetProperty;
1314
import org.gradle.nativeplatform.BuildType;
1415
import org.gradle.nativeplatform.platform.NativePlatform;
1516

@@ -38,6 +39,9 @@ public Optional<ResolvedNativeDependency> resolveNativeDependency(NativePlatform
3839
}
3940

4041
String buildTypeName = buildType.getName();
42+
if (getNoDebugSplit().getOrElse(false)) {
43+
buildTypeName = "release";
44+
}
4145

4246
FileCollection headers = getArtifactRoots(getHeaderClassifier().getOrElse(null), ArtifactType.HEADERS, loaderDependencySet);
4347
FileCollection sources = getArtifactRoots(getSourceClassifier().getOrElse(null), ArtifactType.SOURCES, loaderDependencySet);
@@ -52,7 +56,8 @@ public Optional<ResolvedNativeDependency> resolveNativeDependency(NativePlatform
5256
FileCollection linkFiles = getArtifactFiles(platformName, buildTypeName, SHARED_MATCHERS, sharedExcludes, ArtifactType.LINK, loaderDependencySet);
5357

5458
FileCollection runtimeFiles;
55-
if (getSkipAtRuntime().getOrElse(false)) {
59+
Set<String> skipAtRuntimePlatforms = getSkipAtRuntimePlatforms().getOrNull();
60+
if (skipAtRuntimePlatforms != null && skipAtRuntimePlatforms.contains(platformName)) {
5661
runtimeFiles = getProject().files();
5762
} else {
5863
runtimeFiles = getArtifactFiles(platformName, buildTypeName, RUNTIME_MATCHERS, RUNTIME_EXCLUDES, ArtifactType.RUNTIME, loaderDependencySet);
@@ -64,5 +69,7 @@ public Optional<ResolvedNativeDependency> resolveNativeDependency(NativePlatform
6469
return resolvedDep;
6570
}
6671

67-
public abstract Property<Boolean> getSkipAtRuntime();
72+
public abstract SetProperty<String> getSkipAtRuntimePlatforms();
73+
74+
public abstract Property<Boolean> getNoDebugSplit();
6875
}

testing/cpp/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import org.wpilib.nativeutils.vendordeps.WPIVendorDepsPlugin
33

44
plugins {
55
id "cpp"
6-
id "org.wpilib.NativeUtils" version "2027.6.1"
6+
id "org.wpilib.NativeUtils" version "2027.7.1"
77
}
88

99
nativeUtils.addWpiNativeUtils()

0 commit comments

Comments
 (0)