Clickable for Atom

A developer's Best Friend
2 March 2018

As you might have already heard during our Q&A sessions, the UBports community has been working on improving our developer story on Ubuntu Touch. In the process of taking over the project from Canonical, we decided not to take over the Ubuntu SDK IDE in favour of a more portable solution.

Clickable to the Rescue!

In 2016, Brian Douglass - the master behind OpenStore - started a side project called Clickable - a CLI tool that allows developers to build Ubuntu Touch applications and '.click' packages on any GNU/Linux distribution.

Recent updates to Clickable have added support for Docker build containers and the ability to run Ubuntu Touch applications on a developer's machine.

And now Clickable runs in the code editor of your choice

Our suggestion to adopt Clickable has been very well received by our community devs, who have appreciated the ease of use of the tool. We decided therefore to promote Clickable as the official tool for building Ubuntu Touch apps.

In the upcoming months, as part of our strategy for the new SDK, we're going to extend the support for Clickable on the most relevant code editors available:

  • Atom
  • Visual Studio Code
  • QtCreator (the official Qt IDE)

We've begun with Atom as it offers a reliable framework for exploring our requirements and extending the capabilities of the editor.

Please welcome our atom-build-clickable extension, now available on Atom Packages!

What is atom-build-clickable?

We adopted atom-build as a foundation to enable the creation of build commands. That means that we can run clickable inside Atom. Currently both 'clickable' and 'clickable --desktop' targets are supported, so you can run your Ubuntu Touch apps on your development machine without leaving the comfort of your editor!

We also offer a (basic) support for the 'linter' extension (optional dependency) and custom scripts as specified in the clickable.json manifest.


How do I get it?

To get atom-build-clickable, simply type apm install atom-build-clickable in a terminal. You can also open the GUI installer by opening Atom, pressing Control+,, and then selecting "Install".

Once installed, the package will make itself available whenever you open a Clickable project. Just open up your favorite project via File -> Open Folder... and you'll see Clickable appear in the menu bar. You can build and run your app on your phone by pressing F9 or Control+Alt+B. You can change whether you're building for a device or running on your machine by presing F7 or Control+Alt+T.

How do I contribute?

This is just the first release of the plugin. A few things might need to be polished, and some advanced feature still have to be added.

Contributions are welcome to help fix the following issues:

  • Catch build errors and warnings coming from 'cmake' and 'qmake'. We currently only intercept the related error thrown by Docker.
  • Support other Clickable commands, such as 'kill', 'clean', 'launch', or 'logs'.
  • Re-parse 'clickable.json' any time a change is committed

The source code is available on GitHub and is licensed under the terms of the MIT license.

Over the next few days and weeks, we plan to have a discussion about moving the ownership of the project under the UBports organization. The creation of an ad-hoc organization for Clickable and its related projects is also being considered.

If you want to contribute to atom-build-clickable, or extend Clickable support in Visual Studio Code or QtCreator, get in touch with us on our Telegram group.

Project coordinators are (on Telegram) @bhdouglass, @danchapman and @sverzegnassi.

As always, patches are welcome!


A big thank goes to all the Clickable contributors:

bhdouglass, JBBgameich, NeoTheThird, TronFortyTwo, stuartlangridge, jonnius, Naturalbornhippy, and mardy.