Merge branch 'release_17.01' into dev

Conflicts:
	client/galaxy/scripts/mvc/tool/tool-form-composite.js
    preserved the dev version

	static/maps/mvc/tool/tool-form-composite.js.map
	static/scripts/bundled/analysis.bundled.js
	static/scripts/bundled/analysis.bundled.js.map
	static/scripts/bundled/libs.bundled.js.map
	static/scripts/mvc/tool/tool-form-composite.js
This commit is contained in:
Martin Cech
2017-02-22 10:54:08 -05:00
24 changed files with 157 additions and 37 deletions
@@ -177,7 +177,7 @@ var History = Backbone.Model
// if we don't flip this, then a fully-fetched list will not be re-checked via fetch
this.contents.allFetched = false;
var fetchFn = self.contents.currentPage !== 0
? function(){ return self.contents.fetchPage( 0 ); }
? function(){ return self.contents.fetchPage( self.contents.currentPage ); }
: function(){ return self.contents.fetchUpdated( lastUpdateTime ); };
// note: if there was no previous update time, all summary contents will be fetched
return fetchFn()
@@ -369,14 +369,17 @@ var HistoryView = _super.extend(
}),
_clickPrevPage : function( ev ){
this.model.clearUpdateTimeout();
this.model.contents.fetchPrevPage();
},
_clickNextPage : function( ev ){
this.model.clearUpdateTimeout();
this.model.contents.fetchNextPage();
},
_changePageSelect : function( ev ){
this.model.clearUpdateTimeout();
var page = $( ev.currentTarget ).val();
this.model.contents.fetchPage( page );
},
@@ -110,17 +110,11 @@ var menu = [
html : _l( 'Unhide Hidden Datasets' ),
anon : true,
func : function() {
// TODO: Deprecate this functionality and replace with group dataset selector and action combination
if( Galaxy && Galaxy.currHistoryPanel && confirm( _l( 'Really unhide all hidden datasets?' ) ) ){
var filtered = Galaxy.currHistoryPanel.model.contents.hidden();
//TODO: batch
filtered.ajaxQueue( Backbone.Model.prototype.save, { visible : true })
.done( function(){
Galaxy.currHistoryPanel.renderItems();
})
.fail( function(){
alert( 'There was an error unhiding the datasets' );
console.error( arguments );
});
$.post(Galaxy.root + "history/adjust_hidden",
{ 'user_action' : 'unhide' },
function(){Galaxy.currHistoryPanel.loadCurrentHistory();});
}
},
},
@@ -128,18 +122,11 @@ var menu = [
html : _l( 'Delete Hidden Datasets' ),
anon : true,
func : function() {
// TODO: Deprecate this functionality and replace with group dataset selector and action combination
if( Galaxy && Galaxy.currHistoryPanel && confirm( _l( 'Really delete all hidden datasets?' ) ) ){
var filtered = Galaxy.currHistoryPanel.model.contents.hidden();
//TODO: batch
// both delete *and* unhide them
filtered.ajaxQueue( Backbone.Model.prototype.save, { deleted : true, visible: true })
.done( function(){
Galaxy.currHistoryPanel.renderItems();
})
.fail( function(){
alert( 'There was an error deleting the datasets' );
console.error( arguments );
});
$.post(Galaxy.root + "history/adjust_hidden",
{ 'user_action' : 'delete' },
function(){Galaxy.currHistoryPanel.loadCurrentHistory();});
}
},
},
@@ -306,6 +306,10 @@ define([ 'utils/utils', 'utils/deferred', 'mvc/ui/ui-misc', 'mvc/form/form-view'
var is_simple_input = ([ 'data_input', 'data_collection_input' ]).indexOf( step.step_type ) != -1;
_.each( step.inputs, function( input ) { input.flavor = 'module'; input.hide_label = is_simple_input; } );
form = new Form( Utils.merge({
<<<<<<< HEAD
=======
title : '<b>' + step.name + '</b>' + step.description,
>>>>>>> release_17.01
onchange : function() { _.each( self.links[ step.index ], function( link ) { self._refreshStep( link ) } ) },
inputs : step.inputs && step.inputs.length > 0 ? step.inputs : [ { type: 'hidden', name: 'No options available.', ignore: null } ]
}, step ) );
@@ -450,7 +454,7 @@ define([ 'utils/utils', 'utils/deferred', 'mvc/ui/ui-misc', 'mvc/form/form-view'
Galaxy.emit.debug( 'tool-form-composite::submit', 'Submission successful.', response );
self.$el.children().hide();
self.$el.append( self._templateSuccess( response ) );
// Show Webhook if job is running
if ($.isArray( response ) && response.length > 0) {
self.$el.append( $( '<div/>', { id: 'webhook-view' } ) );
+1 -1
View File
@@ -29,7 +29,7 @@ if [ "$GALAXY_VIRTUAL_ENV" != "None" -a -z "$VIRTUAL_ENV" \
-a -f "$GALAXY_VIRTUAL_ENV/bin/activate" ]; then
. "$GALAXY_VIRTUAL_ENV/bin/activate"
fi
GALAXY_PYTHON=`which python`
GALAXY_PYTHON=`command -v python`
"""
+16 -3
View File
@@ -11,6 +11,7 @@ import tempfile
import threading
from cgi import FieldStorage
from datetime import datetime
from distutils.version import LooseVersion
from xml.etree import ElementTree
from mako.template import Template
@@ -100,7 +101,7 @@ log = logging.getLogger( __name__ )
HELP_UNINITIALIZED = threading.Lock()
MODEL_TOOLS_PATH = os.path.abspath(os.path.dirname(__file__))
# Tools that require Galaxy's Python environment to be preserved.
GALAXY_LIB_TOOLS = [
GALAXY_LIB_TOOLS_UNVERSIONED = [
"upload1",
# Legacy tools bundled with Galaxy.
"vcf_to_maf_customtrack1",
@@ -136,10 +137,14 @@ GALAXY_LIB_TOOLS = [
"sam_pileup",
"find_diag_hits",
"cufflinks",
"sam_to_bam", # This was fixed with version 1.1.3 of the tool - TODO add Galaxy to PYTHONPATH only for older versions
# Tools improperly migrated to the tool shed (iuc)
"tabular_to_dbnsfp",
]
# Tools that needed galaxy on the PATH in the past but no longer do along
# with the version at which they were fixed.
GALAXY_LIB_TOOLS_VERSIONED = {
"sam_to_bam": LooseVersion("1.1.3"),
}
class ToolErrorLog:
@@ -414,6 +419,10 @@ class Tool( object, Dictifiable ):
self.history_manager = histories.HistoryManager( app )
self._view = views.DependencyResolversView(app)
@property
def version_object(self):
return LooseVersion(self.version)
@property
def sa_session( self ):
"""Returns a SQLAlchemy session"""
@@ -486,7 +495,11 @@ class Tool( object, Dictifiable ):
elif preserve_python_environment == "legacy_and_local" and self.repository_id is None:
return True
else:
return self.old_id in GALAXY_LIB_TOOLS
unversioned_legacy_tool = self.old_id in GALAXY_LIB_TOOLS_UNVERSIONED
versioned_legacy_tool = self.old_id in GALAXY_LIB_TOOLS_VERSIONED
legacy_tool = unversioned_legacy_tool or \
(versioned_legacy_tool and self.version_object < GALAXY_LIB_TOOLS_VERSIONED[self.old_id])
return legacy_tool
def __get_job_tool_configuration(self, job_params=None):
"""Generalized method for getting this tool's job configuration.
+1
View File
@@ -149,6 +149,7 @@ class DependencyManager( object ):
if dependencies:
assert len(dependencies) == len(resolvable_requirements)
for requirement, dependency in zip(resolvable_requirements, dependencies):
log.debug(dependency.resolver_msg)
requirement_to_dependency[requirement] = dependency
# Shortcut - resolution complete.
+45 -1
View File
@@ -82,6 +82,41 @@ class CondaContext(installable.InstallableContext):
ensure_channels = None
self.ensure_channels = ensure_channels
self.ensured_channels = False
self._conda_version = None
self._miniconda_version = None
@property
def conda_version(self):
if self._conda_version is None:
self._guess_conda_version()
return self._conda_version
def _guess_conda_version(self):
conda_meta_path = self._conda_meta_path
# Perhaps we should call "conda info --json" and parse it but for now we are going
# to assume the default.
conda_version = LooseVersion(CONDA_VERSION)
miniconda_version = "3"
if os.path.exists(conda_meta_path):
for package in os.listdir(conda_meta_path):
package_parts = package.split("-")
if len(package_parts) < 3:
continue
package = '-'.join(package_parts[:-2])
version = package_parts[-2]
# build = package_parts[-1]
if package == "conda":
conda_version = LooseVersion(version)
if package == "python" and version.startswith("2"):
miniconda_version = "2"
self._conda_version = conda_version
self._miniconda_version = miniconda_version
@property
def _conda_meta_path(self):
return os.path.join(self.conda_prefix, "conda-meta")
def ensure_channels_configured(self):
if not self.ensured_channels:
@@ -495,7 +530,16 @@ def build_isolated_environment(
export_path
)
export_paths.append(export_path)
create_args = ["--unknown", "--offline"]
create_args = ["--unknown"]
# Works in 3.19, 4.0 - 4.2 - not in 4.3.
# Adjust fix if they fix Conda - xref
# - https://github.com/galaxyproject/galaxy/issues/3635
# - https://github.com/conda/conda/issues/2035
offline_works = conda_context.conda_version < LooseVersion("4.3")
if offline_works:
create_args.extend(["--offline"])
else:
create_args.extend(["--use-index-cache"])
if path is None:
create_args.extend(["--name", tempdir_name])
else:
@@ -147,6 +147,7 @@ class RemoteUser( object ):
"""
return self.error( start_response, title, message )
user_accessible_paths = (
'/users',
'/user/api_keys',
'/user/edit_username',
'/user/dbkeys',
+5
View File
@@ -78,6 +78,11 @@ def paste_app_factory( global_conf, **kwargs ):
# Force /history to go to view of current
webapp.add_route( '/history', controller='history', action='view' )
webapp.add_route( '/history/view/{id}', controller='history', action='view' )
# THIS IS A TEMPORARY ROUTE FOR THE 17.01 RELEASE
# This route supports the previous hide/delete-all-hidden functionality in a history.
# It will be removed after 17.01.
webapp.add_route( '/history/adjust_hidden', controller='history', action='adjust_hidden')
# Force /activate to go to the controller
webapp.add_route( '/activate', controller='user', action='activate' )
webapp.add_route( '/login', controller='root', action='login' )
@@ -826,6 +826,20 @@ class HistoryController( BaseUIController, SharableMixin, UsesAnnotations, UsesI
email=email,
send_to_err=send_to_err )
@web.expose
def adjust_hidden( self, trans, id=None, **kwd ):
""" THIS METHOD IS A TEMPORARY ADDITION. It'll allow us to fix the
regression in history-wide actions, and will be removed in the first
release after 17.01 """
action = kwd.get('user_action', None)
if action == 'delete':
for hda in trans.history.datasets:
if not hda.visible:
hda.mark_deleted()
elif action == 'unhide':
trans.history.unhide_datasets()
trans.sa_session.flush()
@web.expose
@web.require_login( "share restricted histories with other users" )
def share_restricted( self, trans, id=None, email="", **kwd ):
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"options-menu.js","sources":["../../../src/mvc/history/options-menu.js"],"names":["define","PopupMenu","historyCopyDialog","BASE_MVC","_l","Webhooks","buildMenu","isAnon","purgeAllowed","urlRoot","_","clone","menu","filter","menuOption","anon","purge","href","target","confirm","func","galaxy_main","location","html","header","Galaxy","currHistoryPanel","createNewHistory","model","done","loadCurrentHistory","window","id","collapseAll","filtered","contents","hidden","ajaxQueue","Backbone","Model","prototype","save","visible","renderItems","fail","alert","console","error","arguments","deleted","add","url","async","callback","webhooks","webhooks_menu","$","each","models","index","webhook","toJSON","activate","push","config","title","length","unshift","merge","create","$button","options","undefined","anonymous","root"],"mappings":"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"}
{"version":3,"file":"options-menu.js","sources":["../../../src/mvc/history/options-menu.js"],"names":["define","PopupMenu","historyCopyDialog","BASE_MVC","_l","Webhooks","buildMenu","isAnon","purgeAllowed","urlRoot","_","clone","menu","filter","menuOption","anon","purge","href","target","confirm","func","galaxy_main","location","html","header","Galaxy","currHistoryPanel","createNewHistory","model","done","loadCurrentHistory","window","id","collapseAll","$","post","root","user_action","add","url","async","callback","webhooks","webhooks_menu","each","models","index","webhook","toJSON","activate","push","config","title","length","unshift","merge","create","$button","options","undefined","anonymous"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define(["mvc/ui/popup-menu","mvc/history/copy-dialog","mvc/base-mvc","utils/localization","mvc/webhooks"],function(a,b,c,d,e){"use strict";function f(a,b,c){return _.clone(g).filter(function(d){return a&&!d.anon?!1:!b&&d.purge?!1:(d.href&&(d.href=c+d.href,d.target="galaxy_main"),d.confirm&&(d.func=function(){confirm(d.confirm)&&(galaxy_main.location=d.href)}),!0)})}var g=[{html:d("History Lists"),header:!0},{html:d("Saved Histories"),href:"history/list"},{html:d("Histories Shared with Me"),href:"history/list_shared"},{html:d("Current History"),header:!0,anon:!0},{html:d("Create New"),func:function(){Galaxy&&Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.createNewHistory()}},{html:d("Copy History"),func:function(){b(Galaxy.currHistoryPanel.model).done(function(){Galaxy.currHistoryPanel.loadCurrentHistory()})}},{html:d("Share or Publish"),href:"history/sharing"},{html:d("Show Structure"),href:"history/display_structured",anon:!0},{html:d("Extract Workflow"),href:"workflow/build_from_current_history"},{html:d("Delete"),anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete the current history?"))&&(galaxy_main.window.location.href="history/delete?id="+Galaxy.currHistoryPanel.model.id)}},{html:d("Delete Permanently"),purge:!0,anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete the current history permanently? This cannot be undone."))&&(galaxy_main.window.location.href="history/delete?purge=True&id="+Galaxy.currHistoryPanel.model.id)}},{html:d("Dataset Actions"),header:!0,anon:!0},{html:d("Copy Datasets"),href:"dataset/copy_datasets"},{html:d("Dataset Security"),href:"root/history_set_default_permissions"},{html:d("Resume Paused Jobs"),href:"history/resume_paused_jobs?current=True",anon:!0},{html:d("Collapse Expanded Datasets"),func:function(){Galaxy&&Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.collapseAll()}},{html:d("Unhide Hidden Datasets"),anon:!0,func:function(){if(Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really unhide all hidden datasets?"))){var a=Galaxy.currHistoryPanel.model.contents.hidden();a.ajaxQueue(Backbone.Model.prototype.save,{visible:!0}).done(function(){Galaxy.currHistoryPanel.renderItems()}).fail(function(){alert("There was an error unhiding the datasets"),console.error(arguments)})}}},{html:d("Delete Hidden Datasets"),anon:!0,func:function(){if(Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete all hidden datasets?"))){var a=Galaxy.currHistoryPanel.model.contents.hidden();a.ajaxQueue(Backbone.Model.prototype.save,{deleted:!0,visible:!0}).done(function(){Galaxy.currHistoryPanel.renderItems()}).fail(function(){alert("There was an error deleting the datasets"),console.error(arguments)})}}},{html:d("Purge Deleted Datasets"),confirm:d("Really delete all deleted datasets permanently? This cannot be undone."),href:"history/purge_deleted_datasets",purge:!0,anon:!0},{html:d("Downloads"),header:!0},{html:d("Export Tool Citations"),href:"history/citations",anon:!0},{html:d("Export History to File"),href:"history/export_archive?preview=True",anon:!0},{html:d("Other Actions"),header:!0},{html:d("Import from File"),href:"history/import_archive"}];e.add({url:"api/webhooks/history-menu/all",async:!1,callback:function(a){var b=[];$.each(a.models,function(a,c){var e=c.toJSON();e.activate&&b.push({html:d(e.config.title),anon:!0})}),b.length>0&&(b.unshift({html:d("Webhooks"),header:!0}),$.merge(g,b))}});var h=function(b,c){c=c||{};var d=void 0===c.anonymous?!0:c.anonymous,e=c.purgeAllowed||!1,g=f(d,e,Galaxy.root);return new a(b,g)};return h});
define(["mvc/ui/popup-menu","mvc/history/copy-dialog","mvc/base-mvc","utils/localization","mvc/webhooks"],function(a,b,c,d,e){"use strict";function f(a,b,c){return _.clone(g).filter(function(d){return a&&!d.anon?!1:!b&&d.purge?!1:(d.href&&(d.href=c+d.href,d.target="galaxy_main"),d.confirm&&(d.func=function(){confirm(d.confirm)&&(galaxy_main.location=d.href)}),!0)})}var g=[{html:d("History Lists"),header:!0},{html:d("Saved Histories"),href:"history/list"},{html:d("Histories Shared with Me"),href:"history/list_shared"},{html:d("Current History"),header:!0,anon:!0},{html:d("Create New"),func:function(){Galaxy&&Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.createNewHistory()}},{html:d("Copy History"),func:function(){b(Galaxy.currHistoryPanel.model).done(function(){Galaxy.currHistoryPanel.loadCurrentHistory()})}},{html:d("Share or Publish"),href:"history/sharing"},{html:d("Show Structure"),href:"history/display_structured",anon:!0},{html:d("Extract Workflow"),href:"workflow/build_from_current_history"},{html:d("Delete"),anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete the current history?"))&&(galaxy_main.window.location.href="history/delete?id="+Galaxy.currHistoryPanel.model.id)}},{html:d("Delete Permanently"),purge:!0,anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete the current history permanently? This cannot be undone."))&&(galaxy_main.window.location.href="history/delete?purge=True&id="+Galaxy.currHistoryPanel.model.id)}},{html:d("Dataset Actions"),header:!0,anon:!0},{html:d("Copy Datasets"),href:"dataset/copy_datasets"},{html:d("Dataset Security"),href:"root/history_set_default_permissions"},{html:d("Resume Paused Jobs"),href:"history/resume_paused_jobs?current=True",anon:!0},{html:d("Collapse Expanded Datasets"),func:function(){Galaxy&&Galaxy.currHistoryPanel&&Galaxy.currHistoryPanel.collapseAll()}},{html:d("Unhide Hidden Datasets"),anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really unhide all hidden datasets?"))&&$.post(Galaxy.root+"history/adjust_hidden",{user_action:"unhide"},function(){Galaxy.currHistoryPanel.loadCurrentHistory()})}},{html:d("Delete Hidden Datasets"),anon:!0,func:function(){Galaxy&&Galaxy.currHistoryPanel&&confirm(d("Really delete all hidden datasets?"))&&$.post(Galaxy.root+"history/adjust_hidden",{user_action:"delete"},function(){Galaxy.currHistoryPanel.loadCurrentHistory()})}},{html:d("Purge Deleted Datasets"),confirm:d("Really delete all deleted datasets permanently? This cannot be undone."),href:"history/purge_deleted_datasets",purge:!0,anon:!0},{html:d("Downloads"),header:!0},{html:d("Export Tool Citations"),href:"history/citations",anon:!0},{html:d("Export History to File"),href:"history/export_archive?preview=True",anon:!0},{html:d("Other Actions"),header:!0},{html:d("Import from File"),href:"history/import_archive"}];e.add({url:"api/webhooks/history-menu/all",async:!1,callback:function(a){var b=[];$.each(a.models,function(a,c){var e=c.toJSON();e.activate&&b.push({html:d(e.config.title),anon:!0})}),b.length>0&&(b.unshift({html:d("Webhooks"),header:!0}),$.merge(g,b))}});var h=function(b,c){c=c||{};var d=void 0===c.anonymous?!0:c.anonymous,e=c.purgeAllowed||!1,g=f(d,e,Galaxy.root);return new a(b,g)};return h});
//# sourceMappingURL=../../../maps/mvc/history/options-menu.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,22 @@
<tool id="mulled_example_multi_incomplete" name="mulled_example_multi_incomplete" version="0.1.0">
<command><![CDATA[
bedtools --version > $out_file1 ;
echo "Moo" >> $out_file1 ;
samtools >> $out_file1 2>&1 ;
echo "Cow" >> $out_file1 ;
]]></command>
<requirements>
<requirement type="package" version="1.3.1">samtools</requirement>
<requirement type="package" version="2.26.0">bedtools</requirement>
<!-- Because the Conda resolver will fail to install all three of these together
it will need to build a per-job environment out of just the first two.
-->
<requirement type="package" version="4.5">notarealpackage</requirement>
</requirements>
<inputs>
<param name="input1" type="data" optional="true" />
</inputs>
<outputs>
<data name="out_file1" format="txt" />
</outputs>
</tool>
@@ -130,6 +130,7 @@
<!-- Tools for dependency and container testing. -->
<tool file="legacy_r.xml" />
<tool file="mulled_example_multi_1.xml" />
<tool file="mulled_example_multi_incomplete.xml" />
<tool file="mulled_example_conflict.xml" />
<tool file="simple_constructs.yml" />