X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdoc%2FDevelopment.lyx;h=eb2917a6362ff6fa7ba0e8473c95b60d9a1564a5;hb=693ca643fc1e6e9d797d8a074285136987b82add;hp=78c4a6cb1c27b9fb11605f3bbca5b015076a9391;hpb=c1e0b24304e67ede19f30c2ee7498386bfcf6808;p=lyx.git diff --git a/lib/doc/Development.lyx b/lib/doc/Development.lyx index 78c4a6cb1c..eb2917a636 100644 --- a/lib/doc/Development.lyx +++ b/lib/doc/Development.lyx @@ -1,5 +1,5 @@ #LyX 2.2 created this file. For more info see http://www.lyx.org/ -\lyxformat 505 +\lyxformat 504 \begin_document \begin_header \save_transient_properties true @@ -27,7 +27,7 @@ logicalmkup \font_tt_scale 100 100 \graphics default \default_output_format pdf2 -\output_sync 0 +\output_sync 1 \bibtex_command default \index_command default \paperfontsize 12 @@ -332,6 +332,12 @@ Implement and test the new feature, including the reading and writing of \end_layout \begin_layout Enumerate +\begin_inset CommandInset label +LatexCommand label +name "enu:Describe_format" + +\end_inset + Describe the new format in \begin_inset Flex Code status collapsed @@ -385,6 +391,12 @@ lib/lyx2lyx/LyX.py \end_layout \begin_layout Enumerate +\begin_inset CommandInset label +LatexCommand label +name "enu:Add-an-entry" + +\end_inset + Add an entry to both format lists (for conversion and reversion) in \begin_inset Newline newline \end_inset @@ -552,49 +564,39 @@ python development/tools/updatedocs.py \end_inset . - Then, revert the change to + Look at the resulting changes using the command \begin_inset Flex Code status collapsed \begin_layout Plain Layout -LFUNs.lyx +git diff \end_layout \end_inset - because that file is meant to be generated separately: +. + If anything looks surprising, please investigate. + Keep in mind that the case of \begin_inset Flex Code status collapsed \begin_layout Plain Layout -git checkout lib/doc/LFUNs.lyx -\end_layout - -\end_inset - - -\begin_inset Note Note -status collapsed - -\begin_layout Plain Layout -TODO: this step should be done within updatedocs.py +LFUNs.lyx \end_layout \end_inset -. - Look at the resulting changes using the command + is special, because it is first generated with \begin_inset Flex Code status collapsed \begin_layout Plain Layout -git diff +gen_lfuns.py \end_layout \end_inset -. - If anything looks surprising, please investigate. + before being converted to the latest format. Finally, commit using \begin_inset Flex Code status collapsed @@ -684,6 +686,96 @@ Updating the file format number of bind/ui files \end_layout \begin_layout Standard +A change to the functionality of existing LFUNs can require a conversion + of +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +.bind +\end_layout + +\end_inset + + and +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +.ui +\end_layout + +\end_inset + + files, and therefore an increment of the LFUN format, as well as a conversion + of Info insets in +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +.lyx +\end_layout + +\end_inset + + files for manuals. + The latter cannot be done automatically and requires also a \SpecialChar LyX + format increase + (think of e.g. + someone who might have made a set of \SpecialChar LyX + teaching manuals for use in their + own group) +\begin_inset Foot +status open + +\begin_layout Plain Layout +\begin_inset Flex URL +status open + +\begin_layout Plain Layout + +http://www.lyx.org/trac/ticket/9794 +\end_layout + +\end_inset + + +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Increment the LFUN file format number in +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +src/LyXAction.h +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Implement the LFUN conversion in +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +lib/scripts/prefs2prefs_lfuns.py +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Enumerate See step \begin_inset CommandInset ref LatexCommand ref @@ -721,6 +813,82 @@ bash development/tools/updatelfuns.sh . \end_layout +\begin_layout Enumerate +Update Info insets in +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +.lyx +\end_layout + +\end_inset + + files. + To do so, increment the \SpecialChar LyX + format and proceed as in +\begin_inset CommandInset ref +LatexCommand ref +reference "subsec:update_lyx_files" + +\end_inset + +, steps +\begin_inset CommandInset ref +LatexCommand ref +reference "enu:Describe_format" + +\end_inset + +- +\begin_inset CommandInset ref +LatexCommand ref +reference "enu:updatefiles" + +\end_inset + +. + In the lyx2lyx implementation ( +\begin_inset CommandInset ref +LatexCommand ref +reference "enu:Add-an-entry" + +\end_inset + +th step), implement a conversion similar to the one in +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +prefs2prefs_lfuns.py +\end_layout + +\end_inset + + above, as well as a corresponding reversion; for this one can use +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +convert_info_insets +\end_layout + +\end_inset + + from +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +lib/lyx2lyx/lyx2lyx_tools.py +\end_layout + +\end_inset + +. + +\end_layout + \begin_layout Subsection Backporting new styles to the stable version \end_layout @@ -1379,8 +1547,8 @@ status collapsed \end_inset command line option. - The test checks for errors reported by LyX (However, error-free export - is no guarantee for an error-free output document.) + The tests checks for errors reported by LyX. + (However, error-free export is no guarantee for an error-free output document.) \end_layout \begin_layout Paragraph @@ -1401,6 +1569,67 @@ When making a non-trivial change to a .layout file, run the export and layout \begin_layout Itemize When making non-trivial changes to a .lyx file, run the export tests correspondin g to that .lyx file. + +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +This rule is due to revision. + +\end_layout + +\begin_layout Plain Layout +There is an objection from the documentation maintainer that working on + the documentation must not be complicated by having to consider non-standard + exports. +\end_layout + +\begin_layout Itemize +successful compiling/testing an edited documentation file with pdflatex + suffices to ensure it can be commited, not tests with other exports are + required. +\end_layout + +\begin_layout Plain Layout +If sudden failures with other exports due to “half-tested” documentation + updates are a problem for the test maintainer, the test suite should use + copies that are +\end_layout + +\begin_layout Itemize +copied to a cache dir (autotests/samples/doc/, say) but not changed, +\end_layout + +\begin_layout Itemize +updated regularely (but on a time chosen by the test suite maintainer) from + the originals in lib/doc/ +\end_layout + +\begin_layout Plain Layout +This way, +\end_layout + +\begin_layout Itemize +no test will fail due to ongoing work on documentation, +\end_layout + +\begin_layout Itemize +the documentation is still tested in full (with some delay), +\end_layout + +\begin_layout Itemize +failures with non-default export can be examined and handled accordingly + in one run with the cache update, +\end_layout + +\begin_layout Itemize +“interesting failures” (like the nested-language+polyglossia problem in + es/Customization can be separated and moved into dedicated test samples. +\end_layout + +\end_inset + + \end_layout \begin_layout Itemize @@ -1738,6 +1967,17 @@ ctest \end_inset +. + A full, up-to-date TeXLive installation is recommended to run the tests. + Otherwise, some tests will fail. + Tests with additional requirements are labeled +\begin_inset Quotes eld +\end_inset + +unreliable:nonstandard +\begin_inset Quotes erd +\end_inset + . \end_layout @@ -1894,7 +2134,6 @@ We are still working on getting the tests to run in parallel. pass when run sequentially. A reasonable approach is to first run the tests in parallel and then run the failed tests sequentially. - \end_layout \begin_layout Standard @@ -1929,6 +2168,35 @@ rerun-failed \end_layout +\begin_layout Standard +When specifying a subset of the tests (e.g. + using +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +\SpecialChar nobreakdash +R +\end_layout + +\end_inset + +), the same subset must be specified when using the +\begin_inset Flex Code +status collapsed + +\begin_layout Plain Layout +\SpecialChar nobreakdash +\SpecialChar nobreakdash +rerun-failed +\end_layout + +\end_inset + + option because it is the test numbers that are used to index which tests + failed on the previous run. +\end_layout + \begin_layout Standard \noindent Note that some tests cannot be run in parallel. @@ -2377,6 +2645,20 @@ reference "par:Unreliable-tests" ). \end_layout +\begin_layout Itemize +In case of tests failing due to missing requirements (when only a subset + of TeXLive is installed or a test labeled +\begin_inset Quotes eld +\end_inset + +unreliable:nonstandard +\begin_inset Quotes erd +\end_inset + + fails), ignore the failure, ask for someone else to run the test, or install + the missing ressources and try again. +\end_layout + \begin_layout Paragraph \begin_inset CommandInset label LatexCommand label