Ubuntu Make
Ubuntu Make is a command line tool which allows you to download the latest version of popular developer tools on your installation, installing it alongside all of the required dependencies (which will only ask for root access if you don't have all the required dependencies installed already), enable multi-arch on your system if you are on a 64 bit machine, integrate it with the Unity launcher. Basically, one command to get your system ready to develop with!
Our philosophy
First, let's define the core principles around the Ubuntu Make and what we are trying to achieve with this:
- Ubuntu Make will always download, test and support the latest available upstream developer stack. No version is stuck in stone for 5 years. We get the latest and the best release that upstream delivers to all of us. We are conscious that being able to develop on a freshly updated environment is one of the core values of the developer audience and that's why we want to deliver that experience with Ubuntu Make.
- We know that developers want stability overall and not have to upgrade or spend time maintaining their machine every 6 months. We agree they shouldn't have to and the platform should "get out of my way, I've got work to do." That's the reason why we focus heavily on the latest LTS release of Ubuntu. All tools will always be backported and supported on the latest Long Term Support release. Tests are running multiple times a day on this platform. In addition to this, we support, of course, the latest available Ubuntu Release for developers who likes to live on the edge!
- We want to ensure that the supported developer environment is always functional by always downloading the latest version from upstream. The software stack can change its requirements, requiring newer or extra libraries and thus cause breakage. That's why we are running an entire suite of functional tests multiple times a day, on both versions that you can find in distro and on the latest trunk. That way we know if:
- We broke ourselves in trunk and needs to fix it before releasing.
- The platform broke one of the developer stack and we can promptly fix it.
- A third-party application or a website changed and broke the integration. We can then fix this really early on.
All of those tests running will ensure the best experience we can deliver, while always fetching the latest release version from upstream. All of this on a very stable platform!
Supported platforms
The list of supported platforms is always evolving. We divided Ubuntu Make in categories so that it's easier for developers to navigate and install what they require. We invite you to look at existing current support using the --help option or shell completion. This list goes from Android (java and native) development, to games, frontend web (javascript and dart), backend (go and dart), and various ide (python, C++ java…).
$ bin/umake --help usage: umake [--help] [-v] [-r] {games,web,go,dart,ide,android} ... Deploy and setup developers environment easily on ubuntu positional arguments: {games,web,go,dart,ide,android} Developer environment games Games Development Environment web Web Developer Environment go Go language dart Dartlang Development Environment ide Generic IDEs android Android Development Environment optional arguments: --help Show this help -v, --verbose Increase output verbosity (2 levels) -r, --remove Remove specified framework if installed Note that you can also configure different debug logs behaviors using LOG_CFG pointing to a log yaml profile. * Command 'games': usage: umake games [-h] {stencyl} ... positional arguments: {stencyl} stencyl Stencyl game developer IDE optional arguments: -h, --help show this help message and exit * Command 'web': usage: umake web [-h] {firefox-dev,visual-studio-code} ... positional arguments: {firefox-dev,visual-studio-code} firefox-dev Firefox Developer Edition visual-studio-code Visual Studio focused on modern web and cloud optional arguments: -h, --help show this help message and exit * Command 'go': usage: umake go [-h] {go-lang} ... positional arguments: {go-lang} go-lang Google compiler (default) optional arguments: -h, --help show this help message and exit * Command 'dart': usage: umake dart [-h] {dart-sdk} ... positional arguments: {dart-sdk} dart-sdk Dart SDK (default) optional arguments: -h, --help show this help message and exit * Command 'ide': usage: umake ide [-h] {pycharm-educational,arduino,eclipse,webstorm,pycharm-professional,idea-ultimate,rubymine,idea,pycharm,phpstorm} ... positional arguments: {pycharm-educational,arduino,eclipse,webstorm,pycharm-professional,idea-ultimate,rubymine,idea,pycharm,phpstorm} pycharm-educational PyCharm Educational Edition arduino The Arduino Software Distribution eclipse Pure Eclipse Luna (4.4) webstorm WebStorm pycharm-professional PyCharm Professional Edition idea-ultimate IntelliJ IDEA rubymine Ruby on Rails IDE idea IntelliJ IDEA Community Edition pycharm PyCharm Community Edition phpstorm PhpStorm optional arguments: -h, --help show this help message and exit * Command 'android': usage: umake android [-h] {android-ndk,android-studio} ... positional arguments: {android-ndk,android-studio} android-ndk Android NDK android-studio Android Studio (default) optional arguments: -h, --help show this help message and exit
How to use it
Example: how to install Ubuntu Make and then, Android Studio.
Installing Ubuntu Make
If you are on the latest Ubuntu version (at the time of writing, it is 16.04, codename Xenial), you can install it directly from the Universe archive:
$ sudo apt install ubuntu-make
If your Ubuntu version if before 16.04 (codename Xenial), you can install from the Ubuntu Make PPA. First, add the PPA to your system:
$ sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make $ sudo apt-get update
Then, installing Ubuntu Make:
$ sudo apt-get install ubuntu-make
How to install android-studio
$ umake android
And then, accept the installation path and Google license. It will download, install all requirements alongside Android Studio and latest android SDK itself, then configure and fit it into the system like by adding an Unity launcher icon…
And that's it! Happy Android application hacking on Ubuntu. You will find the familiar experience with the android emulator and sdk manager + auto-updater to always be on the latest.
How to contribute
Reports bugs and propose enhancements
The more direct way of reporting a bug or giving any suggestions is through the upstream bug tracker. Of course, you can always reach us out as well on social networks like g+ or on IRC: #ubuntu-desktop, on freenode. We are also looking at the #ubuntulovesdevs hashtag.
The tool is really to help developers, so do not hesitate to help us directing the Ubuntu Developer Tools Center on the way which is the best for you.
Help translating
We already had some good translations contributions through launchpad! Thanks to all our translators, we got Basque, Chinese (Hong Kong), Chinese (Simplified), French, Italian and Spanish! There are only few strings up for translations in Ubuntu Make and it should take less than half an hour in total to add a new one. It's a very good and useful way to contribute for people speaking other languages than English! We do look at them and merge them in the mainline automatically. Contribute on the code itself
Some people started to offer code contribution and that's a very good and motivating news. Do not hesitate to fork us on the upstream github repo. We'll ensure we keep up to date on all code contributions and pull requests. If you have any questions or for better coordination, open a bug to start the discussion around your awesome idea. We'll try to be around and guide you on how to add any framework support! You will not be alone!
Write some documentation
We have some basic documentation (this wiki page!). If you feel there are any gaps or any missing news, feel free to edit the wiki page! You can as well merge some of the documentation of the https://github.com/ubuntu/ubuntu-make/blob/master/README.md file or propose some enhancements to it!
To give an easy starts to any developers who wants to hack on Ubuntu Make itself, we try to keep the README.md file readable and up to the current code content. However, this one can deviate a little bit, if you think that any part missing/explanation requires, you can propose any modifications to it to help future hackers having an easier start.
Spread the word!
Finally, spreading the word that Ubuntu Loves Developers and we mean it! Talk about it on social network, tagging with #ubuntulovesdevs or in blog posts, or just chatting to your local community! We deeply care about our developer audience on the Ubuntu Desktop and Server and we want this to be known!
ubuntu-make (2016-04-30 03:40:16由anthonywong编辑)