Merge Galaxy-XSD into project#2923
Conversation
git-svn-id: https://svn.msi.umn.edu/tint/trunk@427 29e1c259-b37a-0410-ae23-5fb2df606144
Element order is not enforced by Galaxy.
This includes: -<requirements> -<requirement> -Enumeration RequirementType
Add attributes min and max to Repeat element
The <param> tag can contain <options> to dynamically create a list of options.
Add seven missing attributes to <param> tag Add the necessary datatypes for display, hierarchy and checked.
Add three missing attributes to <data> tag Add <filter> element to sequence
Add the <parallelism> tag (which serves for splitting job) and the datatype for the 'method' attribute.
Add <stdio> tag set, to handle tool messages on standard output and standard error. - Add <stdio> tag - Add <regex> and <exit_code> sub elements - Add datatypes for 'range', 'level' and 'source' attributes
Version information can be too complex for xs:decimal (eg "0.12.7"). Change for xs:string.
According to the documentation, CheckedType can either be 'yes', 'true' or 'on' ; but many tools use '[Ff]alse' which seems to be accepted/ignored by Galaxy.
<xs:boolean> can either be 'true', 'false', '1' or 'O' ; but many Galaxy tools use 'True' and 'False' (capitalized), which appears to be ignored/accepted by Galaxy. This PermissiveBoolean type is meant to be used in place of xs:boolean when needed.
These are undocumented attributes.
Add attributes 'compare', 'keep' and 'value' to <filter> tag (though these attributes are not documented). Add CompareType for possible 'compare' values.
|
+1 on the principle of shipping xsd with Galaxy On Thu, Sep 15, 2016, 00:23 John Chilton notifications@github.com wrote:
|
|
👍 |
|
I think present and future tool authors will be very happy with this. 👍 |
lib/galaxy/tools/xsd/test.sh
Outdated
| cd galaxy | ||
| git pull | ||
| cd .. | ||
|
|
There was a problem hiding this comment.
I think that lines 2-9 can be removed.
lib/galaxy/tools/xsd/test.sh
Outdated
| git pull | ||
| cd .. | ||
|
|
||
| count=`wc -l tool_files.list | cut -f1 -d' '` |
There was a problem hiding this comment.
There is no tool_files.list file.
- Merge in @bgruening's numerous awesome fixes. - Remove test script with issues that make if not a fit for this repo in that form (noted by @nsoranzo). - Incorporate other changes to the XSD suggested by @nsoranzo.
|
Pushed babaf7a to address reviewer comments on XSD.
|
lib/galaxy/tools/xsd/LICENSE
Outdated
| @@ -0,0 +1,22 @@ | |||
| The MIT License (MIT) | |||
|
|
|||
| Copyright (c) 2011-2015 John Chilton, Jean-Frédéric Berthelot, Pierre Lindenbaum | |||
|
Thanks @jmchilton! Ready for merge? |
|
I consider it ready for merging. I'll open a new PR regarding the LICENSE (let's see if we can drop it as a special license inside of Galaxy) - though I did update the year. |
|
I would leave it open for a bit - it deserves to be open for more than 14 hours I believe. |
|
I'm pretty sure we can relocate this here and keep the LICENSE statement as it is, but it would be cleaner if we re-licensed it under Galaxy's license. @JeanFred, @lindenb as co-copyright holders I was hoping to get your explicit permission to re-license this under the terms of Galaxy's license. It is a permissive (not copy-left) license very much in the spirit of the original MIT license I believe. Regardless, this PR adds both of your names to Galaxy's CONTRIBUTORS list. |
|
Wow, I’m really, really happy to see this integrated into core Galaxy!
Sure, I am fine with re-licensing or dual-licensing my contributions to make it easier to manage for the Galaxy project. I was not very familiar with AFL but it looks good to me. To make it official sounding:
Thanks everyone! |
- Add CI script that lints the XSD definition and then validates all test tools against it. - Add tox environment to run the aforementioned script. - Add Travis check through tox to run the script. This will hopefully ensure that all new tool features get added to the schema (as long as there is a test tool for the feature). xref galaxyproject#2923 galaxyproject#2903 Largely based on work done in Galaxy-XSD by JeanFred (e.g. galaxyproject/Galaxy-XSD@386ba08)
- Add CI script that lints the XSD definition and then validates all test tools against it. - Add tox environment to run the aforementioned script. - Add Travis check through tox to run the script. - Drop the multi_page.xml test tool - pages have been removed from the framework and are not part of the schema (xref galaxyproject#1776). This will hopefully ensure that all new tool features get added to the schema (as long as there is a test tool for the feature). xref galaxyproject#2923 galaxyproject#2903 Largely based on work done in Galaxy-XSD by JeanFred (e.g. galaxyproject/Galaxy-XSD@386ba08)
Transplanted with commit authors maintained.
The most obvious advantages of it living here instead of its own project is that it gives it higher profile and it allows the version of the schema to match that of Galaxy (so we can check at least if the XML structure of a tool is valid for a given release).
This has a few more advantages being in core that will probably come from follow up commits if this makes it in:
A Markdown document generated from this XSD is available for preview at https://github.com/jmchilton/planemo/blob/xsd_and_docs/docs/schema.md#tool%7Ctests%7Ctest%7Crepeat. I think in a subsequent commit I'll move those docs here - but for now it is a good way to "visualize" the XSD.