@@ -6,15 +6,16 @@ set(GENJAVA_BIN_DIR "@(CMAKE_CURRENT_SOURCE_DIR)/scripts")
66set (GENJAVA_BIN_DIR " ${GENJAVA_DIR}/../../../@(CATKIN_PACKAGE_BIN_DESTINATION)" )
77@ [end if ]@
88
9- set (GENMSG_JAVA_BIN ${GENJAVA_BIN_DIR}/ genmsg_java .py )
10- set (GENSRV_JAVA_BIN ${GENJAVA_BIN_DIR}/ gensrv_java .py )
9+ set (GENJAVA_BIN ${GENJAVA_BIN_DIR}/ genjava_gradle_project .py )
10+ # set(GENMSG_JAVA_BIN ${GENJAVA_BIN_DIR}/genmsg_java.py)
11+ # set(GENSRV_JAVA_BIN ${GENJAVA_BIN_DIR}/gensrv_java.py)
1112
1213# genmsg usually uses this variable to configure the install location. we typically pick
1314# it up from the environment configured by rosjava_build_tools.
14- # set(genjava_INSTALL_DIR "maven/org/ros/rosjava_messages")
15+ set (genjava_INSTALL_DIR " maven/org/ros/rosjava_messages" )
1516set (ROS_MAVEN_DEPLOYMENT_REPOSITORY $ENV{ROS_MAVEN_DEPLOYMENT_REPOSITORY})
1617if (NOT ROS_MAVEN_DEPLOYMENT_REPOSITORY)
17- set (ROS_MAVEN_DEPLOYMENT_REPOSITORY " ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_MAVEN_DESTINATION}" )
18+ set (ROS_MAVEN_DEPLOYMENT_REPOSITORY " ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_MAVEN_DESTINATION}" )
1819endif ()
1920
2021# Generate .msg->.h for py
@@ -29,95 +30,88 @@ endif()
2930# ARG_GEN_OUTPUT_DIR : /mnt/zaphod/ros/rosjava/hydro/devel/${genjava_INSTALL_DIR}/foo_msgs
3031macro (_generate_msg_java ARG_PKG ARG_MSG ARG_IFLAGS ARG_MSG_DEPS ARG_GEN_OUTPUT_DIR)
3132
32- message (STATUS " GEN_MSG_JAVA..........._generate_msg_java" )
33- message (STATUS " ARG_PKG..............${ARG_PKG}" )
34- message (STATUS " ARG_MSG..............${ARG_MSG}" )
35- message (STATUS " ARG_IFLAGS...........${ARG_IFLAGS}" )
36- message (STATUS " ARG_MSG_DEPS.........${ARG_MSG_DEPS}" )
37- message (STATUS " ARG_GEN_OUTPUT_DIR...${ARG_GEN_OUTPUT_DIR}" )
38- message (STATUS " GEN_MSG_JAVA...........done" )
39- message (STATUS " CMAKE_CURRENT_BINARY_DIR.......${CMAKE_CURRENT_BINARY_DIR}" )
40-
41- # Append msg to output dir
42- # set(GEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
43- # file(MAKE_DIRECTORY ${GEN_OUTPUT_DIR})
44- # Create input and output filenames
45- get_filename_component (MSG_SHORT_NAME ${ARG_MSG} NAME_WE)
46-
47- file (REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/ gradle)
48-
49- # set(MSG_GENERATED_NAME ${MSG_SHORT_NAME}.java)
50- # set(GEN_OUTPUT_FILE ${GEN_OUTPUT_DIR}/${MSG_GENERATED_NAME})
51- # message(STATUS "GEN_OUTPUT_FILE..........${GEN_OUTPUT_FILE}")
52- # add_custom_command(OUTPUT ${GEN_OUTPUT_FILE}
53- # DEPENDS ${GENMSG_JAVA_BIN} ${ARG_MSG} ${ARG_MSG_DEPS}
54- # COMMAND ${CATKIN_ENV} cmake
55- # -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}
56- # -m ${ARG_MSG}
57- # ${ARG_IFLAGS}
58- # -p ${ARG_PKG}
59- # -o ${GEN_OUTPUT_DIR}
60- # COMMENT "Generating Java code from MSG ${ARG_PKG}/${MSG_SHORT_NAME}"
61- # )
62-
63- # list(APPEND ALL_GEN_OUTPUT_FILES_java ${GEN_OUTPUT_FILE})
64-
33+ message (STATUS " GEN_MSG_JAVA..........._generate_msg_java [${ARG_PKG}][${ARG_MSG}]" )
34+ # message(STATUS " ARG_IFLAGS...........${ARG_IFLAGS}")
35+ # message(STATUS " ARG_MSG_DEPS.........${ARG_MSG_DEPS}")
36+ # message(STATUS " ARG_GEN_OUTPUT_DIR...${ARG_GEN_OUTPUT_DIR}")
37+ # message(STATUS "GEN_MSG_JAVA...........done")
38+ # message(STATUS "CMAKE_CURRENT_BINARY_DIR.......${CMAKE_CURRENT_BINARY_DIR}")
39+
40+ # Append msg to output dir
41+ # set(GEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
42+ # file(MAKE_DIRECTORY ${GEN_OUTPUT_DIR})
43+ # Create input and output filenames
44+ get_filename_component (MSG_SHORT_NAME ${ARG_MSG} NAME_WE)
45+
46+ # file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/gradle)
47+
48+ # set(MSG_GENERATED_NAME ${MSG_SHORT_NAME}.java)
49+ # set(GEN_OUTPUT_FILE ${GEN_OUTPUT_DIR}/${MSG_GENERATED_NAME})
50+ # message(STATUS "GEN_OUTPUT_FILE..........${GEN_OUTPUT_FILE}")
51+ # add_custom_command(OUTPUT ${GEN_OUTPUT_FILE}
52+ # DEPENDS ${GENMSG_JAVA_BIN} ${ARG_MSG} ${ARG_MSG_DEPS}
53+ # COMMAND ${CATKIN_ENV} cmake
54+ # -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}
55+ # -m ${ARG_MSG}
56+ # ${ARG_IFLAGS}
57+ # -p ${ARG_PKG}
58+ # -o ${GEN_OUTPUT_DIR}
59+ # COMMENT "Generating Java code from MSG ${ARG_PKG}/${MSG_SHORT_NAME}"
60+ # )
61+
62+ # list(APPEND ALL_GEN_OUTPUT_FILES_java ${GEN_OUTPUT_FILE})
63+ # set(GEN_OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/java/org/ros/rosjava_messages/${ARG_PKG}/${MSG_SHORT_NAME}.java")
64+ # list(APPEND ALL_GEN_OUTPUT_FILES_java ${GEN_OUTPUT_FILE})
6565endmacro ()
6666
6767# todo, these macros are practically equal. Check for input file extension instead
6868macro (_generate_srv_java ARG_PKG ARG_SRV ARG_IFLAGS ARG_MSG_DEPS ARG_GEN_OUTPUT_DIR)
6969
70- message (STATUS " GEN_SRV_JAVA..........._generate_srv_java" )
71- # Append msg to output dir
72- # set(GEN_OUTPUT_DIR "${ARG_GEN_OUTPUT_DIR}/srv")
73- # file(MAKE_DIRECTORY ${GEN_OUTPUT_DIR})
74- #
75- # Create input and output filenames
76- # get_filename_component(SRV_SHORT_NAME ${ARG_SRV} NAME_WE)
77- #
78- # set(SRV_GENERATED_NAME _${SRV_SHORT_NAME}.py)
79- # set(GEN_OUTPUT_FILE ${GEN_OUTPUT_DIR}/${SRV_GENERATED_NAME})
80- #
81- # add_custom_command(OUTPUT ${GEN_OUTPUT_FILE}
82- # DEPENDS ${GENSRV_PY_BIN} ${ARG_SRV} ${ARG_MSG_DEPS}
83- # COMMAND ${CATKIN_ENV} ${PYTHON_EXECUTABLE} ${GENSRV_PY_BIN} ${ARG_SRV}
84- # ${ARG_IFLAGS}
85- # -p ${ARG_PKG}
86- # -o ${GEN_OUTPUT_DIR}
87- # COMMENT "Generating Python code from SRV ${ARG_PKG}/${SRV_SHORT_NAME}"
88- # )
89- #
90- # list(APPEND ALL_GEN_OUTPUT_FILES_py ${GEN_OUTPUT_FILE})
91-
70+ message (STATUS " GEN_SRV_JAVA..........._generate_srv_java [${ARG_PKG}][${ARG_SRV}]" )
71+ # Append msg to output dir
72+ # set(GEN_OUTPUT_DIR "${ARG_GEN_OUTPUT_DIR}/srv")
73+ # file(MAKE_DIRECTORY ${GEN_OUTPUT_DIR})
74+ #
75+ # Create input and output filenames
76+ # get_filename_component(SRV_SHORT_NAME ${ARG_SRV} NAME_WE)
77+ #
78+ # set(SRV_GENERATED_NAME _${SRV_SHORT_NAME}.py)
79+ # set(GEN_OUTPUT_FILE ${GEN_OUTPUT_DIR}/${SRV_GENERATED_NAME})
80+ #
81+ # add_custom_command(OUTPUT ${GEN_OUTPUT_FILE}
82+ # DEPENDS ${GENSRV_PY_BIN} ${ARG_SRV} ${ARG_MSG_DEPS}
83+ # COMMAND ${CATKIN_ENV} ${PYTHON_EXECUTABLE} ${GENSRV_PY_BIN} ${ARG_SRV}
84+ # ${ARG_IFLAGS}
85+ # -p ${ARG_PKG}
86+ # -o ${GEN_OUTPUT_DIR}
87+ # COMMENT "Generating Python code from SRV ${ARG_PKG}/${SRV_SHORT_NAME}"
88+ # )
89+ #
90+ # list(APPEND ALL_GEN_OUTPUT_FILES_java ${GEN_OUTPUT_FILE})
9291endmacro ()
9392
9493macro (_generate_module_java ARG_PKG ARG_GEN_OUTPUT_DIR ARG_GENERATED_FILES)
9594
96- message (STATUS " GEN_MODULE_JAVA..........._generate_module_java" )
97- # generate empty __init__ to make parent folder of msg/srv a python module
98- if (NOT EXISTS ${ARG_GEN_OUTPUT_DIR}/ __init__ .py )
99- file (WRITE ${ARG_GEN_OUTPUT_DIR}/ __init__ .py " " )
100- endif ()
101-
102- # Append msg to output dir
103- foreach (type " msg" " srv" )
104- set (GEN_OUTPUT_DIR " ${ARG_GEN_OUTPUT_DIR}/${type}" )
105- set (GEN_OUTPUT_FILE ${GEN_OUTPUT_DIR}/ __init__ .py )
106-
107- if (IS_DIRECTORY ${GEN_OUTPUT_DIR})
108- add_custom_command (OUTPUT ${GEN_OUTPUT_FILE}
109- DEPENDS ${GENMSG_PY_BIN} ${ARG_GENERATED_FILES}
110- COMMAND ${CATKIN_ENV} ${PYTHON_EXECUTABLE} ${GENMSG_PY_BIN}
111- - o ${GEN_OUTPUT_DIR}
112- -- initpy
113- COMMENT " Generating Python ${type} __init__.py for ${ARG_PKG}" )
114- list (APPEND ALL_GEN_OUTPUT_FILES_py ${GEN_OUTPUT_FILE})
115- endif ()
116-
117- endforeach ()
118-
95+ message (STATUS " GEN_MODULE_JAVA..........._generate_module_java" )
96+ message (STATUS " ARG_PKG.................${ARG_PKG}" )
97+ message (STATUS " ARG_GEN_OUTPUT_DIR......${ARG_GEN_OUTPUT_DIR}" )
98+ message (STATUS " ARG_GENERATED_FILES.....${ARG_GENERATED_FILES}" )
99+
100+ set (GEN_OUTPUT_DIR " ${CMAKE_CURRENT_BINARY_DIR}/java" )
101+ set (GEN_OUTPUT_FILE " ${CMAKE_CURRENT_BINARY_DIR}/java/build.gradle" )
102+
103+ message (STATUS " GEN_OUTPUT_FILE.........${GEN_OUTPUT_FILE}" )
104+ message (STATUS " GENJAVA_BIN.............${GENJAVA_BIN}" )
105+ file (MAKE_DIRECTORY ${GEN_OUTPUT_DIR})
106+ # if(IS_DIRECTORY ${GEN_OUTPUT_DIR})
107+ list (APPEND ALL_GEN_OUTPUT_FILES_java ${GEN_OUTPUT_FILE})
108+ add_custom_command (OUTPUT ${GEN_OUTPUT_FILE} # ${ARG_GENERATED_FILES}
109+ DEPENDS ${GENJAVA_BIN} # ${ARG_GENERATED_FILES}
110+ COMMAND ${CATKIN_ENV} ${PYTHON_EXECUTABLE} ${GENJAVA_BIN}
111+ - o ${GEN_OUTPUT_DIR}
112+ - p ${ARG_PKG}
113+ COMMENT " Generating java gradle project for compiling ${ARG_PKG}"
114+ )
115+ # list(APPEND ALL_GEN_OUTPUT_FILES_py ${GEN_OUTPUT_FILE})
119116endmacro ()
120117
121- if (NOT EXISTS @ (PROJECT_NAME)_SOURCE_DIR)
122- set (GENJAVA_INSTALL_DIR ${PYTHON_INSTALL_DIR})
123- endif ()
0 commit comments