Squashed 'third_party/allwpilib_2019/' changes from 99e4f7dd2..c36bbcc9a
936627bd9 wpilibc: Remove direct CameraServer dependency (#1989)
8e333c0aa Use FPGA Time instead of wall clock time for odometry (#1996)
d4430b765 Gearsbot example: Use standard argument order (#1995)
75438ab2c Add RamseteCommand (#1951)
989df1b46 Bump Native Utils and OpenCV dependencies (#1993)
dbc33b61e Fix Timer usage in TrapezoidProfileCommand (#1992)
79f8c5644 Add TrapezoidProfileCommand (#1962)
9440edf2b Refactor TrajectoryGenerator (#1972)
73a30182c Add frc2::Timer (#1968)
36ea865ed Add toString for geometry and trajectory classes (#1991)
cbe05e7e8 Update ProfiledPIDController API (#1967)
d04eb3546 Deprecate old PID classes (#1964)
02264db69 Add JNI dependencies to myRobotCpp (#1980)
2a76c996e Use VID/PID detection for PS3Eye (#1977)
a3820bbdf Remove HAL_BaseInitialize (#1981)
a83fb4793 Update to 2020v5 image (#1983)
4b0ed910e Make SwerveDriveKinematics.toChassisSpeeds() public (#1976)
103c1b121 Remove DS caching from the HAL level (#1971)
6635ea75e Fix NPE in SendableRegistry.foreachLiveWindow() (#1974)
cfe23c5cd Fix grammar error in comment for configureButtonBindings (#1969)
4bde2654e Fix mac azure build (#1973)
4f034e6c1 generateTrajectory: default reversed param to false (#1953)
acf960f72 Sim GUI: Add option to disable outputs on DS disable
2d3dac99f Sim GUI: Handle low resolutions and scale default window positions
07c86e0cd Sim GUI: Support High DPI monitors
46ad95512 SimDeviceData: Add missing null check
5bce489b9 Add ProggyDotted font to imgui (both cmake and gradle)
55af553ac Simulation GUI: Map gamepad the same way as DS
c59f9cea5 CameraServer: Add VID/PID support for Linux USB devices (#1960)
3fc89c84d Make splinePointsFromSplines public (#1963)
2c5093797 Fix implicitly deleted move constructors (#1954)
f3ad927f4 Update Java SmartDashboard and LiveWindow to match C++
05c25deb7 Fix move handling of C++ Sendable in SmartDashboard and LiveWindow
d726591ce Fix Gazebo sim plugin build (#1959)
2ff694fa4 Unbreak gradle build when other compilers installed (#1958)
53816155b Improve command decorator names (#1945)
a38f183a9 Fix GenResources.cmake so it's usable in a submodule (#1956)
b3398dca3 Set gradlebase correctly for all examples (#1950)
2c311013d Add Aarch64Bionic platform detection (#1922)
c10f2003c Add generateTrajectory overload (#1944)
63cfa64fb Add getters for pose in odometry classes (#1943)
2402c2bad Fix C++ command group recursive constructor bug (#1941)
f4eedf597 Fix ConcurrentModificationException in CommandScheduler (#1938)
bb0b207d2 Fix array out of bounds exception caused by parallel race group (#1935)
7bd69e591 Fix typo in temperature (#1940)
ec9738245 Bump to 2020 v4 image (#1931)
46303a822 Add messaging to extension loading in the HAL (#1926)
d169d6be9 Set extract_static for Doxygen config so that static members show up (#1930)
4e183eb10 Bump to 2020 v3 image (#1929)
84c185803 LiveWindow: catch errors in callback/builder functions (#1921)
0e3b0f3da Remove deprecated free() calls (#1925)
7f839b87c Remove timeouts from azure builds (#1924)
45b766a5d Fix main thread ID being potentially incorrect for simulation (#1923)
56d782b16 Add secondary camera name for PS3Eye (#1920)
2b4894038 Add simulation GUI plugin
f97d16073 Add imgui build to cmake
55a844a3e HAL sim: Add encoder channel B access
10deba854 Remove sendables from SendableRegistry when close() is called (#1917)
a9f0e4668 Implement sim devices for ADXL345, ADXL362, ADXRS450, Ultrasonic
aa9064586 Add ability to associate other devices with a SimDevice
81c2c8a7d Add simulation generic device/value support
e8d6f8a2c Move mockdata/HAL_Value.h to hal/Value.h
1b266717a Add simulation module support to cmake build (#1906)
fb8f3bd06 Add testbench yaml file (#1915)
846d8def0 Update to 2020 v2 image (#1913)
d6ac6e512 Fix PortForwarder package declaration (#1912)
227157086 Fix PS3Eye exposure setting (#1911)
885744d7e Add myRobot C++ version to cmake build (#1907)
366091fa8 Document that ConditionalCommand requires all subsystems (#1909)
c58b072c8 Fix Drive usage reporting order (#1908)
762c88adb Update compiler versions in readme (#1905)
af8ce568d Add Ramsete unicycle controller (#1790)
b2c2934d0 Fix javadoc warnings about invalid usage of ">" (#1904)
cce26ec78 Replace CRLF line endings with LF (#1902)
cb54602d4 Add support for writing RTR CAN Frames to the CAN API (#1900)
9f740e590 Use OS for serial port instead of NI VISA (#1875)
b23baf611 Add ability to run robot main loop in a separate thread (#1895)
457f94ba2 Add trajectory generation using hermite splines (#1843)
fd612052f Update native utils to use new frchome directory (#1884)
8858ec55c Remove periodic can read call (#1868)
41efb8015 Update CANAPITypes.h (#1860)
c93be1b2d Remove LabVIEW HAL support (#1901)
680f8919e Remove eigen, units and libuv from doxygen generation (#1898)
c5812524f Bump GradleJNI plugin version (#1899)
971303da8 Add PortForwarder class (#1890)
50db77bf2 Fix wpiutil cmake eigen install source directory (#1891)
85d42c199 C++ PIDCommand: Add GetMeasurement() and UseOutput() (#1892)
2dfbb855d wpilibj: Fix SwerveDriveKinematics ctor parameter name (#1889)
471f375a3 Simplify Sendable interface (#1864)
1d8c4d016 Replace ::value and ::type with _v and _t suffixes (#1885)
a5650b943 Add Units Utility class for Java (#1829)
904479ad4 Deprecate GearTooth class for removal (#1878)
86b666bba Add equality comparator to geometry classes (#1882)
62f07c182 Make one-arg Rotation2d constructor implicit (#1883)
f405582f8 Add kinematics suite (#1787)
561cbbd14 Deprecate Filter class for removal (#1876)
84e2973aa Remove unused include from Filesystem.h (#1877)
f49859ebf Remove NI VISA headers, as they are now included in NI Libraries (#1879)
bc59db5e6 Rename DEBUG macro to DEBUG0 (#1871)
dd928b4cb Remove JNI logging (#1872)
3e0f7d099 Use units for new NotifierCommand (#1869)
5ffe15d5f Remove ability to build all combined artifacts (#1867)
516cbef2c Remove RoboRIO ifdef from simulation headers (#1859)
9b6ffc201 Replace SetOutputRange() with SetIntegratorRange()
ff8b8f0a8 Remove percent tolerance from PID controller
0ca8d667d Clean up AutoCloseable and other Java warnings (#1866)
7112add67 Watchdog: use units::second_t instead of double (#1863)
761bc3ef8 Change C++ WaitCommand to use units (#1865)
1fb301123 Add MathUtils.clamp() for Java (#1861)
eb3e0c9c9 Fix cmake Eigen include directory (#1862)
2250b7fbe Rename GearsBotNew example to GearsBot
c9f9feff1 Replace deprecated API usage in C++ examples
d6b9c7e14 CONTRIBUTING.md: Point to frc-docs instead of screensteps (#1858)
d10a1a797 Fix eigen build in vcpkg (#1856)
2bdb44325 Add frc2 includes to list of "other lib" regexes (#1855)
4b2b21d24 Replace outdated Java collections (#508)
8993ce5bf Move Eigen headers out of main include folder (#1854)
0f532a117 Add PWMSparkMax (#1751)
f7ad363d8 Add jni cross compile options for aarch64 (#1853)
9afea3340 Add support for aarch64 jetson bionic builds (#1844)
d787b5d60 Add more items to .gitignore (#1850)
5dd0d1b7d Use units in SPI
07ac711b3 Fix units deprecated warning in IterativeRobot
decfd858b Correctly report -1 for POV on disconnected joystick (#1852)
076ed7770 Add new C++ Command framework (#1785)
a0be07c37 Refactor HAL handle move construction/assignment (#1845)
558c38308 Add new Java Command framework (#1682)
1379735af Delete RobotState and SensorUtil constructors (#1847)
e3d86fee4 Move circular buffer class from wpilib to wpiutil (#1840)
4cd8a5667 TimedRobot.cpp: Fix deprecation warning (#1846)
b2861f894 Use 2020 artifacts and artifactory server (#1838)
98cc32703 Update to use artifactory to publish artifacts (#1833)
fa0640300 Move drive integration tests into wpilibj/src/test (#1836)
e716c36b8 Fix Nat.java generation to be incremental (#1831)
9fd2b5e3f Fix MSVC builds on cmake windows in vcpkg (#1835)
7e95010a2 Add compile-time EJML matrix wrapper to wpiutil (#1804)
3ebc5a6d3 Add ProfiledPIDController
fc98a79db Clean up PIDController interface in preparation for ProfiledPIDController
fdc098267 Fix compilation error in elevator trapezoid profile example (#1826)
a3dd84e85 Make XBoxController Button enum public (#1823)
a216b9e9e Add TrapezoidProfile example (#1814)
8f386f6bb wpilibc: Add unit-safety to C++ geometry classes (#1811)
c07ac2353 wpilibc: Add overloads for units (#1815)
f1d71da8a Move GetStackTrace and Demangle to wpiutil, add Windows support (#1819)
ef037457e Make LinearFilter copyable and moveable (#1789)
76930250c Remove objective-cpp support (#1816)
1c246418f Move TrapezoidProfileTest to trajectory folder (#1812)
95a54a0f2 Add java arcade drive example (#1810)
a4530243e HAL sim: Fix incorrectly setting dio port to initialized on cleanup (#1813)
09d00a622 Update Java examples to use new PIDController (#1809)
ba9b51742 Add missing Java examples (#841)
6411bd79c InterruptableSensorBase: Fix callback function deletion (#1807)
810e58ea8 I2C: Add tip about writeBulk() to transaction() (#1806)
607d6c148 Fix wpilibj integration tests jar name (#1808)
c9873e81b Remove PIDControllerRunner and mutex from new PIDController (#1795)
98d0706de Fix cscore build with OpenCV 4 (#1803)
fbe67c90c Make Sendable setters synchronous (#1799)
c67a488a0 Format SendableBuilderImpl javadocs (#1802)
8e93ce892 Fix PIDControllerRunner member destruction order (#1801)
c98ca7310 Add EJML dependency to wpiutil (#1769)
3b12276bc SendableBase: remove unnecessary synchronization (#1797)
e6d348f38 Fix missing default name in Java PIDController (#1792)
df12fc2a8 Java cleanups (#1776)
39561751f Update GradleVSCode version (#1786)
37d316aa0 Add C++20 std::math constants shim (#1788)
dd4310959 Deprecate frc/WPILib.h (#1779)
823174f30 Update native utils to 2020.0.4 (#1783)
37c695266 Squelch -Wdeprecated-copy for Eigen with GCC >= 9
04c9b000f Revert "Fix build of Eigen 3.3.7 with GCC 9"
ca3e71e21 wpiutil: Fix Process::Spawn() (#1778)
d946d5a2b Fix Eigen compilation errors and add tests (#1777)
8b1b9ac75 Fix build of Eigen 3.3.7 with GCC 9
2f680ba99 Add Eigen linear algebra library
a885db7d4 Make MotorEncoderTest use LinearFilter (#1775)
ee2410169 Add geometry classes (#1766)
48fe54271 Add HALSIM_SetSendError implementation (#1773)
dff58c87f Fix unused warning in release build (#1771)
dde61aad3 Remove TimerEventHandler typedef from Notifier class (#1767)
0f6ef80ab Add RobotState#IsEStopped and DriverStation#IsEStopped (#952)
e48886187 Move unit tests from integration test suite (#1170)
dffa1a5cb Make null checks more descriptive (#1688)
fe59d854d Notifier: add null check (#1684)
10731f3d6 Update uv Udp wrapper for latest features
89f7b72b6 Update libuv to 1.30.1 release
85f2f8740 wpiutil: Add unique_function (#1761)
73ec94078 Remove SampleRobot (#1658)
62be0392b Replace std::lock_guard and std::lock with std::scoped_lock (#1758)
24d31df55 Make sure move constructor is generated for TrapezoidProfile (#1757)
841ef5d73 Remove template types from lock RAII wrapper usages (#1756)
e582518ba Fix some move constructors (#1754)
8757bc471 Remove pre-C++17 shims (#1752)
ea9512977 Add replacement PIDController class (#1300)
9b798d228 Add TrapezoidProfile class (#1673)
804926fb5 Unconditionally skip athena builds for sim (#1748)
118e9d29d Add C++14 units library (#1749)
c705953d7 Add usage reporting to LinearFilter (#1750)
852d1b9ca Don't cross-build gazebo for raspbian (#1747)
eedb3a1ad Fix GCC 9 warnings (#1730)
60dce66a4 Remove wpi::ArrayRef std::initializer_list constructor (#1745)
9e19b29c3 Use base azure image for primary wpilib build (#1744)
299425071 Update jni library, fix cross builds of the jni symbol check (#1742)
a6b0e9b85 Only disable execution of cross compile google tests (#1741)
3c2093119 Use docker container to run wpiformat (#1740)
5fe2eebce Revert "Don't build halsim_gazebo on raspbian (#1737)" (#1743)
4b1b92bb7 Replace wpi::optional with C++17 std::optional (#1732)
0fbb0d989 Update to 2020 compilers (#1733)
2dc94e605 Disable google tests on cross compilers (#1738)
d9cb57a42 Don't build halsim_gazebo on raspbian (#1737)
f7cfdd7ce Replace crlf line endings with lf (#1731)
b6d5d90d9 Add JaCoCo Support (#1734)
c7ab2baa6 Add way to disable the jni check tasks from a property (#1736)
0c45c5b7e Fix skip athena and skip raspbian flags (#1735)
3dfb01d45 Update to new Native Utils (#1696)
30e936837 Clean up LinearDigitalFilter class (#782)
311e2de4c Remove deprecated Joystick constants (#1715)
c08fd6682 Update CAN manufacturer list (#1706)
258bba0c2 ErrorBase and WPIError improvements (#1727)
372ca4f45 cmake: Enable googletest unit tests (#1720)
223d47af0 HALSIM: support mocking of HAL_SendError() (#1728)
55cb683db Change compiler flags to C++17 (#1723)
ee8a33c56 wpiutil: SafeThread: Add thread id, support getting shared_ptr (#1722)
61426d08d wpiutil: Signal: make operator() const (#1721)
b630b63ef Remove functions in LiveWindow deprecated since 2018 (#1716)
1d0c05d4f Styleguide fixes for #1718 (#1719)
f07569df1 Fix newer GCC/clang compiler warnings (#1718)
0120f3124 C++ SPI: Fix SetClockRate to take int (#1717)
c2829ed98 Configure gradle to ignore unresolved headers (#1711)
221e66f46 Allow disabling static init of JNI libraries (#1672)
738852e11 cmake: Add cross toolchain files for Rio and Pi (#1710)
27b697b08 Remove frc directory include shims (#1714)
9e45373a7 Remove functions and classes deprecated for 2018 season (#1059)
eeb1025ac SPI: Report port as instance for usage reporting (#1704)
bc6f1e246 Windows compiler options improvements (#1709)
bb48ae391 cmake: Move example programs into folders (#1654)
221011494 Update for C++17 and fix MSVC warnings (#1694)
fb1239a2a Add raw sources and sinks to cscore (#1670)
7de947734 Add lambda overloads for interrupts (#1636)
90957aeea Move libuv to its own subfolder in build (#1661)
47aae502a Styleguide fixes (#1702)
0bff98b5e Correct DifferentialDrive::ArcadeDrive param docs (#1698)
b52e40b80 Allow widgets to be added by passing value suppliers (#1690)
4a00cd77b Add usage reporting for the Shuffleboard API (#1685)
e25e515f2 Publish artifacts on azure (#1678)
322ef9b96 Force Java 11, fix javadoc generation (#1695)
d42ef5df0 Fix Watchdog print formatting (#1693)
f432f65be Update copyright year in license to 2019 (#1524)
1726b77ac wpiutil: uv: Remove copy from SimpleBufferPool (#1680)
620bec9ca wpiutil: uv: Add LoopClosing status to Handle (#1647)
7cd6e2e7f UsbCamera: Solve race in windows initialization (#1638)
7732836bd Completely disable watchdog tests on mac (#1679)
698edfda9 Remove framework load, disable mac timeout test (#1676)
1c454b000 Add Shuffleboard calls to IterativeRobotBase in C++ (#1607)
f42905b32 Include missing headers in HAL.h (#1660)
bdc822fad Only generate passthrough URLs for RoboRIO (#1624)
d3affb16b Make failure of HAL_GetFPGATime() more descriptive (#1633)
2de3bf7f5 Update LLVM from stable upstream (#1653)
3cf4f38f5 Fix build on macos10.14.4 (#1648)
4e0c10f48 Fix CAN Clean using wrong ID (#1668)
3b0631324 Fix Gray to BGR conversion in CameraServer (#1665)
6cd1c73ef Fix GUID comparison creating weird symbol (#1659)
063bbab6f MavenArtifacts.md: update links to HTTPS (#1674)
aab4c494d Fix type in build.gradle (#1604)
bf46af260 Disable extraneous data warnings in libjpeg (#1630)
655763a9a Limit length of message sent to DS SendError call (#1618)
a095ec2d8 Fix linker errors with free functions in Threads.h (#1625)
12ab035aa Fix receive side of LabVIEW USB streams (#1621)
Change-Id: Ibd382e1a48925c200850cf90a8121e35c0fcffe3
git-subtree-dir: third_party/allwpilib_2019
git-subtree-split: c36bbcc9a9095489fc078229db4fba3ecd0f9b78
diff --git a/shared/config.gradle b/shared/config.gradle
index 02c2b68..0173097 100644
--- a/shared/config.gradle
+++ b/shared/config.gradle
@@ -1,251 +1,39 @@
-import edu.wpi.first.nativeutils.*
import org.gradle.internal.os.OperatingSystem
-def windowsCompilerArgs = ['/EHsc', '/DNOMINMAX', '/Zi', '/FS', '/Zc:inline', '/MP4']
-def windowsCCompilerArgs = ['/Zi', '/FS', '/Zc:inline']
-def windowsReleaseCompilerArgs = ['/O2', '/MD']
-def windowsDebugCompilerArgs = ['/Od', '/MDd']
-def windowsLinkerArgs = ['/DEBUG:FULL']
-def windowsReleaseLinkerArgs = ['/OPT:REF', '/OPT:ICF']
-
-def linuxCrossCompilerArgs = ['-std=c++14', '-Wformat=2', '-Wall', '-Wextra', '-Werror', '-pedantic', '-Wno-psabi', '-g',
- '-Wno-unused-parameter', '-Wno-error=deprecated-declarations', '-fPIC', '-rdynamic',
- '-pthread']
-def linuxCrossCCompilerArgs = ['-Wformat=2', '-Wall', '-Wextra', '-Werror', '-pedantic', '-Wno-psabi', '-g',
- '-Wno-unused-parameter', '-fPIC', '-rdynamic', '-pthread']
-def linuxCrossLinkerArgs = ['-rdynamic', '-pthread', '-ldl']
-def linuxCrossReleaseCompilerArgs = ['-O2']
-def linuxCrossDebugCompilerArgs = ['-Og']
-
-def linuxCompilerArgs = ['-std=c++14', '-Wformat=2', '-Wall', '-Wextra', '-Werror', '-pedantic', '-Wno-psabi', '-g',
- '-Wno-unused-parameter', '-Wno-error=deprecated-declarations', '-fPIC', '-rdynamic',
- '-pthread']
-def linuxCCompilerArgs = ['-Wformat=2', '-Wall', '-Wextra', '-Werror', '-pedantic', '-Wno-psabi', '-g',
- '-Wno-unused-parameter', '-fPIC', '-rdynamic', '-pthread']
-def linuxLinkerArgs = ['-rdynamic', '-pthread', '-ldl']
-def linuxReleaseCompilerArgs = ['-O2']
-def linuxDebugCompilerArgs = ['-O0']
-def linux32BitArg = '-m32'
-
-def macCompilerArgs = ['-std=c++14', '-Wall', '-Wextra', '-Werror', '-pedantic-errors', '-fPIC', '-g',
- '-Wno-unused-parameter', '-Wno-error=deprecated-declarations', '-Wno-missing-field-initializers',
- '-Wno-unused-private-field', '-Wno-unused-const-variable', '-pthread']
-def macCCompilerArgs = ['-Wall', '-Wextra', '-Werror', '-pedantic-errors', '-fPIC', '-g',
- '-Wno-unused-parameter', '-Wno-missing-field-initializers', '-Wno-unused-private-field']
-def macObjCLinkerArgs = ['-std=c++14', '-stdlib=libc++','-fobjc-arc', '-g', '-fPIC', '-Wall', '-Wextra', '-Werror']
-def macReleaseCompilerArgs = ['-O2']
-def macDebugCompilerArgs = ['-O0']
-def macLinkerArgs = ['-framework', 'CoreFoundation', '-framework', 'AVFoundation', '-framework', 'Foundation', '-framework', 'CoreMedia', '-framework', 'CoreVideo']
-def mac32BitArg = '-m32'
-
-def buildAll = project.hasProperty('buildAll')
-
-def windows64PlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isWin = OperatingSystem.current().isWindows()
- if (buildAll) {
- return isWin
- } else {
- return isWin && arch == 'amd64'
+nativeUtils.addWpiNativeUtils()
+nativeUtils.withRoboRIO()
+nativeUtils.withRaspbian()
+nativeUtils.withBionic()
+nativeUtils {
+ wpi {
+ configureDependencies {
+ wpiVersion = "-1"
+ niLibVersion = "2020.5.1"
+ opencvVersion = "3.4.7-2"
+ googleTestVersion = "1.9.0-3-437e100"
+ imguiVersion = "1.72b-2"
}
+ }
}
-def windows32PlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isWin = OperatingSystem.current().isWindows()
- if (buildAll) {
- return isWin
- } else {
- return isWin && arch == 'x86'
- }
-}
+nativeUtils.wpi.addWarnings()
+nativeUtils.wpi.addWarningsAsErrors()
-def linux32IntelPlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isLinux = OperatingSystem.current().isLinux()
- def isIntel = (arch == 'amd64' || arch == 'i386')
- if (buildAll) {
- return isLinux && isIntel
- } else {
- return isLinux && arch == 'i386'
- }
-}
+nativeUtils.setSinglePrintPerPlatform()
-def linux64IntelPlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isLinux = OperatingSystem.current().isLinux()
- def isIntel = (arch == 'amd64' || arch == 'i386')
- if (buildAll) {
- return isLinux && isIntel
- } else {
- return isLinux && arch == 'amd64'
- }
-}
-
-def linuxArmPlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isIntel = (arch == 'amd64' || arch == 'i386')
- return OperatingSystem.current().isLinux() && !isIntel
-}
-
-def mac64PlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isMac = OperatingSystem.current().isMacOsX()
- if (buildAll) {
- return isMac
- } else {
- return isMac && arch == 'x86_64'
- }
-}
-
-def mac32PlatformDetect = {
- def arch = System.getProperty("os.arch")
- def isMac = OperatingSystem.current().isMacOsX()
- if (buildAll) {
- return isMac
- } else {
- return isMac && arch == 'x86'
- }
-}
-
-if (!project.hasProperty('skipAthena') && !project.hasProperty('onlyRaspbian')) {
- model {
- buildConfigs {
- roboRio(CrossBuildConfig) {
- architecture = 'athena'
- operatingSystem = 'linux'
- toolChainPrefix = 'arm-frc2019-linux-gnueabi-'
- compilerArgs = linuxCrossCompilerArgs
- CCompilerArgs = linuxCrossCCompilerArgs
- linkerArgs = linuxCrossLinkerArgs
- debugCompilerArgs = linuxCrossDebugCompilerArgs
- releaseCompilerArgs = linuxCrossReleaseCompilerArgs
- stripBuildTypes = ['debug', 'release']
- compilerFamily = 'Gcc'
- }
+model {
+ components {
+ all {
+ nativeUtils.useAllPlatforms(it)
}
}
-}
-
-if (!project.hasProperty('skipRaspbian') && !project.hasProperty('onlyAthena')) {
- model {
- buildConfigs {
- raspbian(CrossBuildConfig) {
- architecture = 'raspbian'
- operatingSystem = 'linux'
- toolChainPrefix = 'arm-raspbian9-linux-gnueabihf-'
- compilerArgs = linuxCrossCompilerArgs
- CCompilerArgs = linuxCrossCCompilerArgs
- linkerArgs = linuxCrossLinkerArgs
- debugCompilerArgs = linuxCrossDebugCompilerArgs
- releaseCompilerArgs = linuxCrossReleaseCompilerArgs
- stripBuildTypes = ['debug', 'release']
- compilerFamily = 'Gcc'
- }
+ binaries {
+ withType(NativeBinarySpec).all {
+ nativeUtils.usePlatformArguments(it)
}
}
}
-if (!project.hasProperty('onlyAthena') && !hasProperty('onlyRaspbian')) {
- model {
- buildConfigs {
- winX86(BuildConfig) {
- architecture = 'x86'
- operatingSystem = 'windows'
- compilerArgs = windowsCompilerArgs
- CCompilerArgs = windowsCCompilerArgs
- linkerArgs = windowsLinkerArgs
- releaseCompilerArgs = windowsReleaseCompilerArgs
- releaseLinkerArgs = windowsReleaseLinkerArgs
- debugCompilerArgs = windowsDebugCompilerArgs
- compilerFamily = 'VisualCpp'
- detectPlatform = windows32PlatformDetect
- }
- winX64(BuildConfig) {
- architecture = 'x86-64'
- operatingSystem = 'windows'
- compilerArgs = windowsCompilerArgs
- CCompilerArgs = windowsCCompilerArgs
- linkerArgs = windowsLinkerArgs
- releaseCompilerArgs = windowsReleaseCompilerArgs
- releaseLinkerArgs = windowsReleaseLinkerArgs
- debugCompilerArgs = windowsDebugCompilerArgs
- compilerFamily = 'VisualCpp'
- detectPlatform = windows64PlatformDetect
- }
- linuxX64(BuildConfig) {
- architecture = 'x86-64'
- operatingSystem = 'linux'
- compilerArgs = linuxCompilerArgs
- CCompilerArgs = linuxCCompilerArgs
- linkerArgs = linuxLinkerArgs
- debugCompilerArgs = linuxDebugCompilerArgs
- releaseCompilerArgs = linuxReleaseCompilerArgs
- stripBuildTypes = ['debug', 'release']
- compilerFamily = 'Gcc'
- detectPlatform = linux64IntelPlatformDetect
- }
- macX64(BuildConfig) {
- architecture = 'x86-64'
- operatingSystem = 'osx'
- compilerArgs = macCompilerArgs
- CCompilerArgs = macCCompilerArgs
- debugCompilerArgs = macDebugCompilerArgs
- releaseCompilerArgs = macReleaseCompilerArgs
- objCppCompilerArgs = macObjCLinkerArgs
- linkerArgs = macLinkerArgs
- compilerFamily = 'Clang'
- detectPlatform = mac64PlatformDetect
- }
- }
- }
-}
-
-if (project.hasProperty('linuxCross')) {
- model {
- buildConfigs {
- linuxArm(CrossBuildConfig) {
- architecture = 'nativearm'
- operatingSystem = 'linux'
- toolChainPrefix = 'PLEASE_PROVIDE_A_COMPILER_NAME'
- compilerArgs = linuxCompilerArgs
- CCompilerArgs = linuxCCompilerArgs
- linkerArgs = linuxLinkerArgs
- debugCompilerArgs = linuxDebugCompilerArgs
- releaseCompilerArgs = linuxReleaseCompilerArgs
- stripBuildTypes = ['debug', 'release']
- skipByDefault = true
- compilerFamily = 'Gcc'
- }
- }
- }
-} else {
- model {
- buildConfigs {
- linuxArm(BuildConfig) {
- architecture = 'nativearm'
- operatingSystem = 'linux'
- compilerArgs = linuxCompilerArgs
- CCompilerArgs = linuxCCompilerArgs
- linkerArgs = linuxLinkerArgs
- debugCompilerArgs = linuxDebugCompilerArgs
- releaseCompilerArgs = linuxReleaseCompilerArgs
- stripBuildTypes = ['debug', 'release']
- compilerFamily = 'Gcc'
- detectPlatform = linuxArmPlatformDetect
- }
- }
- }
-}
-
-ext.getPublishClassifier = { binary ->
- return NativeUtils.getPublishClassifier(binary)
-}
-
-ext.getPlatformPath = { binary ->
- return NativeUtils.getPlatformPath(binary)
-}
-
ext.appendDebugPathToBinaries = { binaries->
binaries.withType(StaticLibraryBinarySpec) {
if (it.buildType.name.contains('debug')) {
@@ -287,7 +75,7 @@
if (it in NativeLibrarySpec && stringNames.contains(it.name)) {
it.binaries.each {
if (!it.buildable) return
- def target = getPublishClassifier(it)
+ def target = nativeUtils.getPublishClassifier(it)
if (configMap.containsKey(target)) {
configMap.get(target).add(it)
} else {
@@ -325,71 +113,32 @@
return taskList
}
-ext.createAllCombined = { list, name, base, type, project ->
- def outputsFolder = file("$project.buildDir/outputs")
-
- def task = project.tasks.create(base + "-all", type) {
- description = "Creates component archive for all classifiers"
- destinationDir = outputsFolder
- classifier = "all"
- baseName = base
- duplicatesStrategy = 'exclude'
-
- list.each {
- if (it.name.endsWith('debug')) return
- from project.zipTree(it.archivePath)
- dependsOn it
- }
- }
-
- project.build.dependsOn task
-
- project.artifacts {
- task
- }
-
- return task
-
-}
-
ext.includeStandardZipFormat = { task, value ->
value.each { binary ->
if (binary.buildable) {
if (binary instanceof SharedLibraryBinarySpec) {
task.dependsOn binary.tasks.link
task.from(new File(binary.sharedLibraryFile.absolutePath + ".debug")) {
- into getPlatformPath(binary) + '/shared'
+ into nativeUtils.getPlatformPath(binary) + '/shared'
}
def sharedPath = binary.sharedLibraryFile.absolutePath
sharedPath = sharedPath.substring(0, sharedPath.length() - 4)
task.from(new File(sharedPath + '.pdb')) {
- into getPlatformPath(binary) + '/shared'
+ into nativeUtils.getPlatformPath(binary) + '/shared'
}
task.from(binary.sharedLibraryFile) {
- into getPlatformPath(binary) + '/shared'
+ into nativeUtils.getPlatformPath(binary) + '/shared'
}
task.from(binary.sharedLibraryLinkFile) {
- into getPlatformPath(binary) + '/shared'
+ into nativeUtils.getPlatformPath(binary) + '/shared'
}
} else if (binary instanceof StaticLibraryBinarySpec) {
task.dependsOn binary.tasks.createStaticLib
task.from(binary.staticLibraryFile) {
- into getPlatformPath(binary) + '/static'
+ into nativeUtils.getPlatformPath(binary) + '/static'
}
}
}
}
}
-
-ext.getCurrentArch = {
- def arch = System.getProperty('os.arch');
-
- if (arch.equals("x86") || arch.equals("i386")) {
- return 'x86'
- } else if (arch.equals("amd64") || arch.equals("x86_64")) {
- return 'x86-64'
- } else {
- return arch
- }
-}
diff --git a/shared/googletest.gradle b/shared/googletest.gradle
index 736d886..ab3b51f 100644
--- a/shared/googletest.gradle
+++ b/shared/googletest.gradle
@@ -1,13 +1,7 @@
model {
- dependencyConfigs {
- googletest(DependencyConfig) {
- groupId = 'edu.wpi.first.thirdparty.frc2019'
- artifactId = 'googletest'
- headerClassifier = 'headers'
- ext = 'zip'
- version = '1.8.0-4-4e4df22'
- sharedConfigs = [:]
- staticConfigs = project.staticGtestConfigs
+ binaries {
+ withType(GoogleTestTestSuiteBinarySpec).all {
+ nativeUtils.useRequiredLibrary(it, 'googletest_static')
}
}
}
diff --git a/shared/java/javacommon.gradle b/shared/java/javacommon.gradle
index 6595223..4ade369 100644
--- a/shared/java/javacommon.gradle
+++ b/shared/java/javacommon.gradle
@@ -1,13 +1,7 @@
apply plugin: 'maven-publish'
apply plugin: 'java'
//apply plugin: 'net.ltgt.errorprone'
-
-def pubVersion
-if (project.hasProperty("publishVersion")) {
- pubVersion = project.publishVersion
-} else {
- pubVersion = WPILibVersion.version
-}
+apply plugin: 'jacoco'
def baseArtifactId = project.baseId
def artifactGroupId = project.groupId
@@ -73,7 +67,7 @@
artifactId = "${baseArtifactId}-java"
groupId artifactGroupId
- version pubVersion
+ version wpilibVersioning.version.get()
}
}
}
@@ -85,9 +79,10 @@
events "failed"
exceptionFormat "full"
}
+ finalizedBy jacocoTestReport
}
-if (project.hasProperty('onlyAthena') || project.hasProperty('onlyRaspbian')) {
+if (project.hasProperty('onlylinuxathena') || project.hasProperty('onlylinuxraspbian') || project.hasProperty('onlylinuxaarch64bionic')) {
test.enabled = false
}
@@ -101,13 +96,13 @@
}
tasks.withType(JavaCompile).configureEach {
- options.compilerArgs = ['--release', '8']
+ options.compilerArgs = ['--release', '11']
}
dependencies {
- testImplementation 'org.junit.jupiter:junit-jupiter-api:5.2.0'
- testImplementation 'org.junit.jupiter:junit-jupiter-params:5.2.0'
- testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.2.0'
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.2'
+ testImplementation 'org.junit.jupiter:junit-jupiter-params:5.4.2'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.2'
devCompile sourceSets.main.output
@@ -122,3 +117,14 @@
}
build.dependsOn devClasses
+
+jacoco {
+ toolVersion = "0.8.4"
+}
+
+jacocoTestReport {
+ reports {
+ xml.enabled true
+ html.enabled true
+ }
+}
diff --git a/shared/java/javastyle.gradle b/shared/java/javastyle.gradle
index e091988..6e4e261 100644
--- a/shared/java/javastyle.gradle
+++ b/shared/java/javastyle.gradle
@@ -1,6 +1,5 @@
apply plugin: 'checkstyle'
-apply plugin: 'pmd'
checkstyle {
toolVersion = "8.12"
@@ -8,10 +7,14 @@
config = resources.text.fromFile(new File(configDir, "checkstyle.xml"))
}
-pmd {
- toolVersion = '6.7.0'
- consoleOutput = true
- reportsDir = file("$project.buildDir/reports/pmd")
- ruleSetFiles = files(new File(rootDir, "styleguide/pmd-ruleset.xml"))
- ruleSets = []
+if (!project.hasProperty('skipPMD')) {
+ apply plugin: 'pmd'
+
+ pmd {
+ toolVersion = '6.7.0'
+ consoleOutput = true
+ reportsDir = file("$project.buildDir/reports/pmd")
+ ruleSetFiles = files(new File(rootDir, "styleguide/pmd-ruleset.xml"))
+ ruleSets = []
+ }
}
diff --git a/shared/javacpp/publish.gradle b/shared/javacpp/publish.gradle
index 854a996..1dafcbb 100644
--- a/shared/javacpp/publish.gradle
+++ b/shared/javacpp/publish.gradle
@@ -1,12 +1,5 @@
apply plugin: 'maven-publish'
-def pubVersion
-if (project.hasProperty("publishVersion")) {
- pubVersion = project.publishVersion
-} else {
- pubVersion = WPILibVersion.version
-}
-
def outputsFolder = file("$buildDir/outputs")
def baseArtifactId = nativeName
@@ -65,7 +58,7 @@
artifactId = "${baseArtifactId}-cpp"
groupId artifactGroupId
- version pubVersion
+ version wpilibVersioning.version.get()
}
}
}
diff --git a/shared/javacpp/setupBuild.gradle b/shared/javacpp/setupBuild.gradle
index d2cdd1d..4e6dba7 100644
--- a/shared/javacpp/setupBuild.gradle
+++ b/shared/javacpp/setupBuild.gradle
@@ -103,11 +103,7 @@
}
binaries {
withType(GoogleTestTestSuiteBinarySpec) {
- if (!project.hasProperty('onlyAthena') && !project.hasProperty('onlyRaspbian')) {
- lib library: nativeName, linkage: 'shared'
- } else {
- it.buildable = false
- }
+ lib library: nativeName, linkage: 'shared'
}
}
tasks {
@@ -121,7 +117,7 @@
if (it in NativeExecutableSpec && it.name == "${nativeName}Dev") {
it.binaries.each {
if (!found) {
- def arch = it.targetPlatform.architecture.name
+ def arch = it.targetPlatform.name
if (arch == systemArch) {
dependsOn it.tasks.install
commandLine it.tasks.install.runScriptFile.get().asFile.toString()
diff --git a/shared/jni/publish.gradle b/shared/jni/publish.gradle
index a6a1abe..e50f87e 100644
--- a/shared/jni/publish.gradle
+++ b/shared/jni/publish.gradle
@@ -1,13 +1,6 @@
import java.security.MessageDigest
apply plugin: 'maven-publish'
-def pubVersion
-if (project.hasProperty("publishVersion")) {
- pubVersion = project.publishVersion
-} else {
- pubVersion = WPILibVersion.version
-}
-
def outputsFolder = file("$buildDir/outputs")
def baseArtifactId = nativeName
@@ -82,24 +75,19 @@
task.outputs.file(hashFile)
task.inputs.file(binary.sharedLibraryFile)
task.from(hashFile) {
- into getPlatformPath(binary)
+ into nativeUtils.getPlatformPath(binary)
}
task.doFirst {
hashFile.text = MessageDigest.getInstance("MD5").digest(binary.sharedLibraryFile.bytes).encodeHex().toString()
}
task.from(binary.sharedLibraryFile) {
- into getPlatformPath(binary)
+ into nativeUtils.getPlatformPath(binary)
}
}
}
}
})
- def allJniTask
- if (!project.hasProperty('jenkinsBuild')) {
- allJniTask = createAllCombined(jniTaskList, "${nativeName}JNI", jniBaseName, Jar, project)
- }
-
publications {
cpp(MavenPublication) {
taskList.each {
@@ -110,20 +98,16 @@
artifactId = "${baseArtifactId}-cpp"
groupId artifactGroupId
- version pubVersion
+ version wpilibVersioning.version.get()
}
jni(MavenPublication) {
jniTaskList.each {
artifact it
}
- if (!project.hasProperty('jenkinsBuild')) {
- artifact allJniTask
- }
-
artifactId = "${baseArtifactId}-jni"
groupId artifactGroupId
- version pubVersion
+ version wpilibVersioning.version.get()
}
}
}
diff --git a/shared/jni/setupBuild.gradle b/shared/jni/setupBuild.gradle
index a22a67d..35f4cf2 100644
--- a/shared/jni/setupBuild.gradle
+++ b/shared/jni/setupBuild.gradle
@@ -16,8 +16,10 @@
apply from: "${rootDir}/shared/java/javacommon.gradle"
dependencies {
- compile project(':wpiutil')
- devCompile project(':wpiutil')
+ if (!project.hasProperty('noWpiutil')) {
+ compile project(':wpiutil')
+ devCompile project(':wpiutil')
+ }
}
project(':').libraryBuild.dependsOn build
@@ -69,7 +71,9 @@
it.buildable = false
return
}
- lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ if (!project.hasProperty('noWpiutil')) {
+ lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ }
if (project.hasProperty('splitSetup')) {
splitSetup(it)
}
@@ -93,8 +97,10 @@
}
}
}
- binaries.all {
- lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ if (!project.hasProperty('noWpiutil')) {
+ binaries.all {
+ lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ }
}
appendDebugPathToBinaries(binaries)
}
@@ -104,10 +110,12 @@
} else {
baseName = nativeName + 'jni'
}
+
enableCheckTask true
javaCompileTasks << compileJava
- jniCrossCompileOptions << JniCrossCompileOptions('athena')
- jniCrossCompileOptions << JniCrossCompileOptions('raspbian')
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.roborio)
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.raspbian)
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.aarch64bionic)
sources {
cpp {
source {
@@ -130,7 +138,9 @@
return
}
lib library: "${nativeName}", linkage: 'shared'
- lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ if (!project.hasProperty('noWpiutil')) {
+ lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ }
if (project.hasProperty('jniSplitSetup')) {
jniSplitSetup(it)
}
@@ -142,10 +152,12 @@
} else {
baseName = nativeName + 'jni'
}
+
enableCheckTask true
javaCompileTasks << compileJava
- jniCrossCompileOptions << JniCrossCompileOptions('athena')
- jniCrossCompileOptions << JniCrossCompileOptions('raspbian')
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.roborio)
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.raspbian)
+ jniCrossCompileOptions << JniCrossCompileOptions(nativeUtils.wpi.platforms.aarch64bionic)
sources {
cpp {
source {
@@ -166,7 +178,9 @@
it.buildable = false
return
}
- lib project: ':wpiutil', library: 'wpiutil', linkage: 'static'
+ if (!project.hasProperty('noWpiutil')) {
+ lib project: ':wpiutil', library: 'wpiutil', linkage: 'static'
+ }
if (project.hasProperty('jniSplitSetup')) {
jniSplitSetup(it)
}
@@ -194,7 +208,9 @@
binaries.all {
lib library: nativeName, linkage: 'shared'
lib library: "${nativeName}JNIShared", linkage: 'shared'
- lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ if (!project.hasProperty('noWpiutil')) {
+ lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
+ }
}
}
}
@@ -224,11 +240,9 @@
}
binaries {
withType(GoogleTestTestSuiteBinarySpec) {
- if (!project.hasProperty('onlyAthena') && !project.hasProperty('onlyRaspbian')) {
- lib library: nativeName, linkage: 'shared'
+ lib library: nativeName, linkage: 'shared'
+ if (!project.hasProperty('noWpiutil')) {
lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
- } else {
- it.buildable = false
}
}
}
@@ -243,7 +257,7 @@
if (it in NativeExecutableSpec && it.name == "${nativeName}Dev") {
it.binaries.each {
if (!found) {
- def arch = it.targetPlatform.architecture.name
+ def arch = it.targetPlatform.name
if (arch == systemArch) {
dependsOn it.tasks.install
commandLine it.tasks.install.runScriptFile.get().asFile.toString()
diff --git a/shared/nilibraries.gradle b/shared/nilibraries.gradle
index 937abbf..efb9cfc 100644
--- a/shared/nilibraries.gradle
+++ b/shared/nilibraries.gradle
@@ -1,37 +1,10 @@
-def netCommLibConfigs = [:];
-def chipObjectConfigs = [:];
-
-project.chipObjectComponents.each { String s->
- chipObjectConfigs[s] = ['linux:athena']
-}
-
-project.netCommComponents.each { String s->
- netCommLibConfigs[s] = ['linux:athena']
-}
-
-def niLibrariesVersion = '2019.12.1'
-
-model {
- dependencyConfigs {
- chipobject(DependencyConfig) {
- groupId = 'edu.wpi.first.ni-libraries'
- artifactId = 'chipobject'
- headerClassifier = 'headers'
- ext = 'zip'
- version = niLibrariesVersion
- sharedConfigs = chipObjectConfigs
- staticConfigs = [:]
- compileOnlyShared = true
- }
- netcomm(DependencyConfig) {
- groupId = 'edu.wpi.first.ni-libraries'
- artifactId = 'netcomm'
- headerClassifier = 'headers'
- ext = 'zip'
- version = niLibrariesVersion
- sharedConfigs = netCommLibConfigs
- staticConfigs = [:]
- compileOnlyShared = true
- }
- }
-}
+model {
+ binaries {
+ all {
+ if (it.targetPlatform.name == nativeUtils.wpi.platforms.roborio) {
+ nativeUtils.useRequiredLibrary(it, 'netcomm_shared', 'chipobject_shared')
+ }
+
+ }
+ }
+}
diff --git a/shared/opencv.gradle b/shared/opencv.gradle
index ee9403c..7a1dd0f 100644
--- a/shared/opencv.gradle
+++ b/shared/opencv.gradle
@@ -1,17 +1,20 @@
-def opencvVersion = '3.4.4-4'
+def opencvVersion = '3.4.7-2'
if (project.hasProperty('useCpp') && project.useCpp) {
model {
- dependencyConfigs {
- opencv(DependencyConfig) {
- groupId = 'edu.wpi.first.thirdparty.frc2019.opencv'
- artifactId = 'opencv-cpp'
- headerClassifier = 'headers'
- ext = 'zip'
- version = opencvVersion
- sharedConfigs = project.sharedCvConfigs
- staticConfigs = project.staticCvConfigs
- linkExcludes = ['**/*java*']
+ binaries {
+ withType(NativeBinarySpec).all {
+ def binary = it
+ project.sharedCvConfigs.each {
+ if (binary.component.name == it.key) {
+ nativeUtils.useRequiredLibrary(binary, 'opencv_shared')
+ }
+ }
+ project.staticCvConfigs.each {
+ if (binary.component.name == it.key) {
+ nativeUtils.useRequiredLibrary(binary, 'opencv_static')
+ }
+ }
}
}
}
@@ -19,12 +22,12 @@
if (project.hasProperty('useJava') && project.useJava) {
dependencies {
- compile "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}"
+ compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}"
if (!project.hasProperty('skipDev') || !project.skipDev) {
- devCompile "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}"
+ devCompile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}"
}
if (project.hasProperty('useDocumentation') && project.useDocumentation) {
- javaSource "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}:sources"
+ javaSource "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}:sources"
}
}
}
diff --git a/shared/plugins/publish.gradle b/shared/plugins/publish.gradle
index a9ba538..6f318b7 100644
--- a/shared/plugins/publish.gradle
+++ b/shared/plugins/publish.gradle
@@ -1,12 +1,5 @@
apply plugin: 'maven-publish'
-def pubVersion = ''
-if (project.hasProperty("publishVersion")) {
- pubVersion = project.publishVersion
-} else {
- pubVersion = WPILibVersion.version
-}
-
def baseArtifactId = pluginName
def artifactGroupId = 'edu.wpi.first.halsim'
def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${pluginName}_CLS"
@@ -56,7 +49,7 @@
if (binary instanceof SharedLibraryBinarySpec) {
task.dependsOn binary.buildTask
task.from(binary.sharedLibraryFile) {
- into getPlatformPath(binary) + '/shared'
+ into nativeUtils.getPlatformPath(binary) + '/shared'
}
}
}
@@ -75,7 +68,7 @@
artifactId = baseArtifactId
groupId artifactGroupId
- version pubVersion
+ version wpilibVersioning.version.get()
}
}
}
diff --git a/shared/plugins/setupBuild.gradle b/shared/plugins/setupBuild.gradle
index ba4c6f0..4feb8a9 100644
--- a/shared/plugins/setupBuild.gradle
+++ b/shared/plugins/setupBuild.gradle
@@ -10,8 +10,8 @@
apply from: "${rootDir}/shared/nilibraries.gradle"
-if (!project.hasProperty('onlyAthena')) {
- ext.skipAthena = true
+if (!project.hasProperty('onlylinuxathena')) {
+ ext.skiplinuxathena = true
apply from: "${rootDir}/shared/config.gradle"
model {
@@ -57,7 +57,7 @@
}
}
binaries.all {
- if (!project.hasProperty('onlyAthena') && !project.hasProperty('onlyRaspbian')) {
+ if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian') && !project.hasProperty('onlylinuxaarch64bionic')) {
project(':hal').addHalDependency(it, 'shared')
lib library: pluginName
if (project.hasProperty('includeNtCore')) {
@@ -78,7 +78,7 @@
model {
tasks {
def c = $.components
- if (!project.hasProperty('onlyAthena') && !project.hasProperty('onlyRaspbian')) {
+ if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian') && !project.hasProperty('onlylinuxaarch64bionic')) {
project.tasks.create('runCpp', Exec) {
group = 'WPILib'
description = "Run the ${pluginName}Dev executable"
@@ -88,7 +88,7 @@
if (it in NativeExecutableSpec && it.name == "${pluginName}Dev") {
it.binaries.each {
if (!found) {
- def arch = it.targetPlatform.architecture.name
+ def arch = it.targetPlatform.name
if (arch == systemArch) {
dependsOn it.tasks.install
commandLine it.tasks.install.runScriptFile.get().asFile.toString()