On Mon, Oct 21, 2013 at 1:37 AM, Mitch Curtis <[email protected]> wrote: > On 09/21/2013 12:15 AM, Alan Alpert wrote: >> >> A while ago it came up that the rules for license headers in QML files >> isn't clearly defined. Here's my suggestion for how to define it, and if >> the project likes the idea we can get a legal check and then fix up the >> infrastructure to follow (sanity bot and license-check test). >> >> Current rule is roughly "can be skipped in tests". It's that way for a >> reason, QML unit tests necessarily involve lots of trivially simple QML >> files to test just one specific part of the language. We have separate >> tests for comment parsing, we don't need to extend the CI runs with a >> ton of "double-checking" here ;) . >> >> Since I'm pretty sure the concept is supposed to be only bothering for >> non-trivial code (because bothering to add headers to trivial code is >> useless, boring, and depressing) adding a size limit would be the >> easiest way to make this automatable. Looking at the file sizes, I >> recommend excluding QML files under "tests" from requiring a license >> header if they have <=15 LoC. If those few lines are really ingenious >> contributors are recommended to add a header anyways and there's nothing >> wrong with adding the headers. But if you don't add a header for such a >> small file in tests (and the reviewer agrees the files are trivial), >> then you don't get blocked. >> >> Note that the abundance of tiny, trivial QML files is a tests specific >> problem and so I think this exemption should only apply to the tests >> subdir. All doc/example code should still have license headers checked. >> >> If this sounds good to people, I'll prepare patches to update the >> system. Not patches that add/remove license headers to existing tests. >> >> For reference, this recent patch got a ton of bogus warnings: >> https://codereview.qt-project.org/#change,63591 >> And this patch is blocked because the current exemption is tests/auto >> specific: https://codereview.qt-project.org/#change,64331 >> when tests/benchmarks is obviously in the same boat (and test manual is >> on the fence, so should be left to human judgement). >> >> Appendix A: Graphs of data (LoC in .qml files after removing all >> headers) which informed this suggestion: >> >> QML file size under tests >> >> Inline image 1 >> Same data, zoomed in to see that spike in better res. 15 seems like the >> sweet spot in the data (while still being a fairly trivial amount of >> formatted QML code). >> Inline image 2 >> Length of .qml files in the examples sub-tree for comparision (same >> x-axis scale as the 1st graph): >> Inline image 3 >> >> With a 40 line license header, and looking at those graphs, I think >> we're looking at 60kB of license headers on trivial files if we force >> all the <=15 LoC test files to have licenses. If nothing else, think of >> the poor people on dialup ;) because that's above the "large file >> warning" the bot hands out so freely. >> >> -- >> Alan Alpert > > Are you still interested in doing this, Alan?
Yeah, just lost track of it in the travel hullabaloo. Here's the initial implementation attempt: tst_license.pl: https://codereview.qt-project.org/#change,68767 sanitize-commit: https://codereview.qt-project.org/#change,68770 (warns at >= 20 LoC, since people seemed amenable to a bit above 15). -- Alan Alpert. _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
