/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import java.io.*; import org.codehaus.plexus.util.*; boolean result = true; try { String encoding = "UTF-8"; Reader fileReader = null; File buildLog = new File( basedir, "build.log" ); String logContent; try { fileReader = ReaderFactory.newReader( buildLog, encoding ); logContent = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } File javaFile = new File( basedir, "/src/main/java/fix/test/App.java" ); String content; try { fileReader = ReaderFactory.newReader( javaFile, encoding ); content = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } result = result && ( StringUtils.countMatches( content, " * App class" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @generatorClass toto" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @todo review it" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @version 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @author Vincent Siveton" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @since 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * The main method" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param args an array of strings that contains the arguments" ) == 1 ); result = result && ( StringUtils.countMatches( content, " *

sampleMethod

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param str a {@link java.lang.String} object." ) == 1 ); javaFile = new File( basedir, "/src/main/java/fix/test/ClassWithNoJavadoc.java" ); try { fileReader = ReaderFactory.newReader( javaFile, encoding ); content = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } result = result && ( StringUtils.countMatches( content, " *

ClassWithNoJavadoc class.

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @version $Id: $" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @since 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " *

main

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param args an array of {@link java.lang.String} objects." ) == 1 ); // private sampleMethod result = result && ( StringUtils.countMatches( content, " *

sampleMethod

" ) == 0 ); result = result && ( StringUtils.countMatches( content, " * @param str a {@link java.lang.String} object." ) == 0 ); javaFile = new File( basedir, "/src/main/java/fix/test/ClassWithJavadoc.java" ); try { fileReader = ReaderFactory.newReader( javaFile, encoding ); content = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } result = result && ( StringUtils.countMatches( content, " * Some Javadoc." ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @since 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " /** Constant MY_STRING_CONSTANT=\"value\" */" ) == 1 ); result = result && ( StringUtils.countMatches( content, " /** Constant MY_INT_CONSTANT=1 */" ) == 1 ); result = result && ( StringUtils.countMatches( content, " /** Constant EOL=\"System.getProperty( line.separator )\" */" ) == 1 ); // private constant result = result && ( StringUtils.countMatches( content, " /** Constant MY_PRIVATE_CONSTANT=\"\" */" ) == 0 ); result = result && ( StringUtils.countMatches( content, " *

main

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param args an array of {@link java.lang.String} objects." ) == 1 ); result = result && ( StringUtils.countMatches( content, " *

methodWithMissingParameters

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param str a {@link java.lang.String} object." ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param b a boolean." ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param i a int." ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @return a {@link java.lang.String} object." ) == 1 ); // check unknown param result = result && ( StringUtils.countMatches( logContent, "[WARNING] Fixed unknown param 'str' defined in fix.test.ClassWithJavadoc#methodWithWrongJavadocParameters(aString)" ) == 1 ); javaFile = new File( basedir, "/src/main/java/fix/test/InterfaceWithNoJavadoc.java" ); try { fileReader = ReaderFactory.newReader( javaFile, encoding ); content = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } result = result && ( StringUtils.countMatches( content, " *

InterfaceWithNoJavadoc interface.

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @version $Id: $" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @since 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " /** Constant MY_STRING_CONSTANT=\"value\" */" ) == 1 ); result = result && ( StringUtils.countMatches( content, " *

method

" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param aString a {@link java.lang.String} object." ) == 1 ); javaFile = new File( basedir, "/src/main/java/fix/test/InterfaceWithJavadoc.java" ); try { fileReader = ReaderFactory.newReader( javaFile, encoding ); content = IOUtil.toString( fileReader ); } finally { IOUtil.close( fileReader ); } result = result && ( StringUtils.countMatches( content, " * Some Javadoc." ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @version $Id: $" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @since 1.0" ) == 1 ); result = result && ( StringUtils.countMatches( content, " /** comment */" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * My method" ) == 1 ); result = result && ( StringUtils.countMatches( content, " * @param aString a {@link java.lang.String} object." ) == 1 ); } catch( Throwable e ) { e.printStackTrace(); result = false; } return result;