Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Nuvola SDK #269

Closed
7 tasks done
jiri-janousek opened this issue Nov 2, 2016 · 2 comments
Closed
7 tasks done

Introduce Nuvola SDK #269

jiri-janousek opened this issue Nov 2, 2016 · 2 comments
Assignees
Labels
type: quality Improves quality of the app or the user experience.
Milestone

Comments

@jiri-janousek
Copy link
Member

jiri-janousek commented Nov 2, 2016

Nowadays, web app scripts share a lot of common code (e.g. svg-convert.sh, svg-optimize.sh, Makefile rules). That should be moved to a common module - Nuvola SDK.

Design decisions

  • A PyPI module - easy installation and update
  • Python3 configure script generates Makefile - compatible with Build-API (flatpak)
  • Also generates a desktop file
  • Also copies svg-convert.sh & svg-optimize.sh files

Build metadata

The "build" property of metadata.in.json (if none exists, the default one is used; if an entry is missing, the one from default is used)

{
"extra_data": "outdated-libraries.html",
"icons": [
  "icons/icon.svg SCALABLE 64 128 256",
  "icons/icon-xs.svg 16 22 24",
  "icons/icon-sm.svg 32 48"]
}

Checks

  • nuvolasdk check and make check
  • metadata.in.json & integrate.js present
  • app id (metadata.in.json) in valid
  • README.md CHANGELOG.md CONTRIBUTING.md
  • license present (files LICENSE*)
  • icons present

Create new web app

  • nuvolasdk new-project
  • Creates the nuvola-app-[app-id] directory.
  • Creates metadata.json, integrate.json, README.md, CHANGELOG.md, CONTRIBUTING.md, .gitignore, configure, icons, ...

Convert project

  • nuvolasdk convert-project
  • Don't replace files, add "new" suffix
  • Create missing files - see check cmd

Build project:

configure

import nuvolasdk
nuvolasdk.gen_makefile()

Guidelines

  • Mandatory CHANGELOG.md
  • Test with Nuvola 3.0, then with Nuvola 3.1

Tasks

  • Honour extra_files in nuvolasdk.gen_makefile()
  • Implement nuvolasdk check-project
  • Create missing files in nuvolasdk convert-project
  • Publish the first release to PyPI
  • Add installation instructions - pip install ...
  • Push the second release to PyPI
  • Update guidelines
@jiri-janousek jiri-janousek added in progress type: quality Improves quality of the app or the user experience. labels Nov 7, 2016
@jiri-janousek jiri-janousek self-assigned this Nov 7, 2016
@jiri-janousek
Copy link
Member Author

@jiri-janousek
Copy link
Member Author

Published: https://pypi.python.org/pypi/nuvolasdk

@ghost ghost removed the in progress label Dec 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: quality Improves quality of the app or the user experience.
Projects
None yet
Development

No branches or pull requests

1 participant