mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
Client Build System
|
|
===================
|
|
|
|
Builds and moves the client-side scripts necessary for running the Galaxy webapps. There's no need to use this system
|
|
unless you are modifying or developing client-side scripts.
|
|
|
|
You'll need Node and the Node Package Manager (npm): nodejs.org.
|
|
|
|
Once npm is installed, install the grunt task manager and it's command line into your global scope:
|
|
|
|
npm install -g grunt grunt-cli
|
|
|
|
Next, from within this directory, install the local build dependencies:
|
|
|
|
cd client
|
|
npm install
|
|
|
|
You're now ready to re-build the client scripts after modifying them.
|
|
|
|
|
|
Rebuilding
|
|
==========
|
|
|
|
There are two methods for rebuilding: a complete rebuild and automatic, partial rebuilds while you develop.
|
|
|
|
A complete rebuild can be done with the following (from the `client` directory):
|
|
|
|
grunt
|
|
|
|
This will:
|
|
|
|
1. compress the files in client/galaxy/scripts and place them in static/scripts
|
|
2. generate source maps and place them in static/maps
|
|
|
|
|
|
Changing Styles/CSS
|
|
===================
|
|
|
|
The CSS and styling used by Galaxy is also controlled from this directory. Galaxy uses LESS, a superset of CSS that
|
|
compiles to CSS, for its styling. LESS files are kept in client/galaxy/style/less. Compiled CSS is in statis/style/blue.
|
|
|
|
Use grunt to recompile the LESS in into CSS (from the `client` directory):
|
|
|
|
grunt style
|
|
|
|
|
|
Grunt watch
|
|
===========
|
|
|
|
Grunt can also do an automatic, partial rebuild of any files you change *as you develop* by:
|
|
|
|
1. opening a new terminal session
|
|
2. `cd client`
|
|
3. `grunt watch`
|
|
|
|
This starts a new grunt watch process that will monitor the files in `client/galaxy/scripts` for changes and copy and
|
|
pack them when they change.
|
|
|
|
You can stop the `grunt watch` task by pressing `Ctrl+C`. Note: you should also be able to background that task if you
|
|
prefer.
|
|
|
|
|
|
Using a Locally Installed Version of Grunt
|
|
==========================================
|
|
|
|
A non-global version of grunt and the grunt-cli are installed when using 'npm install'. If you'd rather build with that
|
|
version, you'll need to use the full, local path when calling it:
|
|
|
|
./node_modules/.bin/grunt
|
|
# or
|
|
./node_modules/.bin/grunt watch
|
|
|
|
|
|
The Toolshed Client Build
|
|
=========================
|
|
|
|
The commands mentioned above in 'Rebuilding' and 'Grunt watch' also can be applied to toolshed scripts by using the
|
|
`--app=toolshed` option:
|
|
|
|
grunt watch --app=toolshed
|
|
grunt --app=toolshed |