Problem
SnapSettings (SnapSettings.kt) has no property for the snap's name — the name used in meta/snap.yaml and visible to the Snap Store. As far as I can tell, the name is derived from nativeDistributions.packageName (via electron-builder's productName).
This makes it impossible to use Nucleus's snap target for projects whose Snap Store registration uses a name distinct from packageName.
Proposal
Add a name: String? property to SnapSettings:
abstract class SnapSettings {
/** Override the snap name (used in meta/snap.yaml and Snap Store namespace).
* Defaults to [NativeDistributions.packageName] if null. */
var name: String? = null
// ... existing properties
}
In AbstractElectronBuilderPackageTask (snap branch only), use snap.name ?: distributions.packageName for the relevant electron-builder config (likely a snap-scoped productName override, or the snapcraft name: field directly).
A more general snap { productName = "..." } override would also work and is consistent with electron-builder's own DSL, where snap.productName can override the top-level productName.
Problem
SnapSettings(SnapSettings.kt) has no property for the snap's name — the name used inmeta/snap.yamland visible to the Snap Store. As far as I can tell, the name is derived fromnativeDistributions.packageName(via electron-builder'sproductName).This makes it impossible to use Nucleus's snap target for projects whose Snap Store registration uses a name distinct from
packageName.Proposal
Add a
name: String?property toSnapSettings:In
AbstractElectronBuilderPackageTask(snap branch only), usesnap.name ?: distributions.packageNamefor the relevant electron-builder config (likely a snap-scopedproductNameoverride, or the snapcraftname:field directly).A more general
snap { productName = "..." }override would also work and is consistent with electron-builder's own DSL, wheresnap.productNamecan override the top-levelproductName.