reasoning: like other build tools, jenesis reads and writes arbitrary project trees anywhere on disk, writes ~/.jenesis and ~/.m2, and invokes the user’s JDK and other toolchain binaries, none of which strict confinement permits. Precedents: gradle, kotlin, uv, gh.
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap to work under strict confinement.
thanks for the feedback. it’s true that Jenesis is a rather new project, and part of popularizing it means to give people easy access to it.
The workarounds you suggest will not work.
Bundling a JDK defeats the purpose as a using project might require a specific version. I would need to ship multiple versions of Jenesis for each possible JDK distribution as this JDK is also used for invoking the tooling.
Jenesis has a compatibility mode with Maven, and this requires access to the same .M2 folder.
I understand that you do not want untrusted projects in snap but this skews the competition angle for incumbent open source in relation to for example Gradle that can be installed through snap with classic confiment. Platforms like homebrew solve this by offering integration through a local tap and only giving a global alias to established projects.
Again, I understand your perspective but I’d rather not ship a crippled version of my project through snap.