On 13/11/2019 11:38, Gilles Sadowski wrote:
Hello.
Le mar. 12 nov. 2019 à 17:41, Alex Herbert <[email protected]> a écrit :
On 12 Nov 2019, at 15:39, Gilles Sadowski <[email protected]> wrote:
Hello Alex.
Le mar. 12 nov. 2019 à 16:15, Alex Herbert <[email protected]
<mailto:[email protected]>> a écrit :
On 12/11/2019 09:06, Gilles Sadowski wrote:
2019-11-12 2:28 UTC+01:00, Alex Herbert <[email protected]>:
On 11 Nov 2019, at 23:40, Gilles Sadowski <[email protected]> wrote:
Hi.
Maybe I'm missing what the issues really are,
All empty japicmp reports on the site.
Some confusing empty Jacoco aggregate reports on the site.
so sorry if this top-posted
reply is beside the points:
1. There always have been several issues with JapiCmp (I do not remember
exactly which; it must be in the ML archive); it never worked with
Commons
RNG. [As as been mentioned in some thread and on JIRA, it might be worth
spending time (if any) setting up the tools provided by the "revapi"
project.]
For now, Clirr still works fine for [RNG] (IIUC because of its "old" JDK
target)
and there is no need to have JapiCmp.
I’ve got japicmp to work in master. Maybe old versions had problems that
have now been fixed.
I seem to remember that it failed the build for release 1.0 because there
was no version to compare with (and it couldn't be prevented to run using
the CP setup - cf. below).
Looking at the documentation I think this problem has been fixed with
optional properties. The appropriate property is not used in CP but a
project could just set it to true and the build would not fail.
I think commons-parent should not be setup to generated empty reports when
it is not included as a profile.
+1
That was one of the issue. Such plugins are optionally activated by the
presence of a file, and should not run if the file is not present. The setup
works for other tools but it didn't for JapiCmp.
2. IMHO, there is no need for Jacoco aggregate reports; each module has
its
own "plain" report, accessible under the module's "sub-site" along with
all
the other reports concerned with that particular body of code. If
designed
correctly (and in order to work under JPMS), the modules must have
acyclic dependencies, and it seems to me equally meaningless to have
modules
aggregate reports as to have aggregate reports of external dependencies.
+1.
I’ve disabled the aggregate report in RNG. I think it should be disabled in
commons-parent.
+ 1
AFAICT, the latest CP enhanced automation does not take into account
the "multi-module" maven feature.
I had raised the question of why a "dist-archive" module is necessary:
It seems to me that all the info being in the modules, the main POM
should be able to generate, collect and "archive" all the artefacts under
its own "target" directory.
I've never dug very deep into maven, so I don't how whether it's possible
or whether it's indeed to be done the (contorted, IMHO) way it is now.
I've tried to update RNG to work with japicmp conditionally.
Unfortunately once the maven plugin is included there is no way to
totally disable it. It will always put up an empty report in the site
generation.
The fix was to locally change CP 49 (which RNG depends on) to move all
the configuration inside the profile that is activated using the file
'src/site/resources/profile.japicmp'.
A first fix with this present broke the RNG build on pre-Java8 JDKs. The
profile activation should also include activation if the JDK is 1.8+:
<activation>
<jdk>[1.8,)</jdk>
<file>
<exists>src/site/resources/profile.japicmp</exists>
</file>
</activation>
I've rebuilt the report pages of the site using this set-up (fixed RNG,
fudged CP 49 locally). The JaCoCo aggregates are gone and the japicmp
reports are gone for all but:
https://commons.apache.org/proper/commons-rng/commons-rng-client-api/japicmp.html
https://commons.apache.org/proper/commons-rng/commons-rng-core/japicmp.html
https://commons.apache.org/proper/commons-rng/commons-rng-simple/japicmp.html
https://commons.apache.org/proper/commons-rng/commons-rng-sampling/japicmp.html
To fix the RNG build so that it can optionally include japicmp in the
report menus will require a change to the parent.
However some projects may not be using
'src/site/resources/profile.japicmp' to activate the profile. They may
be directly using <japicmp.skip>false</japicmp.skip>.
So how to proceed with a fix for CP?
If you found a fix, please apply it to CP and "release" v50.
If there are issues, they will be fixed in 51+.
Q. Should this be run by the dev mailing list under the prefix [parent]?
Or [CP] or maybe [All].
Wouldn't hurt.
I have made changes to CP for jacoco and japicmp. They seem to be
non-destructive.
I am trying a fix to enable MathJax. It involves updating commons-skin
(last release in 2015) as that is where the header is set for all site
pages.
Looking at the site for the modules the top right icon is missing, e.g.
https://commons.apache.org/proper/commons-rng/commons-rng-core/index.html
<https://commons.apache.org/proper/commons-rng/commons-rng-core/index.html>
It comes from ’src/site/site.xml’
For all the modules this still requires images/commons_rng.small.png, which is
missing.
So:
- Duplicate this image through the entire hierarchy
- Fix it to refer to the official image:
https://commons.apache.org/proper/commons-rng/images/commons_rng.small.png
<https://commons.apache.org/proper/commons-rng/images/commons_rng.small.png>
+1 (the latter)
[I've seen that it's done already.]
Yes. The maven site plugin tries to relativize absolute URLs that point
to the deploy site URL. So I've used this feature in the site.xml and
now the banner is fixed everywhere.
I still have to figure out how to post process the user guide (rng.apt)
to update the <pre> tags generated by doxia to <pre "prettyprint">. I
did this on the manually written pages and now code is rendered with
highlighting, e.g.
https://commons.apache.org/proper/commons-rng/commons-rng-simple/index.html
The link could also be made non-relative:
https://commons.apache.org/proper/commons-rng/
<https://commons.apache.org/proper/commons-rng/>
This would allow you to get back to the top level page from any of the modules
pages. I don’t think this is possible at the moment.
+1
Thanks,
Gilles
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]