@@ -43,7 +43,8 @@ endmacro()
4343# CATKIN_ENV won't have any configuration, so we need some incoming here.
4444# Note that we check for the variable existence as well so we don't
4545# override a user setting.
46- macro (_rosjava_env)
46+ macro (catkin_rosjava_env_setup)
47+ set (ROS_GRADLE_VERBOSE $ENV{ROS_GRADLE_VERBOSE})
4748 set (ROS_MAVEN_DEPLOYMENT_REPOSITORY $ENV{ROS_MAVEN_DEPLOYMENT_REPOSITORY})
4849 set (ROS_MAVEN_REPOSITORY $ENV{ROS_MAVEN_REPOSITORY})
4950 if (NOT ROS_MAVEN_DEPLOYMENT_REPOSITORY)
@@ -68,34 +69,49 @@ endmacro()
6869# Calls the gradle wrapper to compile just the package
6970# that it is called in with install and installApp targets.
7071macro (catkin_rosjava_setup)
71- _rosjava_env ()
72+ catkin_rosjava_env_setup ()
7273 find_gradle ()
7374 if ( ${ARGC} EQUAL 0 )
74- # Note : COMMAND is a list of variables (semi-colon separated)
75- set (gradle_tasks " uploadArchives" ) # old targets "install;installApp;uploadArchives"
75+ return () # Nothing to do (typically no subprojects created yet)
7676 else ()
7777 set (gradle_tasks ${ARGV})
7878 endif ()
79- add_custom_target (gradle- ${PROJECT_NAME}
80- ALL
81- COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} " env" " |" " grep" " ROS"
82- COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} ${gradle_tasks}
79+ if (ROS_GRADLE_VERBOSE)
80+ set (gradle_options " " )
81+ else ()
82+ set (gradle_options " -q" )
83+ endif ()
84+ # ##################################
85+ # Execution
86+ # ##################################
87+ add_custom_target (gradle- ${PROJECT_NAME} ALL
88+ # COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} "env" "|" "grep" "ROS"
89+ COMMAND ${ROSJAVA_ENV} ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} ${gradle_options} ${gradle_tasks}
8390 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
8491 VERBATIM
92+ COMMENT " Gradling tasks for ${PROJECT_NAME}"
8593 )
94+ # ##################################
95+ # Target Management
96+ # ##################################
8697 catkin_package_xml ()
87- foreach (depends in ${${PROJECT_NAME}_BUILD_DEPENDS})
98+ foreach (depends ${${PROJECT_NAME}_BUILD_DEPENDS})
8899 if (TARGET gradle- ${depends})
89- # message(STATUS "Adding dependency gradle-${depends}")
100+ # message(STATUS "Adding dependency.....gradle-${PROJECT_NAME} <- gradle-${depends}")
90101 add_dependencies (gradle- ${PROJECT_NAME} gradle- ${depends})
91102 endif ()
103+ if (TARGET ${depends}_generate_messages)
104+ # message(STATUS "Adding dependency.....gradle-${PROJECT_NAME} <- ${depends}_generate_messages")
105+ add_dependencies (gradle- ${PROJECT_NAME} ${depends}_generate_messages)
106+ endif ()
92107 endforeach ()
93108 if (NOT TARGET gradle- clean)
94109 add_custom_target (gradle- clean)
95110 endif ()
96111 add_custom_target (gradle- clean- ${PROJECT_NAME}
97112 COMMAND ${CATKIN_ENV} ${${PROJECT_NAME}_gradle_BINARY} clean
98113 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
114+ COMMENT " Cleaning gradle project for ${PROJECT_NAME}"
99115 )
100116 add_dependencies (gradle- clean gradle- clean- ${PROJECT_NAME})
101117endmacro ()
@@ -107,14 +123,10 @@ endmacro()
107123# It checks the build type and determines whether it should run
108124# assembleDebug or assembleRelease
109125macro (catkin_android_setup)
110- _rosjava_env ()
126+ catkin_rosjava_env_setup ()
111127 find_gradle ()
112128 if ( ${ARGC} EQUAL 0 )
113- if (CMAKE_BUILD_TYPE STREQUAL " Release" )
114- set (gradle_tasks " assembleRelase" )
115- else ()
116- set (gradle_tasks " assembleDebug" )
117- endif ()
129+ return () # Nothing to do (typically no subprojects created yet)
118130 else ()
119131 set (gradle_tasks ${ARGV})
120132 endif ()
0 commit comments