Skip to content

Commit 5ee9846

Browse files
authored
Merge branch 'main' into easee-dev
Signed-off-by: Alexander Friese <alexf2015@users.noreply.github.com>
2 parents f1af66f + 80c27c3 commit 5ee9846

2,074 files changed

Lines changed: 108258 additions & 43646 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/markdownlint.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# From: https://github.com/openhab/openhab-docs/blob/main/.github/.markdownlint.yaml
2+
3+
default: true
4+
5+
# Expect dash usage for unordered lists
6+
MD004:
7+
style: dash
8+
9+
# Allow long line lengths
10+
MD013: false
11+
12+
# Allow duplicate headers for different nesting
13+
MD024:
14+
siblings_only: true
15+
16+
# Allow Multiple top level headers in the same document
17+
MD025: false
18+
19+
# Allow trailing punctuation in headers
20+
MD026: false
21+
MD029:
22+
style: one
23+
24+
# Allow inline HTML
25+
MD033: false
26+
27+
# Code block style
28+
MD046:
29+
style: fenced
30+
31+
# Emphasis in underscore
32+
MD049:
33+
style: underscore
34+
35+
# Strong in asterisk
36+
MD050:
37+
style: asterisk
38+
39+
MD060: false

.github/scripts/maven-build

Lines changed: 54 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,58 @@ function print_reactor_summary() {
1414
cat "$BUILD_LOG" | sed -n "${start},${end}p" | sed 's/\[INFO\] //'
1515
}
1616

17+
gha_escape() {
18+
sed -e 's/%/%25/g' -e 's/\r/%0D/g' -e 's/\n/%0A/g'
19+
}
20+
21+
emit_markdownlint_annotations() {
22+
[[ -f "$BUILD_LOG" ]] || return 0
23+
24+
while IFS= read -r l; do
25+
file=$(echo "$l" | sed -E 's/^([^:]+\.md):.*/\1/')
26+
line=$(echo "$l" | sed -E 's/^[^:]+\.md:([0-9]+).*/\1/')
27+
28+
# Repair path so GitHub can link it (repo-root relative)
29+
if [[ ! -f "$file" ]]; then
30+
if [[ -f "bundles/$file" ]]; then
31+
file="bundles/$file"
32+
elif [[ -f "itests/$file" ]]; then
33+
file="itests/$file"
34+
fi
35+
fi
36+
37+
if echo "$l" | grep -qE '^[^:]+\.md:[0-9]+:[0-9]+ error MD'; then
38+
col=$(echo "$l" | sed -E 's/^[^:]+\.md:[0-9]+:([0-9]+) error .*/\1/')
39+
rule=$(echo "$l" | sed -E 's/^[^:]+\.md:[0-9]+:[0-9]+ error (MD[^ ]+) .*/\1/')
40+
rest=$(echo "$l" | sed -E 's/^[^:]+\.md:[0-9]+:[0-9]+ error MD[^ ]+ (.*)$/\1/')
41+
rest_esc=$(printf '%s' "$rest" | gha_escape)
42+
echo "::error file=$file,line=$line,col=$col,title=$rule::$rest_esc"
43+
else
44+
rule=$(echo "$l" | sed -E 's/^[^:]+\.md:[0-9]+ error (MD[^ ]+) .*/\1/')
45+
rest=$(echo "$l" | sed -E 's/^[^:]+\.md:[0-9]+ error MD[^ ]+ (.*)$/\1/')
46+
rest_esc=$(printf '%s' "$rest" | gha_escape)
47+
echo "::error file=$file,line=$line,title=$rule::$rest_esc"
48+
fi
49+
done < <(
50+
grep -aE '\[INFO\] .*\.md:[0-9]+(:[0-9]+)? error MD' "$BUILD_LOG" \
51+
| sed -E 's/^.*\[INFO\] //'
52+
)
53+
}
54+
1755
function mvnp() {
18-
set -o pipefail # exit build with error when pipes fail
19-
local reactor_size=$(find -name "pom.xml" | grep -vE '/src/|/target/' | wc -l)
20-
local padding=$(bc -l <<< "scale=0;2*(l($reactor_size)/l(10)+1)")
21-
local command=(./mvnw $@)
22-
exec "${command[@]}" 2>&1 | # execute, redirect stderr to stdout
23-
tee "$BUILD_LOG" | # write output to log
24-
stdbuf -oL grep -aE '^\[INFO\] Building .+ \[.+\]$' | # filter progress
25-
stdbuf -o0 sed -uE 's/^\[INFO\] Building (.*[^ ])[ ]+\[([0-9]+\/[0-9]+)\]$/\2| \1/' | # prefix project name with progress
26-
stdbuf -o0 sed -e :a -e "s/^.\{1,${padding}\}|/ &/;ta" # right align progress with padding
56+
set -o pipefail # exit build with error when pipes fail
57+
local reactor_size=$(find -name "pom.xml" | grep -vE '/src/|/target/' | wc -l)
58+
local padding=$(bc -l <<< "scale=0;2*(l($reactor_size)/l(10)+1)")
59+
local command=(bash ./mvnw "$@")
60+
61+
"${command[@]}" 2>&1 | # execute, redirect stderr to stdout
62+
tee "$BUILD_LOG" | # write output to log
63+
stdbuf -oL grep -aE '^\[INFO\] Building .+ \[.+\]$' | # filter progress
64+
stdbuf -o0 sed -uE 's/^\[INFO\] Building (.*[^ ])[ ]+\[([0-9]+\/[0-9]+)\]$/\2| \1/' | # prefix project name with progress
65+
stdbuf -o0 sed -e :a -e "s/^.\{1,${padding}\}|/ &/;ta" # right align progress with padding
66+
67+
# Exit code of Maven is the first command in the pipeline
68+
return "${PIPESTATUS[0]}"
2769
}
2870

2971
function build_all() {
@@ -38,6 +80,8 @@ function build_all() {
3880
status=$?
3981
echo
4082

83+
emit_markdownlint_annotations
84+
4185
if [ $status -eq 0 ]; then
4286
print_reactor_summary
4387
else
@@ -104,5 +148,5 @@ function build_based_on_changes() {
104148
fi
105149
}
106150

107-
./mvnw -v
151+
bash ./mvnw -v
108152
build_based_on_changes

.github/workflows/ci-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767

6868
- name: Build
6969
id: build
70-
run: './.github/scripts/maven-build'
70+
run: bash './.github/scripts/maven-build'
7171
env:
7272
CHANGED_FILES: ${{ steps.files.outputs.all }}
7373
MAVEN_OPTS: >-
@@ -78,14 +78,14 @@ jobs:
7878
7979
- name: Upload Build Log
8080
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
81-
uses: actions/upload-artifact@v6
81+
uses: actions/upload-artifact@v7
8282
with:
8383
name: build-log-java-${{ matrix.java }}-${{ matrix.os }}
8484
path: build.log
8585

8686
- name: Upload SAT Summary Report
8787
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
88-
uses: actions/upload-artifact@v6
88+
uses: actions/upload-artifact@v7
8989
with:
9090
name: sat-summary-report
9191
path: target/summary_report.html

.mvn/wrapper/maven-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
# under the License.
1717
wrapperVersion=3.3.2
1818
distributionType=only-script
19-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip
20-
distributionSha256Sum=305773a68d6ddfd413df58c82b3f8050e89778e777f3a745c8e5b8cbea4018ef
19+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.13/apache-maven-3.9.13-bin.zip
20+
distributionSha512Sum=43f82fc40a65079528c0037856c95b8aa04bd74c9851b01225c61c5debeb5e3b7d2acd1266979b4ea359887dfc26f176932b5f10eb47d684add97d262a821592

AGENTS.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ repo root folder
3434
#### Comments and Documentation
3535
- Add meaningful code comments where helpful
3636
- Avoid obvious comments (e.g., `// constructor`)
37-
- Use JavaDoc for API/class/method documentation
37+
- Use Javadoc for API/class/method documentation
3838
- Follow guidelines at: https://www.openhab.org/docs/developer/guidelines.html
39+
- Follow checklist at: https://github.com/openhab/openhab-addons/wiki/Review-Checklist
3940

4041
#### Import Organization
4142
- Sort imports alphabetically
@@ -70,6 +71,10 @@ When upgrading Maven dependencies:
7071
- Reference documentation: https://bnd.bndtools.org/chapters/825-instructions-ref.html
7172
- Used to define OSGi runtime configurations for testing
7273

74+
### OH-INF/i18n/*_xx.properties
75+
- I18N properties files for specific languages, e.g. foobar_de.properties, should be omitted.
76+
- Reference documentation: https://www.openhab.org/docs/developer/utils/i18n.html#managing-translations
77+
7378
### AGENTS.md
7479
There might be AGENTS.md files in subfolders. Consider them when files from that binding are open in the editor:
7580
- bundles/org.openhab.*/AGENTS.md
@@ -91,6 +96,10 @@ There might be AGENTS.md files in subfolders. Consider them when files from that
9196
- **GitHub Username:** Must match pattern `[a-z0-9]*`
9297
- **Author Name:** Can contain spaces (use quotes when scripting)
9398

99+
### Declare Connnection
100+
- Declare connection in OH-INF/addon/addon.xml
101+
- Reference documentation: https://www.openhab.org/docs/developer/addons/addon.html#xml-structure-for-add-on-definitions
102+
94103
### Creation Process
95104

96105
Important: Run all the following commands from repo root folder.

CODEOWNERS

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
/bundles/org.openhab.binding.astro/ @gerrieg
3535
/bundles/org.openhab.binding.asuswrt/ @wildcs
3636
/bundles/org.openhab.binding.atlona/ @mlobstein
37+
/bundles/org.openhab.binding.atmofrance/ @clinique
3738
/bundles/org.openhab.binding.autelis/ @digitaldan
3839
/bundles/org.openhab.binding.automower/ @maxpg
3940
/bundles/org.openhab.binding.avmfritz/ @cweitkamp
@@ -75,6 +76,7 @@
7576
/bundles/org.openhab.binding.cm11a/ @BobRak
7677
/bundles/org.openhab.binding.comfoair/ @boehan
7778
/bundles/org.openhab.binding.coolmasternet/ @projectgus
79+
/bundles/org.openhab.binding.dahuadoor/ @svnsssd
7880
/bundles/org.openhab.binding.daikin/ @caffineehacker
7981
/bundles/org.openhab.binding.dali/ @rs22
8082
/bundles/org.openhab.binding.danfossairunit/ @pravussum
@@ -110,6 +112,7 @@
110112
/bundles/org.openhab.binding.emotiva/ @espenaf
111113
/bundles/org.openhab.binding.energenie/ @hmerk
112114
/bundles/org.openhab.binding.energidataservice/ @jlaur
115+
/bundles/org.openhab.binding.energyforecast/ @weymann
113116
/bundles/org.openhab.binding.enigma2/ @gdolfen
114117
/bundles/org.openhab.binding.enocean/ @fruggy83
115118
/bundles/org.openhab.binding.enphase/ @Hilbrand
@@ -208,6 +211,7 @@
208211
/bundles/org.openhab.binding.lgtvserial/ @fa2k
209212
/bundles/org.openhab.binding.lgwebos/ @sprehn
210213
/bundles/org.openhab.binding.lifx/ @wborn
214+
/bundles/org.openhab.binding.linkplay/ @digitaldan
211215
/bundles/org.openhab.binding.linktap/ @dag81
212216
/bundles/org.openhab.binding.linky/ @clinique @lolodomo
213217
/bundles/org.openhab.binding.linuxinput/ @t-8ch
@@ -263,7 +267,6 @@
263267
/bundles/org.openhab.binding.mqtt.fpp/ @computergeek1507
264268
/bundles/org.openhab.binding.mqtt.ruuvigateway/ @ssalonen
265269
/bundles/org.openhab.binding.mspa/ @weymann
266-
/bundles/org.openhab.binding.mybmw/ @ntruchsess @mherwege @martingrassl
267270
/bundles/org.openhab.binding.mycroft/ @dalgwen
268271
/bundles/org.openhab.binding.mynice/ @clinique
269272
/bundles/org.openhab.binding.mystrom/ @pail23
@@ -415,7 +418,9 @@
415418
/bundles/org.openhab.binding.tr064/ @J-N-K
416419
/bundles/org.openhab.binding.tradfri/ @cweitkamp @kaikreuzer
417420
/bundles/org.openhab.binding.tuya/ @J-N-K
421+
/bundles/org.openhab.binding.twilio/ @digitaldan
418422
/bundles/org.openhab.binding.unifi/ @mgbowman @Hilbrand
423+
/bundles/org.openhab.binding.unifiaccess/ @digitaldan
419424
/bundles/org.openhab.binding.unifiedremote/ @GiviMAD
420425
/bundles/org.openhab.binding.unifiprotect/ @digitaldan
421426
/bundles/org.openhab.binding.upb/ @marcusb
@@ -473,13 +478,15 @@
473478
/bundles/org.openhab.persistence.mapdb/ @openhab/add-ons-maintainers
474479
/bundles/org.openhab.persistence.mongodb/ @openhab/add-ons-maintainers
475480
/bundles/org.openhab.persistence.rrd4j/ @openhab/add-ons-maintainers
481+
/bundles/org.openhab.persistence.timescaledb/ @ulbi
476482
/bundles/org.openhab.transform.basicprofiles/ @cweitkamp @J-N-K
477483
/bundles/org.openhab.transform.bin2json/ @paulianttila
478484
/bundles/org.openhab.transform.exec/ @openhab/add-ons-maintainers
479485
/bundles/org.openhab.transform.geocoding/ @weymann
480486
/bundles/org.openhab.transform.jinja/ @jochen314
481487
/bundles/org.openhab.transform.jsonpath/ @clinique
482488
/bundles/org.openhab.transform.map/ @openhab/add-ons-maintainers
489+
/bundles/org.openhab.transform.math/ @cweitkamp
483490
/bundles/org.openhab.transform.regex/ @openhab/add-ons-maintainers
484491
/bundles/org.openhab.transform.rollershutterposition/ @jsjames
485492
/bundles/org.openhab.transform.scale/ @clinique

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,12 @@ mvn clean install karaf:kar -pl :org.openhab.binding.astro
8585
To improve build times you can add the following options to the command:
8686

8787
| Option | Description |
88-
| ----------------------------- | --------------------------------------------------- |
88+
|-------------------------------|-----------------------------------------------------|
8989
| `-DskipChecks` | Skip the static analysis (Checkstyle, FindBugs) |
9090
| `-DskipTests` | Skip the execution of tests |
9191
| `-Dmaven.test.skip=true` | Skip the compilation and execution of tests |
9292
| `-Dfeatures.verify.skip=true` | Skip the Karaf feature verification |
93+
| `-Dmarkdownlint.skip=true` | Skip the Markdown linting |
9394
| `-Dspotless.check.skip=true` | Skip the Spotless code style checks |
9495
| `-o` | Work offline so Maven does not download any updates |
9596
| `-T 1C` | Build in parallel, using 1 thread per core |

bom/openhab-addons/pom.xml

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@
161161
<artifactId>org.openhab.binding.atlona</artifactId>
162162
<version>${project.version}</version>
163163
</dependency>
164+
<dependency>
165+
<groupId>org.openhab.addons.bundles</groupId>
166+
<artifactId>org.openhab.binding.atmofrance</artifactId>
167+
<version>${project.version}</version>
168+
</dependency>
164169
<dependency>
165170
<groupId>org.openhab.addons.bundles</groupId>
166171
<artifactId>org.openhab.binding.autelis</artifactId>
@@ -361,6 +366,11 @@
361366
<artifactId>org.openhab.binding.coolmasternet</artifactId>
362367
<version>${project.version}</version>
363368
</dependency>
369+
<dependency>
370+
<groupId>org.openhab.addons.bundles</groupId>
371+
<artifactId>org.openhab.binding.dahuadoor</artifactId>
372+
<version>${project.version}</version>
373+
</dependency>
364374
<dependency>
365375
<groupId>org.openhab.addons.bundles</groupId>
366376
<artifactId>org.openhab.binding.daikin</artifactId>
@@ -536,6 +546,11 @@
536546
<artifactId>org.openhab.binding.energidataservice</artifactId>
537547
<version>${project.version}</version>
538548
</dependency>
549+
<dependency>
550+
<groupId>org.openhab.addons.bundles</groupId>
551+
<artifactId>org.openhab.binding.energyforecast</artifactId>
552+
<version>${project.version}</version>
553+
</dependency>
539554
<dependency>
540555
<groupId>org.openhab.addons.bundles</groupId>
541556
<artifactId>org.openhab.binding.enigma2</artifactId>
@@ -1026,6 +1041,11 @@
10261041
<artifactId>org.openhab.binding.lifx</artifactId>
10271042
<version>${project.version}</version>
10281043
</dependency>
1044+
<dependency>
1045+
<groupId>org.openhab.addons.bundles</groupId>
1046+
<artifactId>org.openhab.binding.linkplay</artifactId>
1047+
<version>${project.version}</version>
1048+
</dependency>
10291049
<dependency>
10301050
<groupId>org.openhab.addons.bundles</groupId>
10311051
<artifactId>org.openhab.binding.linktap</artifactId>
@@ -1301,11 +1321,6 @@
13011321
<artifactId>org.openhab.binding.mycroft</artifactId>
13021322
<version>${project.version}</version>
13031323
</dependency>
1304-
<dependency>
1305-
<groupId>org.openhab.addons.bundles</groupId>
1306-
<artifactId>org.openhab.binding.mybmw</artifactId>
1307-
<version>${project.version}</version>
1308-
</dependency>
13091324
<dependency>
13101325
<groupId>org.openhab.addons.bundles</groupId>
13111326
<artifactId>org.openhab.binding.mynice</artifactId>
@@ -2056,11 +2071,21 @@
20562071
<artifactId>org.openhab.binding.tuya</artifactId>
20572072
<version>${project.version}</version>
20582073
</dependency>
2074+
<dependency>
2075+
<groupId>org.openhab.addons.bundles</groupId>
2076+
<artifactId>org.openhab.binding.twilio</artifactId>
2077+
<version>${project.version}</version>
2078+
</dependency>
20592079
<dependency>
20602080
<groupId>org.openhab.addons.bundles</groupId>
20612081
<artifactId>org.openhab.binding.unifi</artifactId>
20622082
<version>${project.version}</version>
20632083
</dependency>
2084+
<dependency>
2085+
<groupId>org.openhab.addons.bundles</groupId>
2086+
<artifactId>org.openhab.binding.unifiaccess</artifactId>
2087+
<version>${project.version}</version>
2088+
</dependency>
20642089
<dependency>
20652090
<groupId>org.openhab.addons.bundles</groupId>
20662091
<artifactId>org.openhab.binding.unifiedremote</artifactId>
@@ -2346,6 +2371,11 @@
23462371
<artifactId>org.openhab.persistence.rrd4j</artifactId>
23472372
<version>${project.version}</version>
23482373
</dependency>
2374+
<dependency>
2375+
<groupId>org.openhab.addons.bundles</groupId>
2376+
<artifactId>org.openhab.persistence.timescaledb</artifactId>
2377+
<version>${project.version}</version>
2378+
</dependency>
23492379
<dependency>
23502380
<groupId>org.openhab.addons.bundles</groupId>
23512381
<artifactId>org.openhab.transform.basicprofiles</artifactId>
@@ -2381,6 +2411,11 @@
23812411
<artifactId>org.openhab.transform.map</artifactId>
23822412
<version>${project.version}</version>
23832413
</dependency>
2414+
<dependency>
2415+
<groupId>org.openhab.addons.bundles</groupId>
2416+
<artifactId>org.openhab.transform.math</artifactId>
2417+
<version>${project.version}</version>
2418+
</dependency>
23842419
<dependency>
23852420
<groupId>org.openhab.addons.bundles</groupId>
23862421
<artifactId>org.openhab.transform.regex</artifactId>

0 commit comments

Comments
 (0)