Commit Graph
45 Commits
Author SHA1 Message Date
Björn Grüning 6b7634011e Add planemo test files to the tool shed upload blacklist. 2015-01-09 19:02:42 +00:00
Greg Von Kuster 0760ab25ea Add a ToolDataTableManager for managing tool data tables in the Tool Shed. 2014-07-22 15:12:40 -04:00
Greg Von Kuster 38c0d78979 Move 2 Tool Shed utility functions into the middleware hg class. 2014-06-22 08:00:57 -04:00
Greg Von Kuster 88d6c68201 Add a dependency manager with tag attribute handler classes to manage the process of populating and unpopulating the toolshed and changeset_revision attributes for <repository> tag sets when uploading and importing / exporting repositories from the tool shed. 2014-06-21 14:15:20 -04:00
Greg Von Kuster e17ad656ac Fix for handling complex repository dependency definitions that contain recipes that include <package> tag sets that define dependencies needed only for compiling the dependent package. 2014-06-19 17:46:04 -04:00
Greg Von Kuster 4297b7054a Eliminate the use of the Galaxy web transaction object in Tool Shed utility functions related to importing a repository capsule into a Tool Shed and move som hg related functions from the commit_util module to the hg_util module. 2014-06-18 15:28:20 -04:00
Greg Von Kuster 390d05bbd1 Eliminate the Tool Shed's td_common_util.py module by moving the functions to appropriate classes. 2014-05-28 15:49:02 -04:00
Greg Von Kuster b2f3d6a551 Continued down-sizing of the Tool Shed's shed_util_common module by moving certain functions to more appropriate locations. Some fixes for adding and removing entries to the Tool Shed's repository registry. 2014-05-28 11:17:50 -04:00
Greg Von Kuster ec1688d1da Clarify problematic members of tar archives being uploaded to Tool Shed repositories. 2014-05-27 11:13:05 -04:00
Greg Von Kuster 7238ba2304 Use the new hg_util.get_repo_for_repository() function to retrieve a mercurial repo for a repository. 2014-05-21 12:22:16 -04:00
Greg Von Kuster f6b05fea77 Change function signatures for several utility functions that used to require trans but now only need app. 2014-05-21 09:55:12 -04:00
Greg Von Kuster f4fee7d3cb Add a repository registry to the Tool Shed to keep in-memory information about repositories. This will significantly improve some page rendering in the tool shed, specifically the current main Categories splash page. This registry will provide filtered certification information for the planned Tool Shed splash page which will be rendered with Javascript. The Tool Shed's install and test framework still needs to be enhanced to update this registry during install and test runs. 2014-05-20 17:18:14 -04:00
Trevor Wennblom 268dae876e selected_file -> repo_file 2014-04-29 19:24:47 -05:00
Greg Von Kuster 8bce650dda Add a new tool shed mercurial utility module named hg_util.py and begin to extract hg related utility functions out of the shed_util_common.py module. Enhance the functions that display the mercurial changeset rev and hash string to display one or the other or both. Display only the rev and not the hash string on the prominent grids in the tool shed, but continue to display the hash string on admin grids. 2014-04-10 17:11:01 -04:00
Greg Von Kuster 2abe24b292 Better fix than ea1fbe9 and handle first discovered unhandled secure / insecure protocol issue when messing with the tool shed url for installed repositories. 2014-04-03 17:40:44 -04:00
Greg Von Kuster 8f031dfd7b Upon import, handle problematic prior_installation_required attribute incorrectly added (and set to "False") to the <repository> tag when a repository was exported. 2014-04-03 10:19:46 -04:00
Greg Von Kuster 971e9d6f88 Don't add unnecessary (and problematic) prior_installation_required attributes to repository dependency definitions when exporting a repository and its dependencies into a capsule. 2014-04-03 09:31:43 -04:00
Greg Von Kuster e7851779c2 Add the new repository type "Repository suite definition". This new type is associated with repositories that will contain a single file named repository_dependencies.xml that defines simple repository dependency relationships to a collection of repositories that contain related Galaxy utilities. The chemicaltoolbox repository is an example. 2014-03-27 16:03:53 -04:00
Dave Bouvier c2c5ffda35 Fix python 2.6 support. 2014-02-27 09:20:45 -05:00
Greg Von Kuster 73a12d096e Fixes for handling complex repository dependency definitions in tool dependency recipes. 2014-02-26 15:09:43 -05:00
Greg Von Kuster 0a2863a01f When exporting a repository and dependency hierarchy from the tool shed, always make sure the primary repository entry is ordered last in the manifest. 2014-01-07 16:55:59 -05:00
Greg Von Kuster 0aa3b2bc32 Fix for populating and unpopulating complex repository dependency tags sets in tool dependency definitions contained in tool shed repositories. 2013-11-19 08:52:20 -05:00
Dave Bouvier 44d7f92352 Fix for exporting a repository with a complex repository dependency. 2013-11-15 11:14:26 -05:00
Greg Von Kuster 81a793973d Display an error message rather than raising an exception when handling invalid complex repository dependencies in the Tool Shed. 2013-11-14 15:51:24 -05:00
Greg Von Kuster 769667ce7a Add the ability to import a repository capsule that was exported from a tool shed into another tool
shed.  Upon initial upload, the capsule is inspected and validated to ensure it is a valid exported capule.

Also, since exporting a capsule allows for including repository dependencies, the Tool Shed into which the capsule is being imported will be inspected to see if any of the repositories defined by any of the capsule's exported repository archives already exists in the Tool Shed.  Any repository that already exists will not be "overwritten" or altered in any way, but the existing repository will be used.

Since repositories that were exported into the capsule are associated with a user (the owner), the user importing the capsule must have the authorization to create the repository in the current Tool Shed with that same owner.  If the current user is an admin user or a member of the IUC, all repositories will be created no matter the owner.  Otherwise, only repositories whose associated owner is the current user will be created.

Repositories whose import process results in an error will not typically halt the import process for
 any remaining repository archives in the capsule.  However, errors encoutnered with importing a rep
ository that is a dependecy of a later repository may force manual fixes in some cases.  For example
, if a capsule includes 2 repsitories that are defined as circular dependencies, one of the repisoto
ry's repository_dependency.xml file will need to be manually altered to add the appropriate changese
t revision since it was not defined at the time the repository was imported.

The Tool Shed API will be enhanced to accommodate this new feature shortly.
2013-11-08 14:54:21 -05:00
Greg Von Kuster 6895f4eafc Merged from next-stable 2013-11-01 11:38:38 -04:00
Greg Von Kuster 4d65e8f26e Fixes for tool_dependencies.xml files whose recipe is missing either an <actions> tag set or an <actions_group> tag set. Upon upload of a single file, an appropriate error message will be displayed (currently it is logged when uploading a tarball). In either case, when the containing repository is installed, the tool dependency will be set to an error state and and the error message will be associated with the dependency record. 2013-11-01 11:38:04 -04:00
Greg Von Kuster c46ba4aea5 Display an error message rather than raising an exception when a changeset being committed to a tool shed repository includes a dependency definition that has an invalid <repository> tag set. 2013-10-25 11:06:28 -04:00
Greg Von Kuster bd6b375165 Handle automatic population of the toolshed and changeset_revision attributes of <repository> tags defined as subelements of any actions tag type in tool dependency definitions. 2013-10-23 16:30:35 -04:00
Greg Von Kuster 3af26a17b0 Partial framework support for enhanced tool dependency definitions that enable installation of binaries into specified architectures. More coming soon... 2013-09-06 09:38:12 -04:00
Dannon Baker 0f120bd92c Strip trailing whitespace (and windows line endings) from all python files in lib 2013-08-29 23:39:52 -04:00
Greg Von Kuster cf96dccddb Add the ability to export a specified repository revision from the tool shed to a gzip compressed archive saved locally. The ability to import this archive to the same or another tool shed is not yet implemented, but coming soon. All of the repository's repository dependencies can optionally be exported into the same archive. The archive includes a manifest.xml file that contains the order in whcih the repositories in the archive must be imported.
This feature is now available for any installable revision of a repository using the new "Export this revision" option in the Repository actions menu in the browser.  It is also available via the Tool Shed API using a command like the following:

export.py --url http://testtoolshed.g2.bx.psu.edu --name chemicaltoolbox --owner bgruening --revision 4133dbf7ff4d --export_repository_dependencies True --download_dir /tmp
2013-08-02 19:30:03 -04:00
Greg Von Kuster 10ed6d92f1 Fix import in the tool shed's commit_util. 2013-07-26 09:10:23 -04:00
Dave Bouvier 81feb4445e Fix to correctly handle comments in repository dependency definitions. 2013-07-24 10:17:03 -04:00
Greg Von Kuster cfcf08b376 Fixes when pushing changes to a repository in the tool shed from the command line: (a) only allow changes to a single file named tool_dependencies.xml to be pushed to a repository whose type is "Tool dependency definition" and (b) for any changes that are made to dependency definition files, validate the attributes of any <repository> tags, making sure that all required attributes (toolshed, name, owner, changeset_revision) are defined since automatically populating these attributes is supported only when using the tool shed's upload utility. 2013-07-17 15:34:54 -04:00
Greg Von Kuster cbc0a13fbd Only allow a single file named tool_dependencies.xml to be committed to a repository in the tool shed whose type is tool_dependency_definition. 2013-07-15 11:28:41 -04:00
Greg Von Kuster 4ce30a5123 Raise an exception with a useful message if a dependency definition file being uploaded to a repository in the tool shed is missing a required name or owner attribute for a repository dependency. 2013-07-08 14:31:15 -04:00
Greg Von Kuster 7a23a93cf6 A slight variation on Nick Soranzo's pull request # 176 for fixing large file downloades using download_by_url. 2013-06-06 15:05:10 -04:00
Greg Von Kuster 8eb3e7d4fa Eliminate the use of Galaxy's elementree egg within the tool shed. 2013-05-28 12:24:52 -04:00
Greg Von Kuster 98948dd18b Fixes for xml handling in the tol shed. 2013-05-23 14:57:12 -04:00
Greg Von Kuster e7945c8c07 Keep all contents of dependency definition files when re-writing them to include missing toolshed and changeset_revision attributes. 2013-05-23 11:49:52 -04:00
Greg Von Kuster ce76fce4d1 Populate the toolshed attribute when it is missing from the repository tag in dependency definitions with the current tool shed url. 2013-05-22 16:11:55 -04:00
Greg Von Kuster 4d781de114 Fixes for complext repository dependency definitions that do not include a changeset_revision attribute. A fix for indenting the updates XML file is also included. 2013-05-21 12:26:55 -04:00
Greg Von Kuster 7dbe4b11e1 Fixes for committing to a tool shed repository - bug introduced when the tool shed uplaod controller was refactored. 2013-05-17 07:30:53 -04:00
Greg Von Kuster 1d8a1ec1b6 Refactor the tool shed upload controller. 2013-05-16 21:45:54 -04:00