summaryrefslogtreecommitdiff
path: root/t
Commit message (Collapse)AuthorAge
* Add a test suite for thread errorsRuss Allbery2021-09-09
| | | | | Test error handling in App::DocKnot::Spin::Thread and adjust the output of some of the error messages to make them easier to read.
* Split off App::DocKnot::Spin::ThreadRuss Allbery2021-09-09
| | | | | | | Move the thread processing into its own module separate from the machinery to drive the recursive site generation. Update the documentation, remove duplicate documentation, and move the thread language documentation into App::DocKnot::Spin::Thread.
* Add an additional spin test pageRuss Allbery2021-09-09
| | | | | Add an additional page that tests a bunch of other commands that were not tested by the existing pages.
* Finish style fixes to App::DocKnot::SpinRuss Allbery2021-09-09
| | | | | | Finish going over all of the methods and fixing formatting and perlcritic errors. Re-enable perlcritic for this file now that it's clean.
* Refactor the core spin parsing codeRuss Allbery2021-09-08
| | | | | | | | | Start the grand refactor of App::DocKnot::Spin. Refactor the core parsing code and move handling of macro definitions, string definitions and \\ into command handlers. Tag commands with whether they care about format arguments and remove a bunch of useless arguments to commands that take arguments but not a format string.
* Switch to Pod::Thread for POD renderingRuss Allbery2021-09-08
| | | | | | Rather than construct a command line for pod2thread, call Pod::Thread directly. Add the required version numbers for dependency modules to the documentation.
* Add support for regenerating POD outputRuss Allbery2021-09-08
| | | | | The spin test suite now contains POD output from App::DocKnot. Add regeneration of that data to t/data/regenerate-data.
* Move sitemap handling into its own moduleRuss Allbery2021-09-08
| | | | | | Create App::DocKnot::Spin::Sitemap to handle sitemap parsing and output based on its contents and move the relevant code there from App::DocKnot::Spin.
* Move spin .versions parsing to a moduleRuss Allbery2021-09-07
| | | | | Create App::DocKnot::Spin::Versions to parse the .versions database. Add more thorough tests of the parsing logic.
* Fix spin with external convertersRuss Allbery2021-09-06
| | | | | | | | | | | | | | | The refactorings broke external converters. Fix that, hopefully, and add a test for pod2html. Refactor the division of labor between the conversion methods and the common method so that it works without reinvoking spin via $FULLPATH. Drop the $FULLPATH global variable. Update perltidy configuration and apply the reformattings to avoid some really horrible formatting decisions in some of the new test code. Add a dependency on Pod::Thread, which is currently only used for the external script but will eventually be used for its API.
* Move spin file stack into module stateRuss Allbery2021-09-06
| | | | | | | Move $FILE and @FILES into module state. Add a test of \include to the test suite, and use it to test handling of pages that don't appear in the sitemap and images that aren't found on the file system.
* Mark App::DocKnot::Spin methods as privateRuss Allbery2021-09-06
| | | | | Mark all methods that aren't part of the external API as private. Reformat the code in a few places to try to make it easier to read.
* Clean up App::DocKnot::Spin preambleRuss Allbery2021-09-06
| | | | | | Remove the now-unnecessary use subs, move use warnings above the module imports, and use 5.024 to declare a version instead of use strict.
* Add tests for spin file deletionRuss Allbery2021-09-06
| | | | | When spinning a directory, spin can optionally delete stray files out of the destination directory. Add tests for this behavior.
* Move spin dependency data into module stateRuss Allbery2021-09-06
| | | | | | | Move %DEPEND into module state. Add a test for the output from spinning a tree of files, test that spinning the same tree twice does nothing, and test that updating a version in .versions forces that file to be spun again.
* Fix command plumbing for spin and spin-fileRuss Allbery2021-09-06
| | | | | | | | | | | | | Plumb spin and spin-file through App::DocKnot::Command to the docknot frontend again. Add documentation for those commands and their options. Add a test for the command-line interface to ensure that plumbing keeps working in the future. Move the logic to compare a tree of spun files into the Test::DocKnot::Spin module so that it can be shared between the command-line test and the API test. Add the test library modules to POD syntax and spelling checks.
* Rework the App::DocKnot::Spin public APIRuss Allbery2021-09-06
| | | | | | | | | | | | | | | | Rewrite the machinery that sets up spinning files. Create new public methods spin_file and spin_tree that should be called by users of the module, and move the per-file spinning logic into a new internal method _spin. Mark more internal methods with an underscore prefix. Always use absolute paths in the input and output module state, and remove a bunch of dodgy logic that creates absolute paths by mucking around with File::Find state. Move %OUTPUT, $REPO, and $SOURCE to internal module state. Create a new _warning method to report a problem in the current file and line number.
* Move macros and strings into module stateRuss Allbery2021-09-06
| | | | | | Move the defined macros and strings for a given document into the App::DocKnot::Spin module state instead of global state. Add a test to exercise \size and string definition.
* Refactor App::DocKnot::Spin output methodRuss Allbery2021-09-06
| | | | | Move $SPACE into module state and rewrite the output method as _output using my current Perl coding style.
* Add App::DocKnot::Spin dependenciesRuss Allbery2021-09-06
| | | | | | Mention the App::DocKnot::Spin dependencies in Build.PL and the overall documentation. Make the Git::Repository dependency unconditional rather than working around its absence.
* Increase coverage thresholdRuss Allbery2021-08-31
| | | | The new test has helped with spin test coverage.
* Add test for spinning a tree of filesRuss Allbery2021-08-31
| | | | | | Add a simple tree of files and test spinning the tree. This adds machinery to generically check a file tree, so the test can be enhanced later by adding more files.
* Merge branch 'master' into spinRuss Allbery2021-08-31
|\
| * Ignore new Community::EmptyReturn perlcritic policyRuss Allbery2021-08-31
| | | | | | | | | | This appears to be the same as Freenode::EmptyReturn and I want to ignore it for the same reason.
* | Create module for spin test functionsRuss Allbery2021-08-31
| | | | | | | | | | Move some of the functionality of spin/file.t to a new Test::DocKnot::Spin module that will be used for later tests.
* | Add test for spinning a single fileRuss Allbery2021-07-19
| | | | | | | | | | | | | | | | Test spinning a single file with App::DocKnot::Spin and change just enough to get the test to pass. Hard-code the old version number for now, since there doesn't seem to be an immediately obvious way to get it. Don't use standard output when spinning a single file since it confuses prove somehow.
* | Remove unused import from t/dist/basic.tRuss Allbery2021-07-18
| |
* | Add documentation of is_file_contentsRuss Allbery2021-07-18
| | | | | | | | | | In Test::RRA, is_file_contents didn't have any POD documentation. Add some.
* | Fix documentation of @CRITIC_IGNORERuss Allbery2021-07-18
| | | | | | | | | | | | The t/data/perl.conf variable @CRITIC_IGNORE had somewhat incorrect documentation after previous changes to the implementation. Update it.
* | Make test robust against Git default branchRuss Allbery2021-07-18
| | | | | | | | | | | | | | Currently, App::DocKnot::Dist requires the release be made from a branch named master, but I now use main as the default branch. Make the test robust against this by forcing the branch to be master for now.
* | Move spin to App::DocKnot::SpinRuss Allbery2021-07-18
|/ | | | | | | Convert the spin program to a module and do the absolute minimum work required to make tests pass, mostly by skipping a bunch of tests. This is not yet a well-behaved module and may not actually work.
* Fix stray blank line in thread outputRuss Allbery2021-03-28
| | | | | | If a package didn't have any contributed programs, the thread template added a stray blank line after developer documentation. Clean that up and improve whitespace handling.
* Add test for Changes file formatRuss Allbery2021-03-27
| | | | Use Test::CPAN::Changes to check the format of the Changes file.
* Support setting debian.package with debian.personalRuss Allbery2021-03-27
| | | | | | Support setting distribution.packaging.debian.package along with distribution.packaging.debian.personal to specify the package name. Do not generate links to Debian in that case.
* Add Debian packaging to metadataRuss Allbery2021-02-27
|
* Don't explicitly depend on Pod::UsageRuss Allbery2021-02-27
| | | | | Pod::Usage comes with Perl core, so follow the normal convention of not calling out that dependency explicitly.
* Isolate tests from global configurationRuss Allbery2021-02-27
| | | | | | Set the relevant XDG environment variables at the top of each test so that the tests will not accidentally pick up any local user configuration.
* docknot dist no longer requires --distdirRuss Allbery2021-02-27
| | | | Update App::DocKnot::Command and the cli/errors test accordingly.
* Release 4.01Russ Allbery2021-02-27
|
* Fix alphabetization of IO::Uncompress::GunzipRuss Allbery2021-02-27
| | | | This comes after IO::Compress::Xz.
* Fix docknot --help, do some post-YAML cleanupRuss Allbery2021-02-27
| | | | | | | | | | | Remove the load_appdata_json helper function from App::DocKnot. This is no longer used now that all DocKnot data is in YAML. Properly depend on and import Pod::Usage so that docknot --help works. Correct the REQUIREMENTS sections of the module documentation to reflect new dependencies and the removal of a JSON dependency from most of DocKnot.
* Add global config file, PGP signing supportRuss Allbery2021-02-27
| | | | | | | | | | | | | | | | DocKnot now supports a global configuration file. The default location is $HOME/.config/docknot/config.yaml, but it honors the XDG environment variables. Currently, this configuration file can be used to set the distribution directory and signing PGP key for docknot dist. docknot dist can now optionally sign distribution tarballs with GnuPG after they have been generated. To request signing, use the --pgp-key command-line option or set pgp_key in the new global configuration file. The -d option to docknot dist is now optional if distdir is set in DocKnot's global configuration file.
* Update to rra-c-util 9.0Russ Allbery2020-12-25
| | | | | Only module version updates and a minor tweak to ignore the .pc directory when checking for obsolete strings.
* Documentation updates for new featuresRuss Allbery2020-12-25
| | | | | | | Add App::DocKnot::Update to the API files, fix a bit more wording to reflect the new single metadata file layout, and add a note to the description that DocKnot generates distribution tarballs as well.
* Move debian under distribution.packaging.debianRuss Allbery2020-12-25
| | | | | This required moving the existing distribution.packaging.debian key to distribution.packaging.debian.package.
* Move build.lancaster to test.lancasterRuss Allbery2020-12-25
|
* Use https for the badge for unmaintained packagesRuss Allbery2020-12-25
|
* Overhaul supplemental section handlingRuss Allbery2020-12-25
| | | | | | | | | | | | Support a test.override metadata key that overrides the Testing section in README and README.md files entirely, except for the note about Lancaster Consensus environment variables. Move readme.sections to just sections, and if it defined a testing section, move that to test.override. Add some additional markup to the Markdown version of building instructions for packages that use Kerberos and Autoconf.
* Move packaging to distribution.packagingRuss Allbery2020-12-24
|
* Move bootstrap to build.bootstrapRuss Allbery2020-12-24
| | | | | Move bootstrap metadata to build.bootstrap now that everything can be specified in a single YAML file.