Repositories
WPILib provides two primary repositories:Release Repository
Development Repository
Artifact Types
WPILib provides two base types of artifacts: Java artifacts and native (C++) artifacts.Java Artifacts
Java artifacts are usually published asjar files:
- Base artifact: No classifier - contains the compiled Java classes
- Sources:
-sourcesclassifier - contains the source code - Javadocs:
-javadocclassifier - contains the generated Javadoc
-java extension.
Example:
Native (C++) Artifacts
Native artifacts are usually published aszip files:
- Sources:
-sourcesclassifier - contains the source code - Headers:
-headersclassifier - contains the header files - Platform binaries: Platform-specific classifier (e.g.,
windowsx86-64) - contains binaries for that platform
Platform Classifiers
Platform classifiers use the format{os}{arch} with optional suffixes:
- Static libraries: Append
staticto the classifier - Debug builds: Append
debugto the classifier
windowsx86-64- Windows x86-64 shared library (release)windowsx86-64static- Windows x86-64 static library (release)windowsx86-64staticdebug- Windows x86-64 static library (debug)linuxx86-64- Linux x86-64 shared libraryosxuniversal- macOS universal binary
Platform binary artifacts never contain headers. You always need the
-headers classifier to get those.-cpp extension.
Examples:
JNI Components
If a library has both Java and C++ components with JNI, the native artifact will have a shared library containing JNI entrypoints alongside the C++ shared library. This JNI shared library will have ajni suffix in the file name.
Provided Artifacts
All artifacts are based atedu.wpi.first.artifactname in the repository.
Core Libraries
wpiutil
wpimath
- wpiutil
wpinet
- wpiutil
wpiunits
Networking
ntcore
- wpiutil
- wpinet
Hardware Abstraction
hal
- wpiutil
Vision
cscore
- opencv
- wpinet
- wpiutil
cameraserver
- ntcore
- cscore
- opencv
- wpinet
- wpiutil
apriltag
- wpiutil
- wpimath
Robot Libraries
wpilibj (Java)
- hal
- cameraserver
- ntcore
- cscore
- wpinet
- wpiutil
wpilibc (C++)
- hal
- cameraserver
- ntcore
- cscore
- wpimath
- wpinet
- wpiutil
wpilibNewCommands
- wpilibc (C++) or wpilibj (Java)
- hal
- cameraserver
- ntcore
- cscore
- wpimath
- wpinet
- wpiutil
GUI Libraries
wpigui
- imgui
glass/libglass
- wpiutil
- wpimath
- wpigui
glass/libglassnt
- wpiutil
- wpinet
- ntcore
- wpimath
- wpigui
halsim
- wpiutil
- wpinet
- ntcore
- wpimath
- wpigui
- libglass
- libglassnt
Third Party Artifacts
WPILib provides builds of the following third-party software. All third-party artifacts are based atedu.wpi.first.thirdparty.frcYEAR in the repository.
- apriltaglib - AprilTag detection library
- googletest - Google Test framework
- imgui - Dear ImGui graphical interface library
- opencv - OpenCV computer vision library
- libssh - SSH library