Skip to content

Commit

Permalink
[upstream_utils] Import argparse to wpiutil
Browse files Browse the repository at this point in the history
  • Loading branch information
rzblue committed Sep 12, 2024
1 parent 97c6c86 commit eaa935f
Show file tree
Hide file tree
Showing 5 changed files with 2,606 additions and 1 deletion.
39 changes: 39 additions & 0 deletions upstream_utils/argparse-lib.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env python3

import os
import shutil

from upstream_utils import Lib


def copy_upstream_src(wpilib_root):
wpiutil = os.path.join(wpilib_root, "wpiutil")

# Copy header into allwpilib
dest_filename = os.path.join(
wpiutil,
f"src/main/native/thirdparty/argparse/include/wpi/argparse.h",
)
shutil.copyfile("include/argparse/argparse.hpp", dest_filename)
# Rename namespace from argparse to wpi
with open(dest_filename) as f:
content = f.read()
content = content.replace("namespace argparse", "namespace wpi")
content = content.replace("argparse::", "wpi::")
content = content.replace("ARGPARSE_", "WPI_")
with open(dest_filename, "w") as f:
f.write(content)


def main():
name = "argparse"
url = "https://github.com/p-ranav/argparse"
# master on 2024-09-11
tag = "fd13c2859131ab463e617a5a8abcc69eb7e1d897"

expected = Lib(name, url, tag, copy_upstream_src)
expected.main()


if __name__ == "__main__":
main()
2 changes: 2 additions & 0 deletions wpiutil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ endif()
install(
DIRECTORY
src/main/native/include/
src/main/native/thirdparty/argparse/include/
src/main/native/thirdparty/concurrentqueue/include/
src/main/native/thirdparty/expected/include/
src/main/native/thirdparty/json/include/
Expand All @@ -199,6 +200,7 @@ target_include_directories(
wpiutil
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/argparse/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/concurrentqueue/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/expected/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/main/native/thirdparty/json/include>
Expand Down
5 changes: 4 additions & 1 deletion wpiutil/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ nativeUtils.exportsConfigs {
}

cppHeadersZip {
from('src/main/native/thirdparty/argparse/include/') {
into '/'
}
from('src/main/native/thirdparty/concurrentqueue/include') {
into '/'
}
Expand Down Expand Up @@ -238,7 +241,7 @@ model {
all {
it.sources.each {
it.exportedHeaders {
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/concurrentqueue/include', 'src/main/native/thirdparty/expected/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/memory/include', 'src/main/native/thirdparty/mpack/include', 'src/main/native/thirdparty/protobuf/include'
srcDirs 'src/main/native/include', 'src/main/native/thirdparty/argparse/include/', 'src/main/native/thirdparty/concurrentqueue/include', 'src/main/native/thirdparty/expected/include', 'src/main/native/thirdparty/fmtlib/include', 'src/main/native/thirdparty/llvm/include', 'src/main/native/thirdparty/sigslot/include', 'src/main/native/thirdparty/json/include', 'src/main/native/thirdparty/memory/include', 'src/main/native/thirdparty/mpack/include', 'src/main/native/thirdparty/protobuf/include'
}
}
}
Expand Down
Loading

0 comments on commit eaa935f

Please sign in to comment.