ToDo Before SVN Commit

Configuration Items

scripts in bin/ require a lib directory with all the .jar files

change .jnlp files to match target location on Sourceforge

Samples

Adding the copy operation to set up the samples in the target site causes dependancy problems (at least in the install phase):

                <mkdir dir="target/site/samples"/>
                <copy file="filterbuilder/src/main/resources/filterbuilder.jnlp" tofile="target/site/samples/filterbuilder.jnlp" overwrite="true"/>
                <copy file="sitecapturer/src/main/resources/sitecapturer.jnlp" tofile="target/site/samples/sitecapturer.jnlp" overwrite="true"/>
                <copy file="thumbelina/src/main/resources/thumbelina.jnlp" tofile="target/site/samples/thumbelina.jnlp" overwrite="true"/>
                <copy file="lexer/target/signed/htmllexer.jar" tofile="target/site/samples/htmllexer.jar" overwrite="true"/>
                <copy file="parser/target/signed/htmlparser.jar" tofile="target/site/samples/htmlparser.jar" overwrite="true"/>
                <copy file="filterbuilder/target/signed/filterbuilder.jar" tofile="target/site/samples/filterbuilder.jar" overwrite="true"/>
                <copy file="sitecapturer/target/signed/sitecapturer.jar" tofile="target/site/samples/sitecapturer.jar" overwrite="true"/>
                <copy file="thumbelina/target/signed/thumbelina.jar" tofile="target/site/samples/thumbelina.jar" overwrite="true"/>
        

Higher Priority

Version

check if SNAPSHOT is best mechanism for initial settings

version in Parser and Lexer constants

versionsource target conversion

          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <phase>validate</phase>
                <configuration>
                  <tasks>
        <tstamp>
          <format property="TODAY" pattern="yyyyMMdd" locale="en"/>
          <format property="TODAY_STRING" pattern="MMM dd, yyyy"/>
        </tstamp>
        <property name="versionTag" value="${versionQualifier}_${TODAY}"/>
        <echo message="today is ${TODAY_STRING}"/>
        <echo message="versionTag=${versionTag}"/>
    
        <!-- retrieve VERSION_XXX properties from Parser.java  -->
        <loadproperties srcFile="${basedir}/src/main/java/org/htmlparser/Parser.java">
          <filterchain>
            <linecontains>
              <contains value="VERSION_"/>
            </linecontains>
            <filterreader classname="org.apache.tools.ant.filters.StripLineBreaks">
              <param name="linebreaks" value=")&quot;"/>
            </filterreader>
          </filterchain>
        </loadproperties>
    
        <echo message="previous version number = ${VERSION_NUMBER}"/>
        <echo message="previous version type = ${VERSION_TYPE}"/>
        <echo message="previous version date = ${VERSION_DATE}"/>
    
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        

Unit tests

CharacterTranslationTest is weird with compiler and it's own SimpleClassLoader so it fails - fix

Non-maven Support

ant script generation netbeans and eclipse project generation

Deploy

need .m2/settings.xml with ftp, and other distribution settings http://maven.apache.org/maven-settings/settings.html

or use %M2_HOME%/conf/settings.xml or ${basedir}/profiles.xml

JavaDoc

Javadoc doesn't work across modules, avoid use of antrun.

Many problems with javadoc formating...

            overview, copyright date
          

or need to somehow get the antrun plugin to run as part of the site:site goal, workaround:

            mvn clean install site assembly:assembly
          

Lower Priority

Site

For some reason the following are now illegal in the site.xml... why?

              <title>HTML Parser</title>
              <footer>
                <A href="http://sourceforge.net/projects/htmlparser">
                <img src="http://sourceforge.net/sflogo.php?group_id&#61;24399&amp;type&#61;1" width="88" height="31" border="0" alt="SourceForge.net"/></A>
              </footer>
              <search/>
          

dependencies report is failing with null pointer because of:

                  <dependencies>
                    <dependency>
                      <groupId>com.sun</groupId>
                      <artifactId>tools</artifactId>
                      <version>1.5.0</version>
                      <scope>system</scope>
                      <systemPath>${java.home}/../lib/tools.jar</systemPath>
                    </dependency>
                  </dependencies>
          

contributors.html -> project members, may need a new velocity template

update samples page

check package.html files

Refactor

Move lexer and parser applications to just 'applications', 'examples' or 'samples'.

- new package.html as mixture of parserapplications and lexerapplications

Move BeanyBaby out of beans and into 'applications', 'examples' or 'samples'.

- need to update project pom modules section and javadoc section

- also update assembly files

Move SiteCapturer into it's own directory.

split out lexertests (dependancy on ParserTestCase and hence Parser)

GroupId

Is <groupId>org.apache.maven.plugins</groupId> needed in maven-jar-plugin override for signing jars?

Java-Beans

Avoid using manifest file and generated manifest has Extension-Name attribute, see http://jira.codehaus.org/browse/MJAR-38 http://jira.codehaus.org/browse/MJAR-39 and http://jira.codehaus.org/browse/MWAR-34

Code Checking

checkstyle doesn't understand my settings

code checking tools:

            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-pmd-plugin</artifactId>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-checkstyle-plugin</artifactId>
              <configuration>
                <configLocation>src/main/resources/htmlparser_checks.xml</configLocation>
                <basedir>src/main/java</basedir>
               </configuration>
            </plugin>
          

Site

combine mailing list documentation which is currently in two places