Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f1ede15
Bump default elixir and erlang versions
jeanparpaillon Sep 7, 2026
ddfeabb
Bump saxy version
jeanparpaillon Sep 7, 2026
8ed647a
Bump dialyxir version to 1.4.8
jeanparpaillon Sep 7, 2026
429776e
Fix basic compilation warnings
jeanparpaillon Sep 7, 2026
4a6783c
Fix functions specs in builder
jeanparpaillon Sep 7, 2026
d389519
Start migration to next erlang-dbus
jeanparpaillon Sep 7, 2026
910ce06
Consistantly rename ExDBus to DBus
jeanparpaillon Sep 7, 2026
fd9a3b5
Starts with a warning-free compilation
jeanparpaillon Sep 7, 2026
8c13cc1
Ignore local editor config
jeanparpaillon Sep 7, 2026
ec8d427
Align module names with file names
jeanparpaillon Sep 7, 2026
6d2ee9c
Use reraise when appropriate
jeanparpaillon Sep 7, 2026
c30da79
Use case instead of with when appropriate (credo)
jeanparpaillon Sep 8, 2026
3498a55
Add moduledoc tag, even when false
jeanparpaillon Sep 8, 2026
ad1e096
Address credo suggestions
jeanparpaillon Sep 8, 2026
36319fb
Add standard ci workflow: build and QA
jeanparpaillon Sep 8, 2026
713b1c0
Ignore credo warning for this file, will do deep refactoring
jeanparpaillon Sep 8, 2026
0c259a4
Remove vscode settings from version control
jeanparpaillon Sep 8, 2026
56a1f56
Fix dialyzer issues
jeanparpaillon Sep 8, 2026
b74e1f5
Provides elixir flavoured version of top level modules
jeanparpaillon Sep 8, 2026
54d6ac1
Add :dbus_rpc proxy module
jeanparpaillon Sep 8, 2026
2cba8e2
Router: add default struct if not defined
jeanparpaillon Sep 8, 2026
08c08f4
re-introduce DBus.Service
jeanparpaillon Sep 8, 2026
11b5b0e
Fix dialyzer complain
jeanparpaillon Sep 8, 2026
b9d997a
Add ex_doc
jeanparpaillon Sep 8, 2026
08b3c0b
Fix referencing bus and connections
jeanparpaillon Sep 9, 2026
38984ab
Fix bus: RequestName returns integer, not atom
jeanparpaillon Sep 9, 2026
8274f07
Adds message builder, à la Ecto Changeset
jeanparpaillon Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI

on:
push:
branches: [main, next]
pull_request:

permissions:
contents: read

env:
MIX_ENV: test

jobs:
build:
name: Build & QA
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- otp: '28'
rebar3: '3.25.1'
elixir: '1.18.4-otp-28'
- otp: '28'
rebar3: '3.25.1'
elixir: '1.19.6-otp-28'
- otp: '29'
rebar3: '3.27.0'
elixir: '1.20.4-otp-29'

steps:
- uses: actions/checkout@v7

- name: Set up Elixir/OTP
id: beam
uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp }}
rebar3-version: ${{ matrix.rebar3 }}
elixir-version: ${{ matrix.elixir }}

- name: Restore dependencies and build cache
uses: actions/cache@v6
with:
path: |
deps
_build
key: ${{ runner.os }}-mix-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}-${{ hashFiles('**/mix.lock') }}
restore-keys: |
${{ runner.os }}-mix-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}-

- name: Fetch dependencies
run: mix deps.get

- name: Compile (warnings as errors)
run: mix compile --warnings-as-errors

- name: Run tests
run: mix test

- name: Run Credo
run: mix credo --strict

- name: Restore PLT cache
uses: actions/cache@v6
with:
path: priv/plts
key: ${{ runner.os }}-plt-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}-${{ hashFiles('**/mix.lock') }}
restore-keys: |
${{ runner.os }}-plt-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}-

- name: Build PLT
run: |
mkdir -p priv/plts
mix dialyzer --plt

- name: Run Dialyzer
run: mix dialyzer --format github --format dialyxir
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ erl_crash.dump
*.beam
/config/*.secret.exs
.elixir_ls/
/.vscode
/priv/plts
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
elixir 1.12.2
erlang 24.0.3
elixir 1.20.2-otp-29
erlang 29.0.3
5 changes: 0 additions & 5 deletions .vscode/extensions.json

This file was deleted.

15 changes: 0 additions & 15 deletions .vscode/settings.json

This file was deleted.

10 changes: 5 additions & 5 deletions examples/dbus_tray_icon/icon_schema.ex
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
defmodule DBusTrayIcon.IconSchema do
use ExDBus.Schema
use DBus.Schema

node do
node "/MenuBar" do
import from(ExDBus.Interfaces)
import from(DBus.Interfaces)
import from(DBusTrayIcon.MenuBar)
end

import from(ExDBus.Interfaces)
import from(DBus.Interfaces)

node "/StatusNotifierItem" do
import from(ExDBus.Interfaces)
import from(DBus.Interfaces)
import from(DBusTrayIcon.StatusNotifierItem)
end

node "/Hello" do
import from(ExDBus.Interfaces)
import from(DBus.Interfaces)

interface "org.example.Hello" do
property("Name", "s", :read) do
Expand Down
2 changes: 1 addition & 1 deletion examples/dbus_tray_icon/interfaces/MenuBar.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule DBusTrayIcon.MenuBar do
use ExDBus.Schema
use DBus.Schema

node do
interface "com.canonical.dbusmenu" do
Expand Down
2 changes: 1 addition & 1 deletion examples/dbus_tray_icon/interfaces/StatusNotifierItem.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule DBusTrayIcon.StatusNotifierItem do
use ExDBus.Schema
use DBus.Schema

node do
interface "org.kde.StatusNotifierItem" do
Expand Down
Loading