@@ -62,6 +62,7 @@ RUN rosdep update && rosdep keys --ignore-src --from-paths src \
62
62
| sort \
63
63
> /rosdep-core-depend-packages.txt \
64
64
&& cat /rosdep-core-depend-packages.txt
65
+
65
66
COPY src/universe/external /autoware/src/universe/external
66
67
COPY src/universe/autoware.universe/common /autoware/src/universe/autoware.universe/common
67
68
# TODO(youtalk): Remove COPYs when https://github.com/autowarefoundation/autoware.universe/issues/8695 is resolved
@@ -74,6 +75,17 @@ RUN rosdep keys --ignore-src --from-paths src \
74
75
| sort \
75
76
> /rosdep-universe-common-depend-packages.txt \
76
77
&& cat /rosdep-universe-common-depend-packages.txt
78
+
79
+ COPY src/universe/autoware.universe/perception /autoware/src/universe/autoware.universe/perception
80
+ COPY src/universe/autoware.universe/sensing /autoware/src/universe/autoware.universe/sensing
81
+ RUN rosdep keys --ignore-src --from-paths src \
82
+ | xargs rosdep resolve --rosdistro ${ROS_DISTRO} \
83
+ | grep -v '^#' \
84
+ | sed 's/ \+ /\n /g' \
85
+ | sort \
86
+ > /rosdep-universe-sensing-perception-depend-packages.txt \
87
+ && cat /rosdep-universe-sensing-perception-depend-packages.txt
88
+
77
89
COPY src/launcher /autoware/src/launcher
78
90
COPY src/param /autoware/src/param
79
91
COPY src/sensor_component /autoware/src/sensor_component
@@ -87,6 +99,7 @@ RUN rosdep keys --ignore-src --from-paths src \
87
99
| sort \
88
100
> /rosdep-universe-depend-packages.txt \
89
101
&& cat /rosdep-universe-depend-packages.txt
102
+
90
103
RUN rosdep keys --dependency-types=exec --ignore-src --from-paths src \
91
104
| xargs rosdep resolve --rosdistro ${ROS_DISTRO} \
92
105
| grep -v '^#' \
@@ -167,6 +180,37 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \
167
180
ENTRYPOINT ["/ros_entrypoint.sh" ]
168
181
CMD ["/bin/bash" ]
169
182
183
+ FROM universe-common-devel AS universe-sensing-perception-devel
184
+ SHELL ["/bin/bash" , "-o" , "pipefail" , "-c" ]
185
+ ARG ROS_DISTRO
186
+ ENV CCACHE_DIR="/root/.ccache"
187
+
188
+ # Install rosdep dependencies
189
+ COPY --from=rosdep-depend /rosdep-universe-sensing-perception-depend-packages.txt /tmp/rosdep-universe-sensing-perception-depend-packages.txt
190
+ # hadolint ignore=SC2002
191
+ RUN --mount=type=ssh \
192
+ apt-get update \
193
+ && cat /tmp/rosdep-universe-sensing-perception-depend-packages.txt | xargs apt-get install -y --no-install-recommends \
194
+ && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME" /.cache
195
+
196
+ # hadolint ignore=SC1091
197
+ RUN --mount=type=cache,target=${CCACHE_DIR} \
198
+ --mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/perception,target=/autoware/src/universe/autoware.universe/perception \
199
+ --mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/sensing,target=/autoware/src/universe/autoware.universe/sensing \
200
+ source /opt/ros/"$ROS_DISTRO" /setup.bash \
201
+ && source /opt/autoware/setup.bash \
202
+ && du -sh ${CCACHE_DIR} && ccache -s \
203
+ && colcon build --cmake-args \
204
+ " -Wno-dev" \
205
+ " --no-warn-unused-cli" \
206
+ --merge-install \
207
+ --install-base /opt/autoware \
208
+ --mixin release compile-commands ccache \
209
+ && du -sh ${CCACHE_DIR} && ccache -s \
210
+ && rm -rf /autoware/build
211
+
212
+ CMD ["/bin/bash" ]
213
+
170
214
FROM universe-common-devel AS universe-devel
171
215
SHELL ["/bin/bash" , "-o" , "pipefail" , "-c" ]
172
216
ARG ROS_DISTRO
@@ -180,6 +224,7 @@ RUN --mount=type=ssh \
180
224
&& cat /tmp/rosdep-universe-depend-packages.txt | xargs apt-get install -y --no-install-recommends \
181
225
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* "$HOME" /.cache
182
226
227
+ COPY --from=universe-sensing-perception-devel /opt/autoware /opt/autoware
183
228
# hadolint ignore=SC1091
184
229
RUN --mount=type=cache,target=${CCACHE_DIR} \
185
230
--mount=type=bind,from=rosdep-depend,source=/autoware/src/launcher,target=/autoware/src/launcher \
@@ -191,9 +236,7 @@ RUN --mount=type=cache,target=${CCACHE_DIR} \
191
236
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/launch,target=/autoware/src/universe/autoware.universe/launch \
192
237
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/localization,target=/autoware/src/universe/autoware.universe/localization \
193
238
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/map,target=/autoware/src/universe/autoware.universe/map \
194
- --mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/perception,target=/autoware/src/universe/autoware.universe/perception \
195
239
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/planning,target=/autoware/src/universe/autoware.universe/planning \
196
- --mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/sensing,target=/autoware/src/universe/autoware.universe/sensing \
197
240
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/simulator,target=/autoware/src/universe/autoware.universe/simulator \
198
241
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/system,target=/autoware/src/universe/autoware.universe/system \
199
242
--mount=type=bind,from=rosdep-depend,source=/autoware/src/universe/autoware.universe/tools,target=/autoware/src/universe/autoware.universe/tools \
0 commit comments