Skip to content

Commit 64654f4

Browse files
committed
Machinery for managing GRADLE_USER_HOME inside the workspaces.
1 parent 7240180 commit 64654f4

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

cmake/rosjava.cmake.em

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
##############################################################################
44

55
set(CATKIN_GLOBAL_MAVEN_DESTINATION ${CATKIN_GLOBAL_SHARE_DESTINATION}/maven CACHE PATH "path to which maven artifacts are deployed in your workspace")
6+
set(CATKIN_GLOBAL_GRADLE_DESTINATION ${CATKIN_GLOBAL_SHARE_DESTINATION}/gradle CACHE PATH "path to which gradle configuration and artifacts are deployed in your workspace")
67

78
# Scans down directories till it finds the gradle wrapper.
89
# It sets the following variables
@@ -40,13 +41,29 @@ endmacro()
4041
# Sets environment variables that are used by gradle to customise a build.
4142
# This is better than modifying a gradle script - gradle should be able
4243
# to be called alone without cmake intervention.
44+
#
45+
# Actually, this will naturally be picked up by setup.bash->env-hooks after the
46+
# first build, but this does help it find variables if you're compiling the env-hooks
47+
# from rosjava_build_tools in the same 'make' build.
4348
macro(_rosjava_env)
44-
set(ROSJAVA_ENV $ENV{ROS_MAVEN_DEPLOYMENT_PATH})
45-
if(NOT ROSJAVA_ENV)
49+
set(ROSJAVA_MAVEN_DEPLOYMENT_PATH $ENV{ROS_MAVEN_DEPLOYMENT_PATH})
50+
if(NOT ROSJAVA_MAVEN_DEPLOYMENT_PATH)
4651
set(ROSJAVA_ENV "ROS_MAVEN_DEPLOYMENT_PATH=${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_MAVEN_DESTINATION}")
4752
else()
4853
set(ROSJAVA_ENV "ROS_MAVEN_DEPLOYMENT_PATH=${ROSJAVA_ENV}")
4954
endif()
55+
set(ROSJAVA_GRADLE_USER_HOME $ENV{GRADLE_USER_HOME})
56+
if(NOT ROSJAVA_GRADLE_USER_HOME)
57+
list(APPEND ROSJAVA_ENV "GRADLE_USER_HOME=${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_GRADLE_DESTINATION}")
58+
if(NOT IS_DIRECTORY ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_GRADLE_DESTINATION})
59+
file(MAKE_DIRECTORY ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_GRADLE_DESTINATION})
60+
endif()
61+
else()
62+
list(APPEND ROSJAVA_ENV "${ROSJAVA_ENV};GRADLE_USER_HOME=${ROSJAVA_GRADLE_USER_HOME}")
63+
if(NOT IS_DIRECTORY ${ROSJAVA_GRADLE_USER_HOME})
64+
file(MAKE_DIRECTORY ${ROSJAVA_GRADLE_USER_HOME})
65+
endif()
66+
endif()
5067
endmacro()
5168

5269
##############################################################################

env-hooks/15.rosjava.bash.em

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
@[if DEVELSPACE]@
44
export ROS_MAVEN_PATH=`python @(CMAKE_CURRENT_SOURCE_DIR)/generate_ros_maven_path.py`
55
export ROS_MAVEN_DEPLOYMENT_PATH=`python @(CMAKE_CURRENT_SOURCE_DIR)/generate_ros_maven_path.py --deployment-repository`
6+
mkdir -p @(CATKIN_DEVEL_PREFIX)/share/gradle
7+
export GRADLE_USER_HOME=@(CATKIN_DEVEL_PREFIX)/share/gradle
68
@[else]@
79
export ROS_MAVEN_PATH=`python @(CMAKE_INSTALL_PREFIX)/share/rosjava_build_tools/generate_ros_maven_path.py`
10+
export ROS_MAVEN_DEPLOYMENT_PATH=`python @(CMAKE_INSTALL_PREFIX)/share/rosjava_build_tools/generate_ros_maven_path.py --deployment-repository`
811
@[end if]@
912

1013

0 commit comments

Comments
 (0)