-
Notifications
You must be signed in to change notification settings - Fork 182
Linux Development for Contributors
Brackets officially supports Mac and Windows. However, we're working on adding Linux support with the help of our open source community. If you're an end user that just wants to try out Brackets on Linux, please be aware that many features are missing or partially implemented.
To be clear, if you are NOT an extension developer and NOT planning to contribute to brackets-shell, please visit download.brackets.io to download a preview build of Brackets. Please review the release notes for known issues.
IMPORTANT: This setup script only works for 32-bit Linux. 64-bit support is in progress (Use jasonsanjose/linux-sprint-28 branch. See https://github.com/adobe/brackets-shell/pull/288). On master
developers have already reported issues with this script on 64-bit Linux. DO NOT ATTEMPT a 64-bit install from master
, use jasonsanjose/linux-sprint-28
.
These instructions will download the Git repositories for brackets-shell and brackets, download required dependencies, compile the native shell, create and install a debian package, then run Brackets ( /usr/bin/brackets
points to /usr/lib/brackets/Brackets
).
- Fork brackets and fork brackets-shell
- Create a top level folder to contain the Brackets git repositories
- In a terminal window,
cd
to the folder from the previous step and run the following command
# master with 32-bit support only
wget https://gist.github.com/jasonsanjose/5514813/raw/e2e688f0e5151b93a2f2c17c93436bac13d32f35/setup.sh; chmod +x setup.sh; bash setup.sh; rm setup.sh
# jasonsanjose/linux-sprint-28
# TODO update when https://github.com/adobe/brackets-shell/pull/288 is merged
# wget https://gist.github.com/jasonsanjose/5514813/raw/0daee71bf39c8c72ed2f1bb51558810da1e62986/setup.sh; chmod +x setup.sh; bash setup.sh; rm setup.sh
- You'll be prompted for your GitHub user name to clone your fork of the repositories
- Respond to
sudo
password prompts when requested
ATTENTION This setup script will point your git origin
to your own fork, then add a remote upstream
and point to the upstream/master
branch in the main git repository. Assuming you're here to contribute to Brackets, you will want to point to your fork later on. This setup script automates the fork and upstream setup instructions here.
# cache root
~/.Brackets
# browser cache, local storage, etc.
~/.Brackets/cef_data
# extensions
~/.Brackets/extensions/user
The extension development workflow is the same as Mac and Windows. Please refer to How to hack on Brackets and How to write extensions. Please note that the extension location on Linux is ~/.Brackets/extensions/user
.
Contributors: If you are willing to test other Linux distributions please add your results here
Distribution | Version | Issues |
---|---|---|
Ubuntu | 13.04 64-bit | (1) libudev workaround https://github.com/adobe/brackets/issues/4720 (2) use jasonsanjose/linux-sprint-29 branch. See https://github.com/adobe/brackets-shell/pull/297 |
Ubuntu | 12.04 32-bit | None |
Ubuntu | 12.04 64-bit | Use jasonsanjose/linux-sprint-29 branch. See https://github.com/adobe/brackets-shell/pull/297 |
Mint 15 | 64-bit | Use jasonsanjose/linux-sprint-29 branch. See https://github.com/adobe/brackets-shell/pull/297 |
LMDE(*) | Debian Testing 32 bit | None |
Arch | 32/64-bit | Not tested / None - (Package: https://aur.archlinux.org/packages/brackets-git) |
(*) Linux Mint Debian Edition
TODO update after https://github.com/adobe/brackets-shell/pull/288
* Replace `make` with `grunt build`
The setup script will automatically create /path/to/brackets-shell/Makefile
. If you're only making changes to C++ code, just run make
and the binaries will be in /path/to/brackets-shell/out/Release
.
When adding new files or changing the build configuration, you'll need to make modifications to the GYP configuration files (either appshell.gyp.txt
or common.gypi
). After making changes, you'll need to generate a new Makefile
. To do this, run:
gyp --depth .
TODO update after https://github.com/adobe/brackets-shell/pull/288
To build a debian package for installation on Debian/Ubuntu distributions, use the `grunt installer` build task. This tasks copies over both the binaries and the www source and creates a debian pacakge, e.g. installer/linux/Brackets Sprint 28.deb.
On Mac and Windows we would use the grunt installer
task to build an installer. However, we haven't updated all our Grunt tasks for Linux yet. In the meantime, you can do the following to copy the www source and binaries into a debian package
cd /path/to/brackets-shell
# copy shell binaries and www files from brackets repo
grunt copy:linux copy:www copy:samples
# creates debian package installer/linux/brackets.deb
./installer/linux/build_installer.sh
There are several user stories (feature work) to complete in brackets-shell before the Linux version reaches feature parity with Mac and Windows. These stories are listed below in priority order
User Story | Status | Affected Features | Contact |
---|---|---|---|
Update CEF | In Progress | Everything | Jason San Jose |
Node Integration | Not Started | Live Preview HTML Highlighting, Extension Manager Install/Update/Remove | Joel Brandt |
Ubuntu Installer/Packaging | In Progress | Install experience | Jason San Jose |
File API - delete, rename | Not Started | Project tree and File menu delete and rename commands | |
Native Menus | Not Started | Menus (HTML menus are an interim, but completely functional substitute) | |
Show in OS | Not Started | Project tree command to show the selected file in the native OS file viewer | |
Automated Builds | Not Started | Jason San Jose |
We tag Linux-specific bugs in our GitHub issues.
- 2013-08-09: Edit inline sprint 28 comments
- 2013-07-30: Inline draft comments for sprint 28 build
- 2013-06-22: Updated
brackets-shell/linux
branch with SVG app icon jasonsanjose - 2013-06-21: Linux branches land in master in
brackets-shell
andbrackets
. Includes: CEF parity with Mac and Win, stubbed methods for incomplete native shell stories (Node, File I/O, etc.), debian packaging. jasonsanjose