mobile-dev-inc/maestro

Maestro dumps its state files into `$HOME`

Open

#1.798 geöffnet am 12. Juli 2024

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Kotlin (306 Forks)batch import
P3buggood first issuemaestro cli

Repository-Metriken

Stars
 (6.111 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 12T 2h) (39 gemergte PRs in 30 T)

Beschreibung

Some users don't like when programs write tmp/state/config files to their $HOME (me included).

Current behavior

Upon installation, Maestro creates the ~/.maestro directory and stores some data there.

Expected behavior

There exist a spec called XDG Base Directory Specification. Maestro should follow it.

Implementation idea

$ ls -1F ~/.maestro
bin/
deps/
lib/
sessions
tests/
tmp/
uuid

I suggest the following:

  • bin/ should be in the path made for that, e.g. /usr/local/bin (or wherever your OS package manager installs programs)
  • deps/ contains only the applesimutil binary, which we may not need soon, see #1797
  • lib/ contains JARs. Not sure where they exactly they should go (let's look at how other JVM apps do this)
  • sessions -> XDG_STATE_HOME
  • tests/ -> XDG_STATE_HOME
  • tmp/ -> XDG_CACHE_HOME (not sure what goes in there, it's always empty on my machine)
  • uuid -> XDG_STATE_HOME

To support existing CLI installs, we should first look for ~/.maestro, and then fallback to XDG base dir spec.

Additional context

Contributor Guide