You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lecharny <el...@gmail.com> on 2008/03/14 23:41:41 UTC

About code checking ...

Hi guys,

it would be a cool idea if we can define a maven profile to run some 
code checking. I know that Maven already has some plugins like :
 - clover
 - checkstyle
 - docck
 - PMD (?)
 - project-info-reports
...

The idea is not to use all those tools, but to use the usefull tools.

Is someone interested in including those guys into our build ?

Thanks !

-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: About code checking ...

Posted by Emmanuel Lecharny <el...@gmail.com>.
Felix Knecht wrote:
> Emmanuel Lecharny schrieb:
> About the report creation:
> - Do we have a CI buildsystem also deploying the generated reports?
No, not yet. But this is something we want to have for years ... In 
fact, we have tried many CI systems. We currently have Teamcity almost 
setup on one of our committer's server, but we didn't put too much time 
on it. I have personnally tried Continuum a while back (not exactly a 
success with 1.0 version, much better with 1.1 version, but not 
perfect), and we tried bamboo one year ago, and we had to stop, the 
'spam' level was too high :)

There are some issues with CI we have to address:
- setup is not simple, as many CI systems does not support hierarchical poms
- we need to send spam^H^H^H^Hmails when something went wrong or when 
the build is OK, that implies a SMTP server being available for that purpose
- The build frequency should be tuned correctly. If we build on every 
commit, we may have broken builds, as commit may not be atomic, and if 
we build at fixed hours, that mean we do a svn up, and this may be seen 
as a bot by infra.
- results should be available through a web interface, but limited to 
the committers
- the best would be to use the ASF infra for that, but we have not yet 
investigated this possibility (I know that Hudson is being setup and 
used by at least a few projects at the ASF, it should be interesting to 
check this option)

Basically, I'm 100% pro using a CI. Here is what we can do :
- check Hudson on a private machine and see if it can fit our needs 
(daily builds, mails, inherited poms with externals)
- if so, check with Infra to see if we can use the instance they have 
installed
- then, check if we can produce reports on this zone, or if we need 
another space for reports

The idea about reports would be to keep only a few of them : if they are 
generated every nights, no need to keep an history. Just replace the 
previous one would be enough

I would also suggest we try to add some basic reports to our maven 
build, so that we can play them locally.

> - Some of the reports can be aggregated, others not. Whats the main 
> idea (aggregating, only reports per module)?
Well, we might want to generate reports for :
- apacheds
- daemons
- shared
- studio
- triplesec

As they are different components, it make sense to have separated 
reports, IMO.
>
> - Some (not aggregatable) reports can be 'aggregated' use the 
> dashboard plugin.
I don't know too much abiut the Maven possibility, so I would say : 
'it's up to you'. In other words : 'those who know, speak. Other, just 
listen ;)' - I'm in the 'other' category ..-
>
> Felix
>
Thanks Felix !


-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Emmanuel Lecharny schrieb:
> Hi guys,
> 
> it would be a cool idea if we can define a maven profile to run some 
> code checking. I know that Maven already has some plugins like :
> - clover
> - checkstyle
> - docck
> - PMD (?)
> - project-info-reports
> ...
> 
> The idea is not to use all those tools, but to use the usefull tools.
> 
> Is someone interested in including those guys into our build ?

About the report creation:
- Do we have a CI buildsystem also deploying the generated reports?
- Some of the reports can be aggregated, others not. Whats the main idea (aggregating, only reports per module)?
- Some (not aggregatable) reports can be 'aggregated' use the dashboard plugin.

Felix


Re: About code checking ...

Posted by Emmanuel Lecharny <el...@gmail.com>.
Thanks felix !

I will try to locally generate the reports.

I have instaleld FindBugs on my local eclipse, and it's incredibly
usefull ! I suggest that everyone of us do it.

We may also add some doco about how to setup and use those tools on
the wiki, close to  the code standard.

Thanks !

On Tue, Mar 18, 2008 at 10:50 AM, Felix Knecht <fe...@apache.org> wrote:
> Felix Knecht schrieb:
>
> > Hi Stefan
>  >> Hi Felix,
>  >>
>  >> just a stupid question: how could I generate these reports on my
>  >> local machine?
>  > There are no stupid questions, only silly answers ;-)
>  >
>  > You can to 'mvn site:stage-deploy' and should find the generated stuff
>  > somewhere in target/*.
>  > for studio e.g.
>  > target/staging/vm094.oxylos.org/var/www/html/projects/studio/index.html
>  >
>  Hmmm... Maybe it's only mvn site:stage.
>
>  But the problem in general is that links among submodules don't seem to
>  work correctly when only staging :-( It exists an issue about this I think.
>
>  ATM I'm setting up the CI.
>
>
>
>  > I haven't fix the distributionManagement url for all projects yet and
>  > not all are working. ApacheDS gives me some wierd error while creating
>  > the reports - must have something todo with javadocs or xdoclet tags.
>  >
>  > HTH
>  > Felix
>  >>
>  >> Thanks,
>  >> Stefan
>  >>
>  >>
>  >> Felix Knecht schrieb:
>  >>> Here's the index link page. Note that not all project links are
>  >>> having a generated site with reports, so some may miss (404).
>  >>>
>  >>> http://people.apache.org/~felixk/projects/directory/
>  >>>
>  >>> Felix
>  >>
>  >
>
>



-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Re: About code checking ...

Posted by David Jencks <da...@yahoo.com>.
On Mar 18, 2008, at 2:50 AM, Felix Knecht wrote:

> Felix Knecht schrieb:
>> Hi Stefan
>>> Hi Felix,
>>>
>>> just a stupid question: how could I generate these reports on my  
>>> local machine?
>> There are no stupid questions, only silly answers ;-)
>>
>> You can to 'mvn site:stage-deploy' and should find the generated  
>> stuff somewhere in target/*.
>> for studio e.g. target/staging/vm094.oxylos.org/var/www/html/ 
>> projects/studio/index.html
>>
> Hmmm... Maybe it's only mvn site:stage.
>
> But the problem in general is that links among submodules don't  
> seem to work correctly when only staging :-( It exists an issue  
> about this I think.

I was working on this kind of stuff recently and it looked to me like  
site:stage-deploy had very little working functionality.

I ended up with a "local" profile in my settings.xml that overrode  
the site location to somewhere on my machine and running
mvn site:site site:deploy -Plocal

     <profile>
         <id>local</id>
         <properties>
             <deploy.altRepository>djencks::default::file:///Users/ 
david/staging-repo/${siteId}</deploy.altRepository>
             <gpg.passphrase>---------</gpg.passphrase>
         <staging.siteURL>file:///Users/david/staging-site</ 
staging.siteURL>
         </properties>
     </profile>

the urls etc in the poms use these variables

     <url>http://geronimo.apache.org/maven/${siteId}/${version}</url>
     <distributionManagement>
         <site>
             <id>geronimo-website</id>
             <url>${staging.siteURL}/${siteId}/${version}</url>
         </site>
     </distributionManagement>

     <properties>
         <siteId>specs/${artifactId}</siteId>

...

probably there's a better way but this is the best I've thought up so  
far.

david jencks



>
> ATM I'm setting up the CI.
>
>> I haven't fix the distributionManagement url for all projects yet  
>> and not all are working. ApacheDS gives me some wierd error while  
>> creating the reports - must have something todo with javadocs or  
>> xdoclet tags.
>>
>> HTH
>> Felix
>>>
>>> Thanks,
>>> Stefan
>>>
>>>
>>> Felix Knecht schrieb:
>>>> Here's the index link page. Note that not all project links are  
>>>> having a generated site with reports, so some may miss (404).
>>>>
>>>> http://people.apache.org/~felixk/projects/directory/
>>>>
>>>> Felix
>>>
>>
>


Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Felix Knecht schrieb:
> Hi Stefan
>> Hi Felix,
>>
>> just a stupid question: how could I generate these reports on my 
>> local machine?
> There are no stupid questions, only silly answers ;-)
>
> You can to 'mvn site:stage-deploy' and should find the generated stuff 
> somewhere in target/*.
> for studio e.g. 
> target/staging/vm094.oxylos.org/var/www/html/projects/studio/index.html
>
Hmmm... Maybe it's only mvn site:stage.

But the problem in general is that links among submodules don't seem to 
work correctly when only staging :-( It exists an issue about this I think.

ATM I'm setting up the CI.

> I haven't fix the distributionManagement url for all projects yet and 
> not all are working. ApacheDS gives me some wierd error while creating 
> the reports - must have something todo with javadocs or xdoclet tags.
>
> HTH
> Felix
>>
>> Thanks,
>> Stefan
>>
>>
>> Felix Knecht schrieb:
>>> Here's the index link page. Note that not all project links are 
>>> having a generated site with reports, so some may miss (404).
>>>
>>> http://people.apache.org/~felixk/projects/directory/
>>>
>>> Felix
>>
>


Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Hi Stefan
> Hi Felix,
>
> just a stupid question: how could I generate these reports on my local 
> machine?
There are no stupid questions, only silly answers ;-)

You can to 'mvn site:stage-deploy' and should find the generated stuff 
somewhere in target/*.
for studio e.g. 
target/staging/vm094.oxylos.org/var/www/html/projects/studio/index.html

I haven't fix the distributionManagement url for all projects yet and 
not all are working. ApacheDS gives me some wierd error while creating 
the reports - must have something todo with javadocs or xdoclet tags.

HTH
Felix
>
> Thanks,
> Stefan
>
>
> Felix Knecht schrieb:
>> Here's the index link page. Note that not all project links are 
>> having a generated site with reports, so some may miss (404).
>>
>> http://people.apache.org/~felixk/projects/directory/
>>
>> Felix
>


Re: About code checking ...

Posted by Stefan Seelmann <se...@apache.org>.
Hi Felix,

just a stupid question: how could I generate these reports on my local 
machine?

Thanks,
Stefan


Felix Knecht schrieb:
> Here's the index link page. Note that not all project links are having a 
> generated site with reports, so some may miss (404).
> 
> http://people.apache.org/~felixk/projects/directory/
> 
> Felix


Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Here's the index link page. Note that not all project links are having a generated site with reports, so some may miss 
(404).

http://people.apache.org/~felixk/projects/directory/

Felix

Re: About code checking ...

Posted by Alex Karasulu <ak...@apache.org>.
Felix,

BTW let me know if there's no way to generate a checkstyle file from this
eclipse file.  I can convert it manually.

Alex

On Mon, Mar 17, 2008 at 6:19 PM, Alex Karasulu <ak...@apache.org> wrote:

> On Mon, Mar 17, 2008 at 6:11 PM, Felix Knecht <fe...@apache.org> wrote:
>
> > Emmanuel Lecharny schrieb:
> > > Hi guys,
> > >
> > > it would be a cool idea if we can define a maven profile to run some
> > > code checking. I know that Maven already has some plugins like :
> > > - clover
> > > - checkstyle
> > > - docck
> > > - PMD (?)
> > > - project-info-reports
> > > ...
> >
> > I deployed such a site for the studio project. See
> > http://people.apache.org/~felixk/projects/directory/studio/<http://people.apache.org/%7Efelixk/projects/directory/studio/>.
> >
>
> Looks good.  Perhaps we can link to such reports from off the main site
> for the maven generated site.  Would be nice to integrate in a non-obtrusive
> fashion where these reports would not take too much space ... like with some
> expand node capability.
>
>
> >
> > Aggregatable reports (like JavaDocs, CPD, PMD, ...) are aggregated (hope
> > I catched all of them) others (like findbugs,
> > cobertura, taglist, ...) are only available when drill down to the
> > modules.
> >
> > Please give some feedback about missing usefull reports and created
> > reports unusefull reports. For the checkstyle plugin
> > we would need some configuration files which I was too lazy to search
> > for existence somewhere in the directory project.
> >
>
> We have a style file for eclipse here but it might not be usable.  I
> wonder if there is a way to generate a checkstyle config file from the
> eclipse format.xml.
>
> http://svn.apache.org/repos/asf/directory/project/trunk/resources/
>
>
> >
> > If appreciated I'm going to add the reports to the other projects as
> > well. It should be easy to change deployment url
> > when having a better location to deploy to than now.
> >
> >
> Excellent!  Thanks!
>
> Alex
>

Re: About code checking ...

Posted by Alex Karasulu <ak...@apache.org>.
On Mon, Mar 17, 2008 at 6:28 PM, Felix Knecht <fe...@apache.org> wrote:

> Alex Karasulu schrieb:
> > On Mon, Mar 17, 2008 at 6:11 PM, Felix Knecht <felixk@apache.org
> > <ma...@apache.org>> wrote:
>

...


>
> Would be nice to integrate in a
> > non-obtrusive fashion where these reports would not take too much space
> > ... like with some expand node capability.
>
> I don't really get what you mean - my English is lacking :-(
>

Just meant that if we include this on the main site rather than a link, we
may not want it taking up too much screen real estate.  Perhaps could be
made to be a node in the menu that can be expanded or something.

Alex

Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Alex Karasulu schrieb:
> On Mon, Mar 17, 2008 at 6:11 PM, Felix Knecht <felixk@apache.org 
> <ma...@apache.org>> wrote:
> 
>     Emmanuel Lecharny schrieb:
>      > Hi guys,
>      >
>      > it would be a cool idea if we can define a maven profile to run some
>      > code checking. I know that Maven already has some plugins like :
>      > - clover
>      > - checkstyle
>      > - docck
>      > - PMD (?)
>      > - project-info-reports
>      > ...
> 
>     I deployed such a site for the studio project. See
>     http://people.apache.org/~felixk/projects/directory/studio/
>     <http://people.apache.org/%7Efelixk/projects/directory/studio/> .
> 
> 
> Looks good.  Perhaps we can link to such reports from off the main site 
> for the maven generated site.  

Shouldn't be a problem as they are generated always at the same location (when CI is up).

Would be nice to integrate in a
> non-obtrusive fashion where these reports would not take too much space 
> ... like with some expand node capability.

I don't really get what you mean - my English is lacking :-(

>  
> 
> 
>     Aggregatable reports (like JavaDocs, CPD, PMD, ...) are aggregated
>     (hope I catched all of them) others (like findbugs,
>     cobertura, taglist, ...) are only available when drill down to the
>     modules.
> 
>     Please give some feedback about missing usefull reports and created
>     reports unusefull reports. For the checkstyle plugin
>     we would need some configuration files which I was too lazy to
>     search for existence somewhere in the directory project.
> 
> 
> We have a style file for eclipse here but it might not be usable.  I 
> wonder if there is a way to generate a checkstyle config file from the 
> eclipse format.xml.
> 
> http://svn.apache.org/repos/asf/directory/project/trunk/resources/

I'll try tomorrow.

>  
> 
> 
>     If appreciated I'm going to add the reports to the other projects as
>     well. It should be easy to change deployment url
>     when having a better location to deploy to than now.
> 
> 
> Excellent!  Thanks!
> 
> Alex


Re: About code checking ...

Posted by Alex Karasulu <ak...@apache.org>.
On Mon, Mar 17, 2008 at 6:11 PM, Felix Knecht <fe...@apache.org> wrote:

> Emmanuel Lecharny schrieb:
> > Hi guys,
> >
> > it would be a cool idea if we can define a maven profile to run some
> > code checking. I know that Maven already has some plugins like :
> > - clover
> > - checkstyle
> > - docck
> > - PMD (?)
> > - project-info-reports
> > ...
>
> I deployed such a site for the studio project. See
> http://people.apache.org/~felixk/projects/directory/studio/<http://people.apache.org/%7Efelixk/projects/directory/studio/>.
>

Looks good.  Perhaps we can link to such reports from off the main site for
the maven generated site.  Would be nice to integrate in a non-obtrusive
fashion where these reports would not take too much space ... like with some
expand node capability.


>
> Aggregatable reports (like JavaDocs, CPD, PMD, ...) are aggregated (hope I
> catched all of them) others (like findbugs,
> cobertura, taglist, ...) are only available when drill down to the
> modules.
>
> Please give some feedback about missing usefull reports and created
> reports unusefull reports. For the checkstyle plugin
> we would need some configuration files which I was too lazy to search for
> existence somewhere in the directory project.
>

We have a style file for eclipse here but it might not be usable.  I wonder
if there is a way to generate a checkstyle config file from the eclipse
format.xml.

http://svn.apache.org/repos/asf/directory/project/trunk/resources/


>
> If appreciated I'm going to add the reports to the other projects as well.
> It should be easy to change deployment url
> when having a better location to deploy to than now.
>
>
Excellent!  Thanks!

Alex

Re: About code checking ...

Posted by Felix Knecht <fe...@apache.org>.
Emmanuel Lecharny schrieb:
> Hi guys,
> 
> it would be a cool idea if we can define a maven profile to run some 
> code checking. I know that Maven already has some plugins like :
> - clover
> - checkstyle
> - docck
> - PMD (?)
> - project-info-reports
> ...

I deployed such a site for the studio project. See http://people.apache.org/~felixk/projects/directory/studio/ .

Aggregatable reports (like JavaDocs, CPD, PMD, ...) are aggregated (hope I catched all of them) others (like findbugs, 
cobertura, taglist, ...) are only available when drill down to the modules.

Please give some feedback about missing usefull reports and created reports unusefull reports. For the checkstyle plugin 
we would need some configuration files which I was too lazy to search for existence somewhere in the directory project.

If appreciated I'm going to add the reports to the other projects as well. It should be easy to change deployment url 
when having a better location to deploy to than now.

Regards
Felix


Re: About code checking ...

Posted by Emmanuel Lecharny <el...@gmail.com>.
David Jencks wrote:
>
> On Mar 14, 2008, at 3:41 PM, Emmanuel Lecharny wrote:
>
>> Hi guys,
>>
>> it would be a cool idea if we can define a maven profile to run some 
>> code checking. I know that Maven already has some plugins like :
>> - clover
>> - checkstyle
> this is often a big pain in my experience :-)
Pain in the way we will suffer to see how bad is our code ? ;)


>> - docck
> I could be very wrong but I thought this was to check that maven 
> plugins are completely documented
Hmmm... Maybe. I just went to the maven site and saw this plugin, 
thought it was something which check the javadoco.
>> - PMD (?)
>> - project-info-reports
>> ...
>
> - findbugs
Yeah, definitively.
>
> I'll probably be mucking around with the build to fix the legal stuff 
> but I don't know if I'll have time or energy enough to do this too.
I understand... I have quickly read your mail about Notice, and still 
have to give you some feedback, but I first have to clearly understand 
the topic :( Maybe I will just be lazzy and let you do the house cleaning ;)


> thanks
> david jencks

Thanks a lot David !

-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: About code checking ...

Posted by David Jencks <da...@yahoo.com>.
On Mar 14, 2008, at 3:41 PM, Emmanuel Lecharny wrote:

> Hi guys,
>
> it would be a cool idea if we can define a maven profile to run  
> some code checking. I know that Maven already has some plugins like :
> - clover
> - checkstyle
this is often a big pain in my experience :-)
> - docck
I could be very wrong but I thought this was to check that maven  
plugins are completely documented
> - PMD (?)
> - project-info-reports
> ...

- findbugs

>
> The idea is not to use all those tools, but to use the usefull tools.
>
> Is someone interested in including those guys into our build ?

good idea :-)

I'll probably be mucking around with the build to fix the legal stuff  
but I don't know if I'll have time or energy enough to do this too.
thanks
david jencks

>
> Thanks !
>
> -- 
> --
> cordialement, regards,
> Emmanuel Lécharny
> www.iktek.com
> directory.apache.org
>
>