Re: Building Javadocs and site on CI

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Building Javadocs and site on CI

Enrico Olivelli
Karl,


Il giorno sab 29 dic 2018 alle ore 09:41 Karl Heinz Marbaise
<[hidden email]> ha scritto:

>
> Hi Enrico,
>
> On 29/12/18 09:14, Enrico Olivelli wrote:
> > Hi guys,
> > I am trying to release Maven Assembly Plugin and I see that there are
> > a few showstoppers due to javadocs and site generation.
>
>
> Can you report which one?

this is the fix, mostly about <br> tags
https://github.com/apache/maven-assembly-plugin/commit/a97fbb304d1924426f3e3137ba42de0f3d9ec6a0

I had errors like:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site)
on project maven-assembly-plugin: Error parsing
'/home/eolivelli/dev/maven-assembly-plugin/target/generated-site/xdoc/assembly.xml':
line [1511] Error parsing the model: end tag name </p> must match
start tag name <br> from line 1508 (position: TEXT seen ...om the
central repository\n        are allowed.\n        \n      </p>...
@1511:11)  -> [Help 1]



>
>
> > Isn't it possible to run  "javadoc:javadoc site" on CI ?
> >
> > This way we won't commit broken/unreleasable stuff
> >
>
> Usually the sites will be generated via:
>
> mvn -Preporting site site:stage
That's how I got the errors

>
> if ready than
> mvn scm-publish:publish-scm
>
> See also the deploySite.sh script...
>
> Furthermore you have to do the release via
>
> mvn release:prepare release:perform -Dgpg.keyname=...
>
> first and afterwards you can change into the target/checkout
> directory and make the sites via the above commands...

good
I am following this guide
https://maven.apache.org/developers/release/maven-project-release-procedure.html
which points to:
https://www.apache.org/dev/publishing-maven-artifacts.html#staging-maven
and
https://maven.apache.org/developers/website/deploy-component-reference-documentation.html

I guess the part "Publishing versioned component reference
documentation" is to be done AFTER the VOTE as passed

So now master branch is stable, site is building correctly, PGP works
as expected, I will prepare the release.

Let me try to summarize the guide and your answer:

mvn release:clean
mvn release:prepare
mvn release:perform
cd target/checkout
mvn -Preporting site site:stage
mvn scm-publish:publish-scm

call for VOTE
hopefully get 3 +1 from PMCs

finalize the release
https://maven.apache.org/developers/release/maven-project-release-procedure.html

then update the website:
https://maven.apache.org/developers/website/component-reference-documentation-helper.html?plugins

Is this correct ?

Thank you
Enrico

>
> Kind regards
> Karl Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Building Javadocs and site on CI

Karl Heinz Marbaise-3
Hi Enrico,

On 29/12/18 09:53, Enrico Olivelli wrote:

> Karl,
>
>
> Il giorno sab 29 dic 2018 alle ore 09:41 Karl Heinz Marbaise
> <[hidden email]> ha scritto:
>>
>> Hi Enrico,
>>
>> On 29/12/18 09:14, Enrico Olivelli wrote:
>>> Hi guys,
>>> I am trying to release Maven Assembly Plugin and I see that there are
>>> a few showstoppers due to javadocs and site generation.
>>
>>
>> Can you report which one?
>
> this is the fix, mostly about <br> tags
> https://github.com/apache/maven-assembly-plugin/commit/a97fbb304d1924426f3e3137ba42de0f3d9ec6a0
>
> I had errors like:
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site)
> on project maven-assembly-plugin: Error parsing
> '/home/eolivelli/dev/maven-assembly-plugin/target/generated-site/xdoc/assembly.xml':
> line [1511] Error parsing the model: end tag name </p> must match
> start tag name <br> from line 1508 (position: TEXT seen ...om the
> central repository\n        are allowed.\n        \n      </p>...
> @1511:11)  -> [Help 1]
>
>
>
>>
>>
>>> Isn't it possible to run  "javadoc:javadoc site" on CI ?
>>>
>>> This way we won't commit broken/unreleasable stuff
>>>
>>
>> Usually the sites will be generated via:
>>
>> mvn -Preporting site site:stage
> That's how I got the errors
>
>>
>> if ready than
>> mvn scm-publish:publish-scm
>>
>> See also the deploySite.sh script...
>>
>> Furthermore you have to do the release via
>>
>> mvn release:prepare release:perform -Dgpg.keyname=...
>>
>> first and afterwards you can change into the target/checkout
>> directory and make the sites via the above commands...
>
> good
> I am following this guide
> https://maven.apache.org/developers/release/maven-project-release-procedure.html
> which points to:
> https://www.apache.org/dev/publishing-maven-artifacts.html#staging-maven
> and
> https://maven.apache.org/developers/website/deploy-component-reference-documentation.html
>
> I guess the part "Publishing versioned component reference
> documentation" is to be done AFTER the VOTE as passed
>
I'm a little bit late but it looks you did it the right way....



And yes the publishing is done after the VOTE is successful.

> So now master branch is stable, site is building correctly, PGP works
> as expected, I will prepare the release.
>
> Let me try to summarize the guide and your answer:
>
> mvn release:clean
> mvn release:prepare
> mvn release:perform

Usually you can clean up via:

git clean -fdx
and simple continue:

mvn release:prepare release:perform

in one go...

> cd target/checkout
> mvn -Preporting site site:stage
> mvn scm-publish:publish-scm
>
> call for VOTE
> hopefully get 3 +1 from PMCs

That what you need at least...;-)...

>
> finalize the release
> https://maven.apache.org/developers/release/maven-project-release-procedure.html
>
> then update the website:
> https://maven.apache.org/developers/website/component-reference-documentation-helper.html?plugins
>
> Is this correct ?

Published site looks ok so far...

Kind regards
Karl Heinz Marbaise
>
> Thank you
> Enrico
>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Building Javadocs and site on CI

ChrisGWarp
In reply to this post by Enrico Olivelli
I am used to running mvn clean install site on my Jenkins build jobs and then let the Jenkins checkstyle, find bugs etc plugins display the results/trends over builds.

And I thought the ASF Jenkins used to have this feature.

Are there any plans to restore this?

Also, I attempted to build all of the asf maven tepid yesterday, under JDK 7, and some failed, e.g. Surefire needed JDK 8.

Have we moved from a minimum of JDK 7?



Sent from my iPhone

> On 30 Dec 2018, at 9:47 pm, Robert Scholte <[hidden email]> wrote:
>
>> On Sat, 29 Dec 2018 13:12:36 +0100, Hervé BOUTEMY <[hidden email]> wrote:
>>
>> Le samedi 29 décembre 2018, 11:29:53 CET Robert Scholte a écrit :
>>> I've already introduces the concept of "plans"[1][2], which also include
>>> 'site' for documentation and 'release' to verify if the project is
>>> releasable (should probably change that name to prevent confusion).
>> +1 to change the name of "release" to something like "check-release"
>
> or release-dryRun
>
>>
>>> The jobs are getting more stable, so we might give it a try soon. Just
>>> need to be aware that the 'site' plan doesn't seem to work for multimodule
>>> projects yet. Better fix that first.
>> why doesn't it work? what does "don't work" mean? fail?
>>
>> I just see "site:stage" missing to have multi-module assembled: would not
>> cause any harm for non-multi-modules
>
> That might be the reason, I'll add that.
>
>>
>> additional question: once the site is build on Jenkins, can it be browsed?
>
> I guess so.
>
> Once INFRA-17514 is fixed I'll enable the site-plan too.
>
> thanks,
> Robert
>
> [1] https://issues.apache.org/jira/browse/INFRA-17514
>
>>
>> Regards,
>>
>> Hervé
>>
>>>
>>> thanks,
>>> Robert
>>>
>>> [1]
>>> https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=blob;f=vars/as
>>> fMavenTlpPlgnBuild.groovy;h=6502fe80819c873757e339a0f1b3186fd14303b9;hb=HEAD
>>> #l63 [2]
>>> https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=blob;f=vars/as
>>> fMavenTlpPlgnBuild.groovy;h=6502fe80819c873757e339a0f1b3186fd14303b9;hb=HEAD
>>> #l132
>>>
>>>
>>> On Sat, 29 Dec 2018 09:14:27 +0100, Enrico Olivelli <[hidden email]>
>>>
>>> wrote:
>>> > Hi guys,
>>> > I am trying to release Maven Assembly Plugin and I see that there are
>>> > a few showstoppers due to javadocs and site generation.
>>> > Isn't it possible to run  "javadoc:javadoc site" on CI ?
>>> >
>>> > This way we won't commit broken/unreleasable stuff
>>> >
>>> > Enrico
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: [hidden email]
>>> > For additional commands, e-mail: [hidden email]
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Building Javadocs and site on CI

Tibor Digana
Enrico, there is one problem with maven-help-plugin which generates
"HelpMojo.java" with the problematic "<p>".
First the plugin should be fixed and released and the maven-parent;
otherwise all plugins would end up with complicated configuration of
maven-compiler-plugin as Surefire has.

On Tue, Jan 1, 2019 at 1:07 PM Enrico Olivelli <[hidden email]> wrote:

> Good idea!
> Why fork=true?
>
> In general I see that new java versions have always stricter validation of
> javadocs
> It would be better to have a CI job with jdk11 (12 next quarter...and so
> on)
> We already have tests over every supported platform, so Tibor's idea of
> adding doclint option whill enable us to have good coverage at every build
>
> Enrico
>
> Il mar 1 gen 2019, 13:03 Tibor Digana <[hidden email]> ha scritto:
>
> > These errors with JavaDoc in source code can be effectively avoided with
> > adding a JDK8 Profile in pom.xml and a config of compiler.
> > You do not need to wait for making a release when the Site is generated.
> > Even the contributor will fails his build when compiling and testing
> > project in his own:
> >
> > <plugin>
> >   <groupId>org.apache.maven.plugins</groupId>
> >   <artifactId>maven-compiler-plugin</artifactId>
> >   <configuration>
> >     <fork>true</fork>
> >     <compilerArgs>
> >       <arg>-Xdoclint:all</arg>
> >     </compilerArgs>
> >   </configuration>
> > </plugin>
> >
> >
> > On Mon, Dec 31, 2018 at 11:14 AM Robert Scholte <[hidden email]>
> > wrote:
> >
> > > On Sun, 30 Dec 2018 23:55:20 +0100, Chris Graham <[hidden email]
> >
> > > wrote:
> > >
> > > > I am used to running mvn clean install site on my Jenkins build jobs
> > > and
> > > > then let the Jenkins checkstyle, find bugs etc plugins display the
> > > > results/trends over builds.
> > >
> > > This should work with a simple 'mvn verify site' too.
> > >
> > > >
> > > > And I thought the ASF Jenkins used to have this feature.
> > >
> > > It all depends on the Job configuration, but we're using the
> multibranch
> > > plugin, so we are in full control.
> > >
> > > >
> > > > Are there any plans to restore this?
> > >
> > > See
> > >
> > >
> >
> https://lists.apache.org/thread.html/541a493c12879fc4e218602b5745afea08706700f264f4d647390ffc@%3Cdev.maven.apache.org%3E
> > >
> > > >
> > > > Also, I attempted to build all of the asf maven tepid yesterday,
> under
> > > > JDK 7, and some failed, e.g. Surefire needed JDK 8.
> > >
> > > Surefire is a special case. IIRC it requires JDK8 to build, but it
> > > delivers JDK7 compatible code.
> > >
> > > >
> > > > Have we moved from a minimum of JDK 7?
> > >
> > > Will probably happen soonish
> > >
> > > >
> > > >
> > > >
> > > > Sent from my iPhone
> > > >
> > > >> On 30 Dec 2018, at 9:47 pm, Robert Scholte <[hidden email]>
> > > wrote:
> > > >>
> > > >>> On Sat, 29 Dec 2018 13:12:36 +0100, Hervé BOUTEMY
> > > >>> <[hidden email]> wrote:
> > > >>>
> > > >>> Le samedi 29 décembre 2018, 11:29:53 CET Robert Scholte a écrit :
> > > >>>> I've already introduces the concept of "plans"[1][2], which also
> > > >>>> include
> > > >>>> 'site' for documentation and 'release' to verify if the project is
> > > >>>> releasable (should probably change that name to prevent
> confusion).
> > > >>> +1 to change the name of "release" to something like
> "check-release"
> > > >>
> > > >> or release-dryRun
> > > >>
> > > >>>
> > > >>>> The jobs are getting more stable, so we might give it a try soon.
> > Just
> > > >>>> need to be aware that the 'site' plan doesn't seem to work for
> > > >>>> multimodule
> > > >>>> projects yet. Better fix that first.
> > > >>> why doesn't it work? what does "don't work" mean? fail?
> > > >>>
> > > >>> I just see "site:stage" missing to have multi-module assembled:
> would
> > > >>> not
> > > >>> cause any harm for non-multi-modules
> > > >>
> > > >> That might be the reason, I'll add that.
> > > >>
> > > >>>
> > > >>> additional question: once the site is build on Jenkins, can it be
> > > >>> browsed?
> > > >>
> > > >> I guess so.
> > > >>
> > > >> Once INFRA-17514 is fixed I'll enable the site-plan too.
> > > >>
> > > >> thanks,
> > > >> Robert
> > > >>
> > > >> [1] https://issues.apache.org/jira/browse/INFRA-17514
> > > >>
> > > >>>
> > > >>> Regards,
> > > >>>
> > > >>> Hervé
> > > >>>
> > > >>>>
> > > >>>> thanks,
> > > >>>> Robert
> > > >>>>
> > > >>>> [1]
> > > >>>>
> > >
> >
> https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=blob;f=vars/as
> > > >>>>
> > >
> >
> fMavenTlpPlgnBuild.groovy;h=6502fe80819c873757e339a0f1b3186fd14303b9;hb=HEAD
> > > >>>> #l63 [2]
> > > >>>>
> > >
> >
> https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=blob;f=vars/as
> > > >>>>
> > >
> >
> fMavenTlpPlgnBuild.groovy;h=6502fe80819c873757e339a0f1b3186fd14303b9;hb=HEAD
> > > >>>> #l132
> > > >>>>
> > > >>>>
> > > >>>> On Sat, 29 Dec 2018 09:14:27 +0100, Enrico Olivelli
> > > >>>> <[hidden email]>
> > > >>>>
> > > >>>> wrote:
> > > >>>> > Hi guys,
> > > >>>> > I am trying to release Maven Assembly Plugin and I see that
> there
> > > >>>> are
> > > >>>> > a few showstoppers due to javadocs and site generation.
> > > >>>> > Isn't it possible to run  "javadoc:javadoc site" on CI ?
> > > >>>> >
> > > >>>> > This way we won't commit broken/unreleasable stuff
> > > >>>> >
> > > >>>> > Enrico
> > > >>>> >
> > > >>>> >
> > > >>>>
> > ---------------------------------------------------------------------
> > > >>>> > To unsubscribe, e-mail: [hidden email]
> > > >>>> > For additional commands, e-mail: [hidden email]
> > > >>>>
> > > >>>>
> > ---------------------------------------------------------------------
> > > >>>> To unsubscribe, e-mail: [hidden email]
> > > >>>> For additional commands, e-mail: [hidden email]
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> ---------------------------------------------------------------------
> > > >>> To unsubscribe, e-mail: [hidden email]
> > > >>> For additional commands, e-mail: [hidden email]
> > > >>
> > > >>
> ---------------------------------------------------------------------
> > > >> To unsubscribe, e-mail: [hidden email]
> > > >> For additional commands, e-mail: [hidden email]
> > > >>
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> --
>
>
> -- Enrico Olivelli
>