Skip to content

Commit b45fb9d

Browse files
authored
Merge pull request #45 from LibrePCB/add-devtools
Add devtools image
2 parents 3b0b733 + a33dc14 commit b45fb9d

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ An image providing all the web tools we need for
8181
* [Asciidoctor](https://asciidoctor.org/)
8282
* [Hugo](https://gohugo.io)
8383

84+
### `devtools`
85+
86+
An image used by the `dev/format_code.sh` script in the LibrePCB repository,
87+
providing various tools to format code. In addition, it is used on CI to
88+
check the coding style. Generally you never need to use this image directly.
89+
8490

8591
## Updating Images
8692

devtools/Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
FROM ubuntu:23.10
2+
3+
# Install APT packages
4+
RUN apt-get -q update \
5+
&& apt-get -qy install \
6+
# Documentation tools: Doxygen, Graphviz, qhelpgenerator
7+
doxygen \
8+
graphviz \
9+
qt6-documentation-tools \
10+
# Formatting tools: clang-format, qmlformat, xmlsort
11+
clang-format-15 \
12+
libxml-filter-sort-perl \
13+
qt6-declarative-dev-tools \
14+
# Stylecheck tools: git
15+
git \
16+
# Python for custom formatting scripts, flake8 etc.
17+
python3 \
18+
python3-pip \
19+
# Tools used on CI
20+
curl \
21+
file \
22+
openssl \
23+
&& apt-get clean
24+
25+
# Configure default clang-format
26+
RUN update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-15 50
27+
28+
# Put qhelpgenerator in PATH
29+
RUN ln -s /usr/lib/qt6/libexec/qhelpgenerator /usr/local/bin/qhelpgenerator
30+
31+
# Install Python packages
32+
ENV PIP_BREAK_SYSTEM_PACKAGES=1
33+
RUN pip3 install \
34+
cmakelang==0.6.13 \
35+
flake8==7.0.0 \
36+
reuse==3.0.2

0 commit comments

Comments
 (0)