Mercurial > repos > bgruening > diff
changeset 4:10ef1bf99074 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/diff commit 1a6c4a793ef68a43de93316523c1cd9196d80b73
author | bgruening |
---|---|
date | Mon, 09 Dec 2024 14:36:40 +0000 |
parents | 156d0908e232 |
children | |
files | diff.xml test-data/file 3.txt test-data/file3.txt test-data/output_test4.txt |
diffstat | 4 files changed, 60 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/diff.xml Fri Mar 12 16:22:44 2021 +0000 +++ b/diff.xml Mon Dec 09 14:36:40 2024 +0000 @@ -1,7 +1,7 @@ -<tool id="diff" name="diff" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@"> +<tool id="diff" name="diff" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="23.0"> <description>analyzes two files and generates an unidiff text file with information about the differences and an optional Html report</description> <macros> - <token name="@TOOL_VERSION@">3.7</token> + <token name="@TOOL_VERSION@">3.10</token> <token name="@GALAXY_VERSION@">0</token> </macros> <requirements> @@ -13,10 +13,18 @@ <regex match="diff: memory exhausted" source="stdout" level="fatal_oom" description="Out of memory error occurred"/> </stdio> <command><![CDATA[ - diff -u '$input1' '$input2' > '$diff_file'; - #if $generate_report: + diff + #if $report_format.report_format_select == 'txt_lines' or $report_format.report_format_select == 'html' + ## the -u option is needed to convert the output later to HTML + --unified=$report_format.unified + #else if $report_format.report_format_select == 'txt_columns' + -y + #end if + ## If the compared input files differ the diff command returns exit-code 1 + '$input1' '$input2' > '$diff_file' || [ \$? -eq 1 ]; + #if $report_format.report_format_select == 'html' sed -e 's/@@title@@/Diff report for "$input1.element_identifier" and "$input2.element_identifier"/g' - -e 's/@@outputformat@@/'$output_format'/g' + -e 's/@@outputformat@@/'$report_format.output_format'/g' -e '/@@diffoutput@@/{r'$diff_file'' -e ';d}' '$__tool_directory__/template.html' > '$html_file' #end if @@ -25,33 +33,50 @@ <inputs> <param name="input1" type="data" format="txt" label="First input file"/> <param name="input2" type="data" format="txt" label="Second input file"/> - <param name="generate_report" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Generate HTML report" help="Generates an HTML report to visualize the differences"/> - <param name="output_format" type="select" label="Choose report output format" help="Displays the differences in the report using the selected format. Either line by line or side by side."> - <option value="side-by-side">Side by side</option> - <option value="line-by-line">Line by line</option> - </param> + <conditional name="report_format"> + <param name="report_format_select" type="select" label="Choose a report format"> + <option value="txt_lines">Text file, line-by-line (-u)</option> + <option value="txt_columns">Text file, side-by-side (-y)</option> + <option value="html">Generates an HTML report to visualize the differences</option> + </param> + <when value="txt_lines"> + <param argument="--unified" type="integer" min="0" value="3" label="Output this amount of lines of unified context"/> + </when> + <when value="txt_columns"/> + <when value="html"> + <param argument="--unified" type="integer" min="0" value="3" label="Output this amount of lines of unified context"/> + <param name="output_format" type="select" label="Choose report output format" help="Displays the differences in the report using the selected format. Either line by line or side by side."> + <option value="side-by-side">Side by side</option> + <option value="line-by-line">Line by line</option> + </param> + </when> + </conditional> </inputs> <outputs> <data format="txt" name="diff_file" from_work_dir="output.txt" label="${tool.name} on ${on_string}: Raw Output"/> <data format="html" name="html_file" from_work_dir="output.html" label="${tool.name} on ${on_string}: Html Report"> - <filter>generate_report is True</filter> + <filter>report_format['report_format_select'] == 'html'</filter> </data> </outputs> <tests> <test expect_exit_code="0" expect_failure="false" expect_num_outputs="1"> <param name="input1" value="file1.txt"/> <param name="input2" value="file1.txt"/> - <param name="generate_report" value="false"/> + <conditional name="report_format"> + <param name="report_format_select" value="txt_lines"/> + </conditional> <output name="diff_file"> <assert_contents> <has_n_lines n="0"/> </assert_contents> </output> </test> - <test expect_exit_code="1" expect_failure="false" expect_num_outputs="1"> + <test expect_exit_code="0" expect_failure="false" expect_num_outputs="1"> <param name="input1" value="file1.txt"/> <param name="input2" value="file2.txt"/> - <param name="generate_report" value="false"/> + <conditional name="report_format"> + <param name="report_format_select" value="txt_lines"/> + </conditional> <output name="diff_file"> <assert_contents> <has_n_lines n="5"/> @@ -63,7 +88,9 @@ <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> <param name="input1" value="file1.txt"/> <param name="input2" value="file2.txt"/> - <param name="generate_report" value="true"/> + <conditional name="report_format"> + <param name="report_format_select" value="html"/> + </conditional> <output name="html_file"> <assert_contents> <has_text text="!DOCTYPE html"/> @@ -73,8 +100,10 @@ <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> <param name="input1" value="file1.txt"/> <param name="input2" value="file2.txt"/> - <param name="generate_report" value="true"/> - <param name="output_format" value="side-by-side"/> + <conditional name="report_format"> + <param name="report_format_select" value="html"/> + <param name="output_format" value="side-by-side"/> + </conditional> <output name="html_file"> <assert_contents> <has_text text="!DOCTYPE html"/> @@ -85,8 +114,10 @@ <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> <param name="input1" value="file1.txt"/> <param name="input2" value="file2.txt"/> - <param name="generate_report" value="true"/> - <param name="output_format" value="line-by-line"/> + <conditional name="report_format"> + <param name="report_format_select" value="html"/> + <param name="output_format" value="line-by-line"/> + </conditional> <output name="html_file"> <assert_contents> <has_text text="!DOCTYPE html"/> @@ -95,9 +126,12 @@ </output> </test> <test expect_exit_code="0" expect_failure="false" expect_num_outputs="2"> - <param name="input1" value="file 3.txt"/> - <param name="input2" value="file 3.txt"/> - <param name="generate_report" value="true"/> + <param name="input1" value="file3.txt"/> + <param name="input2" value="file3.txt"/> + <conditional name="report_format"> + <param name="report_format_select" value="html"/> + <param name="output_format" value="side-by-side"/> + </conditional> <output name="diff_file"> <assert_contents> <has_n_lines n="0"/> @@ -169,4 +203,4 @@ } </citation> </citations> -</tool> +</tool> \ No newline at end of file
--- a/test-data/file 3.txt Fri Mar 12 16:22:44 2021 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -c