Hi Senaka, Yes, we can use the maven-checkstyle-plugin with Uvindra's maven plug-in mechanism.
I setup the maven-checkstyle-plugin with Uvindra.
We just had to add the following plug-in code in a 'Validator' assert
instance and mark it as active.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.11</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<linkXRef>false</linkXRef>
</configuration>
<goals>
<goal>checkstyle</goal>
</goals>
</execution>
</executions>
</plugin>
But there is a problem in this approach.
With the above configurations it runs well and generates reports[1] in
.html format for each module. This might be sometimes hard to analyze when
a large number of separate distributed reports are generated.
The plug-in comes with several goals:
- *checkstyle:checkstyle* is a reporting goal that performs Checkstyle
analysis and generates a report on violations.
- *checkstyle:checkstyle-aggregate* is a reporting goal that performs
Checkstyle analysis and generates an aggregate HTML report on violations in
a multi-module reactor build.
- *checkstyle:check* is a goal that performs Checkstyle analysis and
outputs violations or a count of violations to the console, potentially
failing the build. It can also be configured to re-use an earlier analysis.
I tried with "*checkstyle:checkstyle-aggregate*" which worked fine for
simple applications and generated a aggregated view as expected. But failed
while trying with Carbon kernel. Root cause for this has to be investigated.
Please refer the sample report[1]. Though it is in .html it is not
styled(css needed to be provided.)
Attachment,
[1] org.wso2.carbon.cluster.mgt.core.tar.gz
*Jayanga Dissanayake*
Senior Software Engineer
WSO2 Inc. - http://wso2.com/
lean . enterprise . middleware
email: [email protected]
mobile: +94772207259
On Thu, Feb 13, 2014 at 3:37 AM, Senaka Fernando <[email protected]> wrote:
> Hi Jayanga,
>
> Can't you just setup checkstyle-plugin only and achieve this?
>
> Thanks,
> Senaka.
>
>
> On Wed, Feb 12, 2014 at 12:15 PM, Jayanga Dissanayake <[email protected]>wrote:
>
>> Hi,
>>
>> I am currently involved in the Development Governance project for C5. As
>> to increase the quality of the products, we are planning to introduce some
>> maven plug-in based mechanism to validate rules. Validations related to C5
>> components are done by Uvindra and I am trying to extend this to be used in
>> the web services and web applications.
>>
>> In my initial research on this and discussions I had with some people
>> involved in the C5 development I found out that most of the validations
>> that are needed for C5 admin web services are same as that of the C5
>> components, except for some additional validations to check whether,
>>
>> i. Proper annotations in the code
>>
>> ii. All admin services use secure connections - There might be a lot of
>> other custom validations, that will come up when designing and developing
>> the RESTful services for C5.
>>
>> According to the above requirements it seems most of the requirement are
>> related to source code analysis. To do that we can use SonarQube[1] like
>> tool. Our maven plug-in is intended to do validations in POM.xml level. But
>> we can try to trigger a SonarQube job in maven. But I thing these two
>> should be separate processes.
>>
>> So my suggestions are to:
>>
>> i. Use Sonar like tool to analyze the code related to web services and
>> applications.
>>
>> ii. We can even use a central SonarQube to analyze whole code base, and
>> attach it with Jenkins(when it arrives). So that we have a complete code
>> analysis on our whole code base.
>>
>> We can include the relevant link of SonarQube project to our Development
>> Governance portal. So that anyone interested can have nice view of the
>> state of the project.
>>
>> If we need additional validation in the code we can add it as a rule in
>> the SonarQube[2]. I believe it make more sense to add code validation logic
>> as SonarQube rules than trying to integrate code validation rules in the
>> maven enforcer plug-in.
>>
>> Please comment on this approach, raise any concerns and suggest any
>> validation rule that you think we should have.
>>
>> [1] http://nemo.sonarqube.org/dashboard/index/176190
>>
>> [2] http://checkstyle.sourceforge.net/config_annotation.html
>>
>>
>> Thanks,
>> *Jayanga Dissanayake*
>> Senior Software Engineer
>> WSO2 Inc. - http://wso2.com/
>> lean . enterprise . middleware
>> email: [email protected]
>> mobile: +94772207259
>>
>
>
>
> --
>
>
> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
> Senior Technical Lead; WSO2 Inc.; http://wso2.com
>
>
>
> * Member; Apache Software Foundation; http://apache.org
> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1
> 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*;
>
>
> *M: +94 77 322 1818 <%2B94%2077%20322%201818> Linked-In:
> http://linkedin.com/in/senakafernando
> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
>
org.wso2.carbon.cluster.mgt.core.tar.gz
Description: GNU Zip compressed data
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
