drawio/etc/sandstorm/sandstorm-pkgdef.capnp
2016-09-09 13:50:36 +01:00

120 lines
4.1 KiB
Cap'n Proto

@0xeef286f78b0168e0;
# When cloning the example, you'll want to replace the above file ID with a new
# one generated using the `capnp id` command.
using Spk = import "/sandstorm/package.capnp";
using Grain = import "/sandstorm/grain.capnp";
# This imports:
# $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
# Check out that file to see the full, documented package definition format.
const pkgdef :Spk.PackageDefinition = (
# The package definition. Note that the spk tool looks specifically for the
# "pkgdef" constant.
id = "a3w50h1435gsxczugm16q0amwkqm9f4crykzea53sv61pt7phk8h",
# The app ID is actually the public key used to sign the app package.
# All packages with the same ID are versions of the same app.
#
# If you are working from the example, you'll need to replace the above
# public key with one of your own. Use the `spk keygen` command to generate
# a new one.
manifest = (
# This manifest is included in your app package to tell Sandstorm
# about your app.
appVersion = 2, # Increment this for every release.
appTitle = (defaultText = "draw.io"),
appMarketingVersion = (defaultText = "5.6.0.3"),
actions = [
# Define your "new document" handlers here.
( title = (defaultText = "New draw.io diagram"),
nounPhrase = (defaultText = "diagram"),
command = .myCommand
# The command to run when starting for the first time. (".myCommand"
# is just a constant defined at the bottom of the file.)
)
],
continueCommand = .myCommand,
# This is the command called to start your app back up after it has been
# shut down for inactivity. Here we're using the same command as for
# starting a new instance, but you could use different commands for each
# case.
metadata = (
icons = (
appGrid = (png = (dpi1x = embed "client/images/drawlogo128.png")),
grain = (png = (dpi1x = embed "client/images/drawlogo48.png")),
market = (png = (dpi1x = embed "client/images/drawlogo256.png")),
),
website = "https://www.draw.io/",
codeUrl = "https://github.com/jgraph/draw.io",
license = (openSource = gpl3),
categories = [office, productivity],
author = (
upstreamAuthor = "JGraph",
contactEmail = "support@draw.io",
pgpSignature = embed "pgp-signature",
),
pgpKeyring = embed "pgp-keyring",
description = (defaultText = embed "description.md"),
shortDescription = (defaultText = embed "shortDesc.txt"),
screenshots = [
(width = 448, height = 243, png = embed "client/images/drawio448.png")
],
changeLog = (defaultText = embed "ChangeLog"),
)
),
sourceMap = (
# Here we define where to look for files to copy into your package.
searchPath = [
( packagePath = "server", sourcePath = "server" ),
# Map server binary at "/server".
( packagePath = "client", sourcePath = "client" ),
# Map client directory at "/client".
( sourcePath = "." )
]
),
alwaysInclude = [ "." ]
# Always include all mapped files, whether or not they are opened during
# "spk dev".
);
const appIndexViewInfo :Grain.UiView.ViewInfo = (
permissions = [(name = "write", title = (defaultText = "write"),
description = (defaultText = "allows editing diagrams")),
(name = "read", title = (defaultText = "read"),
description = (defaultText = "allows viewing diagrams"))],
roles = [(title = (defaultText = "editor"),
permissions = [true, true],
verbPhrase = (defaultText = "can edit"),
default = true),
(title = (defaultText = "viewer"),
permissions = [false, true],
verbPhrase = (defaultText = "can view"))]
);
const myCommand :Spk.Manifest.Command = (
# Here we define the command used to start up your server.
argv = ["/server"],
environ = [
# Note that this defines the *entire* environment seen by your app.
(key = "PATH", value = "/usr/local/bin:/usr/bin:/bin")
]
);