diff --git a/.ci/flake8_wrapper.sh b/.ci/flake8_wrapper.sh index d087ebb23d3..4924f630a8a 100755 --- a/.ci/flake8_wrapper.sh +++ b/.ci/flake8_wrapper.sh @@ -5,4 +5,4 @@ set -e flake8 --exclude `paste -sd, .ci/flake8_blacklist.txt` . # Apply stricter rules for the directories shared with Pulsar -flake8 --ignore= --max-line-length=150 lib/galaxy/jobs/runners/util/ lib/pulsar/ +flake8 --ignore= --max-line-length=150 lib/galaxy/jobs/runners/util/ diff --git a/.ci/py3_sources.txt b/.ci/py3_sources.txt index 75869f8cb23..75546357121 100644 --- a/.ci/py3_sources.txt +++ b/.ci/py3_sources.txt @@ -1,6 +1,5 @@ lib/galaxy/util/ lib/galaxy/jobs/runners/util/ -lib/pulsar/ lib/galaxy/tools/parser/ lib/galaxy/tools/lint.py lib/galaxy/tools/lint_util.py diff --git a/.gitignore b/.gitignore index 7daf85140fd..371240a7939 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ database/citations database/community_files database/compiled_templates database/files +database/jobs_directory database/job_working_directory database/pbs database/tmp diff --git a/Makefile b/Makefile index 309cd737748..8100a8e1068 100644 --- a/Makefile +++ b/Makefile @@ -5,12 +5,47 @@ RELEASE_NEXT:=16.04 #RELEASE_NEXT_BRANCH:=release_$(RELEASE_NEXT) RELEASE_NEXT_BRANCH:=dev RELEASE_UPSTREAM:=upstream +# Location of virtualenv used for development. +VENV?=.venv +# Source virtualenv to execute command (flake8, sphinx, twine, etc...) +IN_VENV=if [ -f $(VENV)/bin/activate ]; then . $(VENV)/bin/activate; fi; +PROJECT_URL?=https://github.com/galaxyproject/galaxy GRUNT_DOCKER_NAME:=galaxy/client-builder:16.01 all: help @echo "This makefile is primarily used for building Galaxy's JS client. A sensible all target is not yet implemented." -npm-deps: +docs: ## generate Sphinx HTML documentation, including API docs + $(IN_VENV) $(MAKE) -C doc clean + $(IN_VENV) $(MAKE) -C doc html + +_open-docs: + open doc/_build/html/index.html || xdg-open doc/_build/html/index.html + +open-docs: docs _open-docs ## generate Sphinx HTML documentation and open in browser + +open-project: ## open project on github + open $(PROJECT_URL) || xdg-open $(PROJECT_URL) + +lint: ## check style using tox and flake8 for Python 2 and Python 3 + $(IN_VENV) tox -e py27-lint && tox -e py34-lint + +release-issue: ## Create release issue on github + $(IN_VENV) python scripts/bootstrap_history.py --create-release-issue $(RELEASE_CURR) + +release-check-metadata: ## check github PR metadata for target release + $(IN_VENV) python scripts/bootstrap_history.py --check-release $(RELEASE_CURR) + +release-check-blocking-issues: ## Check github for release blocking issues + $(IN_VENV) python scripts/bootstrap_history.py --check-blocking-issues $(RELEASE_CURR) + +release-check-blocking-prs: ## Check github for release blocking PRs + $(IN_VENV) python scripts/bootstrap_history.py --check-blocking-prs $(RELEASE_CURR) + +release-bootstrap-history: ## bootstrap history for a new release + $(IN_VENV) python scripts/bootstrap_history.py --release $(RELEASE_CURR) + +npm-deps: ## Install NodeJS dependencies. cd client && npm install grunt: npm-deps ## Calls out to Grunt to build client @@ -22,7 +57,7 @@ style: npm-deps ## Calls the style task of Grunt webpack: npm-deps ## Pack javascript cd client && node_modules/webpack/bin/webpack.js -p -client: grunt style webpack ## Process all client-side tasks +client: grunt style webpack ## Rebuild all client-side artifacts grunt-docker-image: ## Build docker image for running grunt docker build -t ${GRUNT_DOCKER_NAME} client @@ -35,7 +70,7 @@ clean-grunt-docker-image: ## Remove grunt docker image # Release Targets -create_release_rc: ## Create a release-candidate branch +release-create-rc: ## Create a release-candidate branch git checkout dev git pull --ff-only ${RELEASE_UPSTREAM} dev git push origin dev diff --git a/README.rst b/README.rst index 42433b53ef8..0362fcc29da 100644 --- a/README.rst +++ b/README.rst @@ -56,3 +56,8 @@ Issues and Galaxy Development ============================= Please see `CONTRIBUTING.md `_ . + +Roadmap +============================= + +Interested in the next steps for Galaxy? Take a look here: https://github.com/galaxyproject/galaxy/issues/1928 diff --git a/client/galaxy/scripts/layout/masthead.js b/client/galaxy/scripts/layout/masthead.js index c9e29be9228..ccc16b53fc6 100644 --- a/client/galaxy/scripts/layout/masthead.js +++ b/client/galaxy/scripts/layout/masthead.js @@ -29,7 +29,6 @@ var View = Backbone.View.extend({ // scratchbook Galaxy.frame = this.frame = new Scratchbook( { collection: this.collection } ); - $( 'body' ).append( this.frame.$el ); // set up the quota meter (And fetch the current user data from trans) // add quota meter to masthead diff --git a/client/galaxy/scripts/layout/menu.js b/client/galaxy/scripts/layout/menu.js index a6fcd4a0c67..f82b571dddd 100644 --- a/client/galaxy/scripts/layout/menu.js +++ b/client/galaxy/scripts/layout/menu.js @@ -41,23 +41,19 @@ var Collection = Backbone.Collection.extend({ url : 'library/index', tooltip : 'Access published resources', menu : [{ - title : 'Data Libraries deprecated', - url : 'library/index' - },{ title : 'Data Libraries', - url : 'library/list', - divider : true + url : 'library/list' },{ - title : 'Published Histories', + title : 'Histories', url : 'history/list_published' },{ - title : 'Published Workflows', + title : 'Workflows', url : 'workflow/list_published' },{ - title : 'Published Visualizations', + title : 'Visualizations', url : 'visualization/list_published' },{ - title : 'Published Pages', + title : 'Pages', url : 'page/list_published' }] }); diff --git a/client/galaxy/scripts/layout/page.js b/client/galaxy/scripts/layout/page.js index b48e9593726..f46fab847d5 100644 --- a/client/galaxy/scripts/layout/page.js +++ b/client/galaxy/scripts/layout/page.js @@ -32,7 +32,8 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({ Galaxy.modal = this.modal = new Modal.View(); this.masthead = new Masthead.View( this.options.config ); this.$el.attr( 'scroll', 'no' ); - this.$el.append( this._template() ); + this.$el.html( this._template() ); + this.$el.append( this.masthead.frame.$el ); this.$el.append( this.masthead.$el ); this.$el.append( this.modal.$el ); this.$messagebox = this.$( '#messagebox' ); @@ -72,11 +73,11 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({ renderInactivityBox : function() { if( this.options.show_inactivity_warning ){ var content = this.options.inactivity_box_content || ''; - var verificationLink = $( '' ).attr( 'href', Galaxy.root + 'user/resend_verification' ).html( 'Resend verification.' ); + var verificationLink = $( '' ).attr( 'href', Galaxy.root + 'user/resend_verification' ).text( 'Resend verification' ); this.$el.addClass( 'has-inactivity-box' ); this.$inactivebox - .html( content ) - .append( ' ' + verificationLink ) + .html( content + ' ' ) + .append( verificationLink ) .toggle( !!content ) .show(); } else { @@ -93,10 +94,14 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({ if( _.has( page, panelId ) ){ page[ panelId ].setElement( '#' + panelId ); page[ panelId ].render(); - } else if ( panelId !== 'center' ) { - page.center.$el.css( panelId, 0 ); } }); + if( !this.left ){ + this.center.$el.css( 'left', 0 ); + } + if( !this.right ){ + this.center.$el.css( 'right', 0 ); + } return this; }, @@ -106,27 +111,26 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({ '
', '
', '
', - '
', - '
', - '
', - '