Skip to content

Commit

Permalink
updating schemas
Browse files Browse the repository at this point in the history
  • Loading branch information
mariotaku committed Apr 17, 2023
1 parent 6b2f4ca commit 73a88db
Show file tree
Hide file tree
Showing 24 changed files with 325 additions and 31 deletions.
4 changes: 2 additions & 2 deletions content/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
api/
apps/
/api
/apps
59 changes: 59 additions & 0 deletions content/schemas/api/PackageInfo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://webosbrew.org/schema/HomebrewRepository.schema",
"title": "HomebrewPackageInfo",
"description": "Homebrew Package Information",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Application ID, e.g., \"com.newco.app.myApp\" . Every application has a unique ID, created from reverse DNS naming conventions."
},
"title": {
"type": "string",
"description": "The title of the application as it shows in the Launcher and the app window. The application title is unique, set once."
},
"shortDescription": {
"type": "string",
"description": "Short description for your app."
},
"fullDescriptionUrl": {
"type": "string",
"description": "URL to full description page in HTML. Client may apply appropriate stylesheet to it."
},
"iconUri": {
"type": "string",
"description": "Image displayed for your app. This is a URL to an image, or data: encoded URI"
},
"manifestUrl": {
"type": "string",
"description": "Link to manifest, should be pointed to an URL can always provide latest version"
},
"manifest": {
"$ref": "PackageManifest.json"
}
},
"allOf": [
{
"required": [
"id",
"title",
"iconUri"
]
},
{
"oneOf": [
{
"required": [
"manifestUrl"
]
},
{
"required": [
"manifest"
]
}
]
}
]
}
82 changes: 82 additions & 0 deletions content/schemas/api/PackageManifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://repo.webosbrew.org/schemas/api/PackageManifest.schema",
"title": "PackageManifest",
"description": "Package manifest for webOS homebrew package",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Application ID, e.g., \"com.newco.app.myApp\" . Every application has a unique ID, created from reverse DNS naming conventions."
},
"version": {
"type": "string",
"description": "The application version number, in the dot-notation format, e.g., 3.0.2500"
},
"type": {
"type": "string",
"enum": [
"web",
"stub",
"native",
"native_builtin",
"native_appshell",
"qml"
],
"description": "Identifies the application type"
},
"title": {
"type": "string",
"description": "The title of the application as it shows in the Launcher and the app window. The application title is unique, set once."
},
"appDescription": {
"type": "string",
"description": "The description of the application shown in the application details page."
},
"iconUri": {
"type": "string",
"description": "Image displayed for your app. This is a URL to an image, or data: encoded URI"
},
"sourceUrl": {
"type": "string",
"description": "Link to source code repository, or project homepage etc"
},
"rootRequired": {
"type": [
"boolean",
"string"
],
"enum": [
true,
false,
"optional"
],
"description": "Whether this app require a rooted/jailbroken TV to work, or optional."
},
"ipkUrl": {
"type": "string",
"description": "URL to package file"
},
"ipkHash": {
"type": "object",
"properties": {
"sha256": {
"type": "string",
"description": "Hex encoded hash"
}
},
"minProperties": 1,
"additionalProperties": false,
"description": "URL to package file"
}
},
"required": [
"id",
"version",
"type",
"title",
"iconUri",
"ipkUrl",
"ipkHash"
]
}
16 changes: 16 additions & 0 deletions content/schemas/api/PackagesPage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://repo.webosbrew.org/schemas/PackagesPage.json",
"title": "HomebrewRepository",
"description": "Repository information for webOS homebrew packages",
"type": "object",
"properties": {
"packages": {
"type": "array",
"items": {
"$ref": "PackageInfo.json"
}
}
},
"additionalProperties": false
}
32 changes: 32 additions & 0 deletions content/schemas/packages/Category.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://repo.webosbrew.org/schemas/packages/Category.json",
"title": "PackageCategory",
"type": "string",
"anyOf": [
{
"const": "multimedia",
"description": "Application for presenting, creating, or processing multimedia (audio/video)"
},
{
"const": "game",
"description": "A game"
},
{
"const": "system",
"description": "System application, \"System Tools\" such as say a log viewer or network monitor"
},
{
"const": "utility",
"description": "Small utility application, \"Accessories\""
},
{
"const": "screensaver",
"description": "A screen saver"
},
{
"const": "launcher",
"description": "A launcher (home screen) alternative"
}
]
}
71 changes: 71 additions & 0 deletions content/schemas/packages/PackageInfo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://repo.webosbrew.org/schemas/packages/PackageInfo.json",
"title": "PackageInfo",
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 30,
"description": "The title of the application as it shows in the Launcher and the app window. The application title is unique, set once."
},
"iconUri": {
"type": "string",
"description": "Image displayed for your app. This is a URL to an image, or data: encoded URI"
},
"manifestUrl": {
"type": "string",
"description": "Link to manifest, should be pointed to an URL can always provide latest version"
},
"manifestUrlBeta": {
"type": "string",
"description": "Link to manifest, should be pointed to an URL can always provide latest version"
},
"category": {
"$ref": "Category.json"
},
"description": {
"type": "string",
"description": "Markdown/HTML formatted description"
},
"detailIconUri": {
"type": "string",
"description": "Icon uri for application detail page, in higher resolution"
},
"pool": {
"type": "string",
"anyOf": [
{
"const": "main",
"description": "Main pool - Must be open-source"
},
{
"const": "non-free",
"description": "Non-free pool - Can be closed-source"
}
]
},
"funding": {
"type": "object",
"description": "Funding information",
"properties": {
"github": {
"type": "array",
"items": {
"type": "string",
"description": "GitHub username"
}
}
}
}
},
"required": [
"title",
"iconUri",
"manifestUrl",
"category",
"pool",
"description"
],
"additionalProperties": false
}
3 changes: 2 additions & 1 deletion packages/com.github.k4zmu2a.space-cadet-pinball.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
title: 3D Pinball – Space Cadet
iconUri: https://raw.githubusercontent.com/webosbrew/SpaceCadetPinball/webos/webos/icon.png
manifestUrl: https://github.com/webosbrew/SpaceCadetPinball/releases/latest/download/webosbrew.manifest.json
category: games
category: game
pool: main
description: |
## Summary
Expand Down
2 changes: 1 addition & 1 deletion packages/com.limelight.webos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ title: Moonlight
iconUri: https://raw.githubusercontent.com/mariotaku/moonlight-tv/main/deploy/webos/icon_large.png
detailIconUri: https://raw.githubusercontent.com/mariotaku/moonlight-tv/main/res/moonlight_320.png
manifestUrl: https://github.com/mariotaku/moonlight-tv/releases/latest/download/com.limelight.webos.manifest.json
category: games
category: game
pool: main
description: |
Moonlight TV is a community version of [Moonlight GameStream Client](https://moonlight-stream.org/), made for large
Expand Down
3 changes: 2 additions & 1 deletion packages/com.retroarch.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
title: RetroArch
iconUri: https://raw.githubusercontent.com/webosbrew/RetroArch/webos-tv-support/webos/icon160.png
manifestUrl: https://github.com/webosbrew/RetroArch/releases/latest/download/com.retroarch.manifest.json
category: games
category: game
pool: main
description: |
RetroArch is the reference frontend for the libretro API.
Popular examples of implementations for this API includes video game system emulators and game engines as well as
Expand Down
3 changes: 2 additions & 1 deletion packages/org.chocolate-doom.demo.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
title: Chocolate Doom Demo
iconUri: https://raw.githubusercontent.com/webosbrew/chocolate-doom/webos-tv/data/doom.png
manifestUrl: https://github.com/webosbrew/chocolate-doom/releases/latest/download/org.chocolate-doom.demo.manifest.json
category: games
category: game
pool: main
description: |
** This Technical Demo Contains [Shareware version of Doom](https://doomwiki.org/wiki/DOOM1.WAD) **
Expand Down
1 change: 1 addition & 0 deletions packages/org.jellyfin.webos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ title: Jellyfin
iconUri: https://raw.githubusercontent.com/jellyfin/jellyfin-webos/master/frontend/assets/icon-130.png
manifestUrl: https://github.com/jellyfin/jellyfin-webos/releases/latest/download/org.jellyfin.webos.manifest.json
category: multimedia
pool: main
description: |
Wrapper around [Jellyfin](https://jellyfin.org) Web project
2 changes: 1 addition & 1 deletion packages/org.mariotaku.ihsplay.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ title: IHSplay - App for Steam Link
iconUri: https://raw.githubusercontent.com/mariotaku/ihsplay/master/deploy/webos/largeIcon.png
detailIconUri: https://raw.githubusercontent.com/mariotaku/ihsplay/master/deploy/webos/largeIcon.png
manifestUrl: https://github.com/mariotaku/ihsplay/releases/latest/download/org.mariotaku.ihsplay.manifest.json
category: games
category: game
pool: main
description: |
# Early Beta!
Expand Down
3 changes: 2 additions & 1 deletion packages/org.webosbrew.custom-screensaver.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
title: Custom Screensaver
iconUri: https://raw.githubusercontent.com/webosbrew/custom-screensaver/main/assets/icon130.png
manifestUrl: https://github.com/webosbrew/custom-screensaver/releases/latest/download/org.webosbrew.custom-screensaver.manifest.json
category: entertainment
category: screensaver
pool: main
description: |
Probably the only custom screensaver you'll ever need on webOS TV.
Expand Down
2 changes: 1 addition & 1 deletion packages/org.webosbrew.inputhook.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
title: LG Input Hook
iconUri: https://raw.githubusercontent.com/Simon34545/lginputhook/main/assets/largeIcon.png
manifestUrl: https://github.com/Simon34545/lginputhook/releases/latest/download/org.webosbrew.inputhook.manifest.json
category: tools
category: utility
pool: main
description: |
# LG Input Hook
Expand Down
2 changes: 1 addition & 1 deletion packages/org.webosbrew.piccap.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
title: PicCap - Hyperion Sender App
iconUri: https://raw.githubusercontent.com/TBSniller/piccap/main/frontend/assets/logo_big.png
manifestUrl: https://github.com/TBSniller/piccap/releases/latest/download/org.webosbrew.piccap.manifest.json
category: tools
category: utility
pool: main
description: |
## PicCap - Hyperion Sender App
Expand Down
1 change: 1 addition & 0 deletions packages/org.webosbrew.streamkatze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ title: streamkatze
iconUri: https://raw.githubusercontent.com/informatic/streamkatze/main/assets/icon130.png
manifestUrl: https://github.com/informatic/streamkatze/releases/latest/download/org.webosbrew.streamkatze.manifest.json
category: multimedia
pool: main
description: |
Experimental webOS [streaming.media.ccc.de](https://streaming.media.ccc.de) live stream player.
Expand Down
2 changes: 1 addition & 1 deletion packages/org.webosbrew.vncserver.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
title: VNCServer
iconUri: https://github.com/Informatic/webos-vncserver/raw/main/assets/largeIcon.png
manifestUrl: https://github.com/Informatic/webos-vncserver/releases/latest/download/org.webosbrew.vncserver.manifest.json
category: tools
category: utility
pool: main
description: |
Minimal webOS VNC server. Supports mouse and keyboard/remote control.
Expand Down
2 changes: 1 addition & 1 deletion packages/ui30.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
title: Piccap On/Off Remote
iconUri: https://raw.githubusercontent.com/Bahoue/OnOff-Remote/master/app/largeIcon.png
manifestUrl: https://github.com/Bahoue/OnOff-Remote/releases/latest/download/ui30.manifest.json
category: multimedia
category: utility
pool: main
description: |
Binds the Rakuten button on the remote control to the action of pausing/resuming PicCap.
3 changes: 2 additions & 1 deletion packages/youtube.leanback.v4.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
title: YouTube AdFree
iconUri: https://raw.githubusercontent.com/webosbrew/youtube-webos/main/assets/largeIcon.png
manifestUrl: https://github.com/webosbrew/youtube-webos/releases/latest/download/youtube.leanback.v4.manifest.json
category: entertainment
category: multimedia
pool: main
description: |
**BE SURE TO UNINSTALL THE OFFICIAL YOUTUBE TV APP BEFORE INSTALLING**
Expand Down
Loading

0 comments on commit 73a88db

Please sign in to comment.