Projects
openEuler:Mainline
javacc-maven-plugin
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 10
View file
_service:tar_scm:javacc-maven-plugin.spec
Changed
@@ -1,20 +1,19 @@ Name: javacc-maven-plugin -Version: 2.6 -Release: 27 +Version: 3.0.1 +Release: 1 Summary: Maven Plugin for processing JavaCC grammar files License: ASL 2.0 URL: https://www.mojohaus.org/ BuildArch: noarch -Source0: https://github.com/mojohaus/javacc-maven-plugin/archive/javacc-maven-plugin-2.6.tar.gz +Source0: https://github.com/mojohaus/javacc-maven-plugin/archive/javacc-maven-plugin-%{version}.tar.gz Source1: http://www.apache.org/licenses/LICENSE-2.0.txt -#Fix build error where maven-invoker-plugin does not exist -Patch0001: javacc-maven-plugin-pom.patch BuildRequires: maven-local mvn(junit:junit) mvn(net.java.dev.javacc:javacc) BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api) mvn(org.apache.maven.doxia:doxia-site-renderer) BuildRequires: mvn(org.apache.maven:maven-model) mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.apache.maven:maven-project) mvn(org.apache.maven.reporting:maven-reporting-api) BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl) mvn(org.codehaus.mojo:mojo-parent:pom:) BuildRequires: mvn(org.codehaus.plexus:plexus-utils) mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-invoker-plugin) %description Process JavaCC grammars. @@ -31,6 +30,10 @@ %autosetup -n %{name}-javacc-maven-plugin-%{version} -p1 cp -p %{SOURCE1} . +%pom_remove_dep edu.ucla.cs.compilers:jtb +rm -fr src/it +rm -fr src/site + %build %mvn_build @@ -44,5 +47,8 @@ %doc src/main/resources/NOTICE %changelog +* Thu Jul 27 2023 yaoxin <yao_xin001@hoperun.com> - 3.0.1-1 +- Update to 3.0.1 + * Tue Mar 3 2020 shijian <shijian16@huawei.com> - 2.6-27 -- Package init \ No newline at end of file +- Package init
View file
_service:tar_scm:javacc-maven-plugin-pom.patch
Deleted
@@ -1,79 +0,0 @@ ---- old/pom.xml.sav 2009-09-30 01:25:34.000000000 +0300 -+++ new/pom.xml 2010-03-23 23:37:07.136383912 +0200 -@@ -85,15 +85,6 @@ under the License. - <version>1.5.6</version> - </dependency> - <dependency> -- <groupId>edu.ucla.cs.compilers</groupId> -- <artifactId>jtb</artifactId> -- <version>1.3.2</version> -- <!-- -- NOTE: Only reflectively accessed to avoid dependency on Java 1.5 for compilation. -- --> -- <scope>runtime</scope> -- </dependency> -- <dependency> - <groupId>org.apache.maven.reporting</groupId> - <artifactId>maven-reporting-api</artifactId> - <version>2.0.4</version> -@@ -127,60 +118,5 @@ under the License. - </dependency> - </dependencies> - -- <profiles> -- <profile> -- <id>run-its</id> -- <activation> -- <property> -- <name>maven.test.skip</name> -- <value>!true</value> -- </property> -- </activation> -- <properties> -- <sitePluginVersion>2.0.1</sitePluginVersion> -- </properties> -- <build> -- <plugins> -- <plugin> -- <groupId>org.apache.maven.plugins</groupId> -- <artifactId>maven-invoker-plugin</artifactId> -- <version>1.4</version> -- <configuration> -- <projectsDirectory>src/it</projectsDirectory> -- <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> -- <pomIncludes> -- <pomInclude>*/pom.xml</pomInclude> -- </pomIncludes> -- <postBuildHookScript>verify.bsh</postBuildHookScript> -- <settingsFile>src/it/settings.xml</settingsFile> -- <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> -- <debug>true</debug> -- </configuration> -- <executions> -- <execution> -- <id>integration-test</id> -- <goals> -- <goal>install</goal> -- <goal>run</goal> -- </goals> -- </execution> -- </executions> -- </plugin> -- </plugins> -- </build> -- </profile> -- <profile> -- <id>maven-3</id> -- <activation> -- <file> -- <!-- This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) --> -- <exists>${basedir}</exists> -- </file> -- </activation> -- <properties> -- <sitePluginVersion>3.0-beta-1-SNAPSHOT</sitePluginVersion> -- </properties> -- </profile> -- </profiles> - - </project>
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github
Added
+(directory)
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github/dependabot.yml
Added
@@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "daily" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily"
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github/release-drafter.yml
Added
@@ -0,0 +1,4 @@ +# Configuration for Release Drafter: https://github.com/toolmantim/release-drafter +_extends: .github +name-template: javacc-maven-plugin-$NEXT_MINOR_VERSION +tag-template: javacc-maven-plugin-$NEXT_MINOR_VERSION
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github/workflows
Added
+(directory)
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github/workflows/maven.yml
Added
@@ -0,0 +1,28 @@ +# 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. + +name: GitHub CI + +on: push, pull_request + +jobs: + build: + name: Verify + uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v3 + with: + ff-maven: "3.8.6" # Maven version for fail-fast-build + maven-matrix: ' "3.2.5", "3.8.6" ' # Maven versions matrix for verify builds \ No newline at end of file
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.github/workflows/release-drafter.yml
Added
@@ -0,0 +1,12 @@ +name: Release Drafter +on: + push: + branches: + - master +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5.20.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/.gitignore
Added
@@ -0,0 +1,2 @@ +target/ +*.iml
View file
_service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/README.md
Added
@@ -0,0 +1,43 @@ +# MojoHaus Javacc Maven Plugin + +This is the javacc-maven-plugin(http://www.mojohaus.org/javacc-maven-plugin/). + +!Apache License, Version 2.0, January 2004(https://img.shields.io/github/license/mojohaus/versions-maven-plugin.svg?label=License)(http://www.apache.org/licenses/) +!Maven Central(https://img.shields.io/maven-central/v/org.codehaus.mojo/javacc-maven-plugin.svg?label=Maven%20Central)(https://search.maven.org/artifact/org.codehaus.mojo/javacc-maven-plugin) +!GitHub CI(https://github.com/mojohaus/javacc-maven-plugin/actions/workflows/maven.yml/badge.svg)(https://github.com/mojohaus/javacc-maven-plugin/actions/workflows/maven.yml) + +## Quickstart + +``` + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>javacc-maven-plugin</artifactId> + <!--<version>INSERT LATEST VERSION HERE</version>--> + <executions> + <execution> + <goals> + <goal>....</goal> + </goals> + </execution> + </executions> + <configuration> + <!-- See usage on maven site from link above for details --> + </configuration> + </plugin> + </plugins> + </build> +``` + +## Releasing + +* Make sure `gpg-agent` is running. +* Execute `mvn -B release:prepare release:perform` + +For publishing the site do the following: + +``` +cd target/checkout +mvn verify site site:stage scm-publish:publish-scm +```
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/pom.xml
Changed
@@ -25,15 +25,15 @@ <parent> <artifactId>mojo-parent</artifactId> <groupId>org.codehaus.mojo</groupId> - <version>22</version> + <version>70</version> </parent> <artifactId>javacc-maven-plugin</artifactId> - <version>2.6</version> + <version>3.0.1</version> <packaging>maven-plugin</packaging> <name>JavaCC Maven Plugin</name> - <description>Maven 2 Plugin for processing JavaCC grammar files.</description> + <description>Maven 3 Plugin for processing JavaCC grammar files.</description> <url>http://mojo.codehaus.org/javacc-maven-plugin/</url> <inceptionYear>2005</inceptionYear> <licenses> @@ -48,10 +48,16 @@ <maven>2.0.6</maven> </prerequisites> + <properties> + <sitePluginVersion>${maven-site-plugin.version}</sitePluginVersion> + <skipTests>false</skipTests> + </properties> + <scm> - <connection>scm:svn:http://svn.codehaus.org/mojo/tags/javacc-maven-plugin-2.6</connection> - <developerConnection>scm:svn:https://svn.codehaus.org/mojo/tags/javacc-maven-plugin-2.6</developerConnection> - <url>http://fisheye.codehaus.org/browse/mojo/tags/javacc-maven-plugin-2.6</url> + <connection>scm:git:https://github.com/mojohaus/javacc-maven-plugin.git</connection> + <developerConnection>scm:git:ssh://git@github.com/mojohaus/javacc-maven-plugin.git</developerConnection> + <url>https://github.com/mojohaus/javacc-maven-plugin</url> + <tag>javacc-maven-plugin-3.0.1</tag> </scm> <issueManagement> <system>JIRA</system> @@ -62,41 +68,38 @@ <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> - <version>2.0.4</version> + <version>3.0</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> - <artifactId>maven-project</artifactId> - <version>2.0.4</version> + <artifactId>maven-model</artifactId> + <version>3.0</version> </dependency> <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - <version>2.0.4</version> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>3.6.4</version> + <scope>provided</scope> </dependency> <dependency> <groupId>net.java.dev.javacc</groupId> <artifactId>javacc</artifactId> - <version>5.0</version> + <version>7.0.12</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> - <version>1.5.6</version> + <version>3.4.2</version> </dependency> <dependency> <groupId>edu.ucla.cs.compilers</groupId> <artifactId>jtb</artifactId> <version>1.3.2</version> - <!-- - NOTE: Only reflectively accessed to avoid dependency on Java 1.5 for compilation. - --> - <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-api</artifactId> - <version>2.0.4</version> + <version>3.1.1</version> </dependency> <dependency> <groupId>org.apache.maven.reporting</groupId> @@ -122,65 +125,35 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>3.8.2</version> + <version>4.13.2</version> <scope>test</scope> </dependency> </dependencies> - <profiles> - <profile> - <id>run-its</id> - <activation> - <property> - <name>maven.test.skip</name> - <value>!true</value> - </property> - </activation> - <properties> - <sitePluginVersion>2.0.1</sitePluginVersion> - </properties> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-invoker-plugin</artifactId> - <version>1.4</version> - <configuration> - <projectsDirectory>src/it</projectsDirectory> - <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> - <pomIncludes> - <pomInclude>*/pom.xml</pomInclude> - </pomIncludes> - <postBuildHookScript>verify.bsh</postBuildHookScript> - <settingsFile>src/it/settings.xml</settingsFile> - <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> - <debug>true</debug> - </configuration> - <executions> - <execution> - <id>integration-test</id> - <goals> - <goal>install</goal> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - <profile> - <id>maven-3</id> - <activation> - <file> - <!-- This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) --> - <exists>${basedir}</exists> - </file> - </activation> - <properties> - <sitePluginVersion>3.0-beta-1-SNAPSHOT</sitePluginVersion> - </properties> - </profile> - </profiles> - + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-invoker-plugin</artifactId> + <configuration> + <skipInvocation>${skipTests}</skipInvocation> + <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> + <postBuildHookScript>verify.bsh</postBuildHookScript> + <settingsFile>src/it/settings.xml</settingsFile> + <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> + <debug>true</debug> + </configuration> + <executions> + <execution> + <id>integration-test</id> + <goals> + <goal>install</goal> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/explicit-parameter-values/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/explicit-parameter-values/pom.xml
Changed
@@ -94,6 +94,15 @@ </executions> </plugin> <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + <plugin> <artifactId>maven-site-plugin</artifactId> <version>2.0-beta-7</version> </plugin> @@ -118,7 +127,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-absent-source-directory/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-absent-source-directory/pom.xml
Changed
@@ -14,6 +14,15 @@ </description> <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + </plugin> + </plugins> + </pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-basic/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-basic/pom.xml
Changed
@@ -30,6 +30,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-custom-parser-files/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-custom-parser-files/pom.xml
Changed
@@ -30,6 +30,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-custom-source-files/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-custom-source-files/pom.xml
Changed
@@ -30,6 +30,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-equal-input-output-directory/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-equal-input-output-directory/pom.xml
Changed
@@ -55,6 +55,15 @@ <jdkVersion>1.4</jdkVersion> </configuration> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-grammar-in-source-root/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-grammar-in-source-root/pom.xml
Changed
@@ -21,7 +21,7 @@ <version>@pom.version@</version> <configuration> <sourceDirectory>src/main/java</sourceDirectory> - <jdkVersion>1.4</jdkVersion> + <jdkVersion>1.5</jdkVersion> </configuration> <executions> <execution> @@ -31,6 +31,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-path-with-spaces/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-path-with-spaces/pom.xml
Changed
@@ -33,6 +33,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-reactor-build/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-reactor-build/pom.xml
Changed
@@ -29,6 +29,15 @@ <jdkVersion>1.4</jdkVersion> </configuration> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </pluginManagement> </build>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/javacc-stale-detection/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/javacc-stale-detection/pom.xml
Changed
@@ -49,6 +49,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjdoc-absent-source-directory/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjdoc-absent-source-directory/pom.xml
Changed
@@ -36,7 +36,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjdoc-basic-site/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjdoc-basic-site/pom.xml
Changed
@@ -40,7 +40,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjdoc-default-source-roots/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjdoc-default-source-roots/pom.xml
Changed
@@ -61,7 +61,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjdoc-path-with-spaces/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjdoc-path-with-spaces/pom.xml
Changed
@@ -27,6 +27,15 @@ <outputDirectory>target/jj doc</outputDirectory> </configuration> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> @@ -45,7 +54,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjdoc-reactor-build/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjdoc-reactor-build/pom.xml
Changed
@@ -43,7 +43,7 @@ </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.0.1</version> + <version>@maven-project-info-reports-plugin.version@</version> <reportSets> <reportSet/> </reportSets>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjtree-dynamic-node-package/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjtree-dynamic-node-package/pom.xml
Changed
@@ -28,7 +28,7 @@ <configuration> <outputDirectory>target/generated-sources/jjtree</outputDirectory> <nodePackage>*.node</nodePackage> - <jdkVersion>1.4</jdkVersion> + <jdkVersion>1.5</jdkVersion> </configuration> </execution> </executions> @@ -49,6 +49,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjtree-javacc-basic/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjtree-javacc-basic/pom.xml
Changed
@@ -14,6 +14,15 @@ </description> <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + </plugin> + </plugins> + </pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjtree-javacc-custom-source-files/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjtree-javacc-custom-source-files/pom.xml
Changed
@@ -31,6 +31,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjtree-javacc-pipeline/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjtree-javacc-pipeline/pom.xml
Changed
@@ -38,6 +38,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jjtree-static-node-package/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jjtree-static-node-package/pom.xml
Changed
@@ -49,6 +49,15 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + <configuration> + <!-- required for JTB --> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> </plugins> </build> </project>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-basic/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-basic/pom.xml
Changed
@@ -25,11 +25,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-dynamic-packages/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-dynamic-packages/pom.xml
Changed
@@ -29,11 +29,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-javacc-basic/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-javacc-basic/pom.xml
Changed
@@ -30,11 +30,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-javacc-custom-source-files/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-javacc-custom-source-files/pom.xml
Changed
@@ -30,11 +30,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-path-with-spaces/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-path-with-spaces/pom.xml
Changed
@@ -36,11 +36,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/it/jtb-reactor-build/pom.xml -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/it/jtb-reactor-build/pom.xml
Changed
@@ -28,11 +28,11 @@ </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> - <version>2.0.2</version> + <version>3.10.1</version> <configuration> <!-- required for JTB --> - <source>1.5</source> - <target>1.5</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins>
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/AbstractJavaCCMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/AbstractJavaCCMojo.java
Changed
@@ -29,6 +29,7 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.SelectorUtils; @@ -38,8 +39,7 @@ * Provides common services for all mojos that compile JavaCC grammar files. * * @author jruiz@exist.com - * @author jesse <jesse.mcconnell@gmail.com> - * @version $Id$ + * @author jesse jesse.mcconnell@gmail.com */ public abstract class AbstractJavaCCMojo extends AbstractMojo @@ -47,11 +47,9 @@ /** * The current Maven project. - * - * @parameter default-value="${project}" - * @readonly - * @required + * */ + @Parameter(defaultValue = "${project}", readonly = true, required = true) private MavenProject project; /** @@ -64,51 +62,51 @@ /** * The Java version for which to generate source code. Default value is <code>1.5</code> for plugin version 2.6+ and * <code>1.4</code> in older versions. - * - * @parameter expression="${jdkVersion}" + * * @since 2.4 */ + @Parameter(property = "javacc.jdkVersion") private String jdkVersion; /** * The number of tokens to look ahead before making a decision at a choice point during parsing. The default value * is <code>1</code>. - * - * @parameter expression="${lookAhead}" + * */ + @Parameter(property = "javacc.lookAhead") private Integer lookAhead; /** * This is the number of tokens considered in checking choices of the form "A | B | ..." for ambiguity. Default * value is <code>2</code>. - * - * @parameter expression="${choiceAmbiguityCheck}" + * */ + @Parameter(property = "javacc.choiceAmbiguityCheck") private Integer choiceAmbiguityCheck; /** * This is the number of tokens considered in checking all other kinds of choices (i.e., of the forms "(A)*", * "(A)+", and "(A)?") for ambiguity. Default value is <code>1</code>. - * - * @parameter expression="${otherAmbiguityCheck}" + * */ + @Parameter(property = "javacc.otherAmbiguityCheck") private Integer otherAmbiguityCheck; /** * If <code>true</code>, all methods and class variables are specified as static in the generated parser and * token manager. This allows only one parser object to be present, but it improves the performance of the parser. * Default value is <code>true</code>. - * - * @parameter expression="${isStatic}" + * */ + @Parameter(property = "javacc.isStatic") private Boolean isStatic; /** * This option is used to obtain debugging information from the generated parser. Setting this option to * <code>true</code> causes the parser to generate a trace of its actions. Default value is <code>false</code>. - * - * @parameter expression="${debugParser}" + * */ + @Parameter(property = "javacc.debugParser") private Boolean debugParser; /** @@ -116,25 +114,25 @@ * causes the parser to generate all the tracing information it does when the option <code>debugParser</code> is * <code>true</code>, and in addition, also causes it to generated a trace of actions performed during lookahead * operation. - * - * @parameter expression="${debugLookAhead}" + * */ + @Parameter(property = "javacc.debugLookAhead") private Boolean debugLookAhead; /** * This option is used to obtain debugging information from the generated token manager. Default value is * <code>false</code>. - * - * @parameter expression="${debugTokenManager}" + * */ + @Parameter(property = "javacc.debugTokenManager") private Boolean debugTokenManager; /** * Setting it to <code>false</code> causes errors due to parse errors to be reported in somewhat less detail. * Default value is <code>true</code>. * - * @parameter expression="${errorReporting}" */ + @Parameter(property = "javacc.errorReporting") private Boolean errorReporting; /** @@ -142,24 +140,25 @@ * escapes (<code>\</code><code>u</code><i>xxxx</i>) before sending characters to the token manager. Default * value is <code>false</code>. * - * @parameter expression="${javaUnicodeEscape}" + * @parameter property="javaUnicodeEscape" */ + @Parameter(property = "javacc.javaUnicodeEscape") private Boolean javaUnicodeEscape; /** * When set to <code>true</code>, the generated parser uses uses an input stream object that reads Unicode files. * By default, ASCII files are assumed. Default value is <code>false</code>. - * - * @parameter expression="${unicodeInput}" + * */ + @Parameter(property = "javacc.unicodeInput") private Boolean unicodeInput; /** * Setting this option to <code>true</code> causes the generated token manager to ignore case in the token * specifications and the input files. Default value is <code>false</code>. - * - * @parameter expression="${ignoreCase}" + * */ + @Parameter(property = "javacc.ignoreCase") private Boolean ignoreCase; /** @@ -167,9 +166,9 @@ * description of the <a href="https://javacc.dev.java.net/doc/apiroutines.html">Java Compiler Compiler API</a>) * will cause a call to a user-defined method <code>CommonTokenAction()</code> after the token has been scanned in * by the token manager. Default value is <code>false</code>. - * - * @parameter expression="${commonTokenAction}" + * */ + @Parameter(property = "javacc.commonTokenAction") private Boolean commonTokenAction; /** @@ -177,110 +176,112 @@ * set to <code>true</code>, then the parser is generated to accept tokens from any token manager of type * <code>TokenManager</code> - this interface is generated into the generated parser directory. Default value is * <code>false</code>. - * - * @parameter expression="${userTokenManager}" + * */ + @Parameter(property = "javacc.userTokenManager") private Boolean userTokenManager; /** * This flag controls whether the token manager will read characters from a character stream reader as defined by * the options <code>javaUnicodeEscape</code> and <code>unicodeInput</code> or whether the token manager reads * from a user-supplied implementation of <code>CharStream</code>. Default value is <code>false</code>. - * - * @parameter expression="${userCharStream}" + * */ + @Parameter(property = "javacc.userCharStream") private Boolean userCharStream; /** * A flag that controls whether the parser file (<code>*Parser.java</code>) should be generated or not. If set * to <code>false</code>, only the token manager is generated. Default value is <code>true</code>. - * - * @parameter expression="${buildParser}" + * */ + @Parameter(property = "javacc.buildParser") private Boolean buildParser; /** * A flag that controls whether the token manager file (<code>*TokenManager.java</code>) should be generated or * not. Setting this to <code>false</code> can speed up the generation process if only the parser part of the * grammar changed. Default value is <code>true</code>. - * - * @parameter expression="${buildTokenManager}" + * */ + @Parameter(property = "javacc.buildTokenManager") private Boolean buildTokenManager; /** * When set to <code>true</code>, the generated token manager will include a field called <code>parser</code> * that references the instantiating parser instance. Default value is <code>false</code>. * - * @parameter expression="${tokenManagerUsesParser}" + * @parameter property="tokenManagerUsesParser" */ + @Parameter(property = "javacc.tokenManagerUsesParser") private Boolean tokenManagerUsesParser; /** * The name of the base class for the generated <code>Token</code> class. Default value is * <code>java.lang.Object</code>. - * - * @parameter expression="${tokenExtends}" + * * @since 2.5 */ + @Parameter(property = "javacc.tokenExtends") private String tokenExtends; /** * The name of a custom factory class used to create <code>Token</code> objects. This class must have a method with * the signature <code>public static Token newToken(int ofKind, String image)</code>. By default, tokens are created * by calling <code>Token.newToken()</code>. - * - * @parameter expression="${tokenFactory}" + * * @since 2.5 */ + @Parameter(property = "javacc.tokenFactory") private String tokenFactory; /** * Enables/disables many syntactic and semantic checks on the grammar file during parser generation. Default value * is <code>true</code>. - * - * @parameter expression="${sanityCheck}" + * */ + @Parameter(property = "javacc.sanityCheck") private Boolean sanityCheck; /** * This option setting controls lookahead ambiguity checking performed by JavaCC. Default value is * <code>false</code>. - * - * @parameter expression="${forceLaCheck}" + * */ + @Parameter(property = "javacc.forceLaCheck") private Boolean forceLaCheck; /** * Setting this option to <code>true</code> causes the generated parser to lookahead for extra tokens ahead of * time. Default value is <code>false</code>. - * - * @parameter expression="${cacheTokens}" + * */ + @Parameter(property = "javacc.cacheTokens") private Boolean cacheTokens; /** * A flag whether to keep line and column information along with a token. Default value is <code>true</code>. * - * @parameter expression="${keepLineColumn}" + * @parameter property="keepLineColumn" */ + @Parameter(property = "javacc.keepLineColumn") private Boolean keepLineColumn; /** * A flag whether the generated support classes of the parser should have public or package-private visibility. * Default value is <code>true</code>. - * - * @parameter expression="${supportClassVisibilityPublic}" + * * @since 2.6 */ + @Parameter(property = "javacc.supportClassVisibilityPublic") private Boolean supportClassVisibilityPublic; /** * The file encoding to use for reading the grammar files. * - * @parameter expression="${grammarEncoding}" default-value="${project.build.sourceEncoding}" * @since 2.6 */ + @Parameter(property = "javacc.grammarEncoding", defaultValue = "${project.build.sourceEncoding}") private String grammarEncoding; /** @@ -351,7 +352,7 @@ * Gets the granularity in milliseconds of the last modification date for testing whether a source needs * recompilation. * - * @return The granularity in milliseconds of the last modification date for testing whether a source needs + * @return The granularity in milliseconds of the last modification date for testiintng whether a source needs * recompilation. */ protected abstract int getStaleMillis();
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/AbstractPreprocessorMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/AbstractPreprocessorMojo.java
Changed
@@ -25,6 +25,7 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.util.FileUtils; @@ -32,7 +33,6 @@ * Provides common services for all mojos that preprocess JavaCC grammar files. * * @author Benjamin Bentmann - * @version $Id$ */ public abstract class AbstractPreprocessorMojo extends AbstractMojo @@ -40,11 +40,9 @@ /** * The current Maven project. - * - * @parameter default-value="${project}" - * @readonly - * @required + * */ + @Parameter(defaultValue = "${project}", readonly = true, required = true) private MavenProject project; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/ForkedJvm.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/ForkedJvm.java
Changed
@@ -35,7 +35,6 @@ * Runs the <code>main()</code> method of some tool in a forked JVM. * * @author Benjamin Bentmann - * @version $Id$ * @see <a href="http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html">java - The Java Application * Launcher</a> */
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/GrammarInfo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/GrammarInfo.java
Changed
@@ -31,7 +31,6 @@ * output location for the generated parser file. * * @author Benjamin Bentmann - * @version $Id$ */ class GrammarInfo {
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJDoc.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJDoc.java
Changed
@@ -31,7 +31,6 @@ * Provides a facade for the mojos to invoke JJDoc. * * @author Paul Gier, Benjamin Bentmann - * @version $Id$ * @see <a href="https://javacc.dev.java.net/doc/JJDoc.html">JJDoc Reference</a> */ class JJDoc
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJDocMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJDocMojo.java
Changed
@@ -1,574 +1,575 @@ -package org.codehaus.mojo.javacc; - -/* - * 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.File; -import java.util.Arrays; -import java.util.Comparator; -import java.util.LinkedHashSet; -import java.util.Locale; -import java.util.ResourceBundle; -import java.util.Set; - -import org.apache.maven.doxia.sink.Sink; -import org.apache.maven.doxia.siterenderer.Renderer; -import org.apache.maven.project.MavenProject; -import org.apache.maven.reporting.AbstractMavenReport; -import org.apache.maven.reporting.MavenReportException; - -/** - * <a href="https://javacc.dev.java.net/doc/JJDoc.html">JJDoc</a> takes a JavaCC parser specification and produces - * documentation for the BNF grammar. This mojo will search the source directory for all <code>*.jj</code> files and - * run JJDoc once for each file it finds. Each of these output files, along with an <code>index.html</code> file will - * be placed in the site directory (<code>target/site/jjdoc</code>), and a link will be created in the "Project - * Reports" menu of the generated site. - * - * @goal jjdoc - * @execute phase=generate-sources - * @since 2.3 - * @author <a href="mailto:pgier@redhat.com">Paul Gier</a> - * @version $Id$ - * @see <a href="https://javacc.dev.java.net/doc/JJDoc.html">JJDoc Documentation</a> - */ -public class JJDocMojo - extends AbstractMavenReport -{ - - // ---------------------------------------------------------------------- - // Mojo Parameters - // ---------------------------------------------------------------------- - - /** - * The current Maven project. - * - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * The site renderer. - * - * @component - */ - private Renderer siteRenderer; - - /** - * The directories where the JavaCC grammar files (<code>*.jj</code>) are located. By default, the directories - * <code>${basedir}/src/main/javacc</code>, <code>${project.build.directory}/generated-sources/jjtree</code> - * and <code>${project.build.directory}/generated-sources/jtb</code> are scanned for grammar files to document. - * - * @parameter - */ - private File sourceDirectories; - - /** - * The default source directory for hand-crafted grammar files. - * - * @parameter default-value="${basedir}/src/main/javacc" - * @readonly - */ - private File defaultGrammarDirectoryJavaCC; - - /** - * The default source directory for grammar files generated by JJTree. - * - * @parameter default-value="${project.build.directory}/generated-sources/jjtree" - * @readonly - */ - private File defaultGrammarDirectoryJJTree; - - /** - * The default source directory for grammar files generated by JTB. - * - * @parameter default-value="${project.build.directory}/generated-sources/jtb" - * @readonly - */ - private File defaultGrammarDirectoryJTB; - - /** - * The relative path of the JJDoc reports in the output directory. This path will be appended to the output - * directory. - * - * @parameter default-value="jjdoc"; - */ - private String jjdocDirectory; - - /** - * The destination directory where JJDoc saves the generated documentation files. Note that this parameter is only - * relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run - * indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used - * instead. - * - * @parameter expression="${outputDirectory}" default-value="${project.reporting.outputDirectory}" - */ - private File outputDirectory; - - /** - * The file encoding to use for reading the grammar files. - * - * @parameter expression="${grammarEncoding}" default-value="${project.build.sourceEncoding}" - * @since 2.6 - */ - private String grammarEncoding; - - /** - * The hypertext reference to an optional CSS file for the generated HTML documents. If specified, this CSS file - * will be included via a <code><link></code> element in the HTML documents. Otherwise, the default style will - * be used. - * - * @parameter expression="${cssHref}" - * @since 2.5 - */ - private String cssHref; - - /** - * A flag to specify the output format for the generated documentation. If set to <code>true</code>, JJDoc will - * generate a plain text description of the BNF. Some formatting is done via tab characters, but the intention is to - * leave it as plain as possible. Specifying <code>false</code> causes JJDoc to generate a hyperlinked HTML document - * unless the parameter {@link #bnf} has been set to <code>true</code>. Default value is <code>false</code>. - * - * @parameter expression="${text}" - */ - private Boolean text; - - /** - * A flag whether to generate a plain text document with the unformatted BNF. Note that setting this option to - * <code>true</code> is only effective if the parameter {@link #text} is <code>false</code>. Default value is - * <code>false</code>. - * - * @parameter expression="${bnf}" - * @since 2.6 - */ - private Boolean bnf; - - /** - * This option controls the structure of the generated HTML output. If set to <code>true</code>, a single HTML - * table for the entire BNF is generated. Setting it to <code>false</code> will produce one table for every - * production in the grammar. - * - * @parameter expression="${oneTable}" default-value=true - */ - private boolean oneTable; - - /** - * Get the maven project. - * - * @see org.apache.maven.reporting.AbstractMavenReport#getProject() - * @return The current Maven project. - */ - protected MavenProject getProject() - { - return this.project; - } - - /** - * Get the site renderer. - * - * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer() - * @return The site renderer. - */ - protected Renderer getSiteRenderer() - { - return this.siteRenderer; - } - - /** - * Get the output directory of the report if run directly from the command line. - * - * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory() - * @return The report output directory. - */ - protected String getOutputDirectory() - { - return this.outputDirectory.getAbsolutePath(); - } - - /** - * Get the output directory of the JJDoc files, i.e. the sub directory in the report output directory as specified - * by the {@link #jjdocDirectory} parameter. - * - * @return The report output directory of the JJDoc files. - */ - private File getJJDocOutputDirectory() - { - return new File( getReportOutputDirectory(), this.jjdocDirectory ); - } - - /** - * Get the source directories that should be scanned for grammar files. - * - * @return The source directories that should be scanned for grammar files, never <code>null</code>. - */ - private File getSourceDirectories() - { - Set directories = new LinkedHashSet(); - if ( this.sourceDirectories != null && this.sourceDirectories.length > 0 ) - { - directories.addAll( Arrays.asList( this.sourceDirectories ) ); - } - else - { - if ( this.defaultGrammarDirectoryJavaCC != null ) - { - directories.add( this.defaultGrammarDirectoryJavaCC ); - } - if ( this.defaultGrammarDirectoryJJTree != null ) - { - directories.add( this.defaultGrammarDirectoryJJTree ); - } - if ( this.defaultGrammarDirectoryJTB != null ) - { - directories.add( this.defaultGrammarDirectoryJTB ); - } - } - return (File) directories.toArray( new Filedirectories.size() ); - } - - // ---------------------------------------------------------------------- - // public methods - // ---------------------------------------------------------------------- - - /** - * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale) - * @param locale The locale to use for this report. - * @return The name of this report. - */ - public String getName( Locale locale ) - { - return getBundle( locale ).getString( "report.jjdoc.name" ); - } - - /** - * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale) - * @param locale The locale to use for this report. - * @return The description of this report. - */ - public String getDescription( Locale locale ) - { - return getBundle( locale ).getString( "report.jjdoc.short.description" ); - } - - /** - * @see org.apache.maven.reporting.MavenReport#getOutputName() - * @return The name of the main report file. - */ - public String getOutputName() - { - return this.jjdocDirectory + "/index"; - } - - /** - * @see org.apache.maven.reporting.MavenReport#canGenerateReport() - * @return <code>true</code> if the configured source directories are not empty, <code>false</code> otherwise. - */ - public boolean canGenerateReport() - { - File sourceDirs = getSourceDirectories(); - for ( int i = 0; i < sourceDirs.length; i++ ) - { - File sourceDir = sourceDirsi; - String files = sourceDir.list(); - if ( files != null && files.length > 0 ) - { - return true; - } - } - return false; - } - - /** - * Run the actual report. - * - * @param locale The locale to use for this report. - * @throws MavenReportException If the report generation failed. - */ - public void executeReport( Locale locale ) - throws MavenReportException - { - Sink sink = getSink(); - - createReportHeader( getBundle( locale ), sink ); - - File sourceDirs = getSourceDirectories(); - for ( int j = 0; j < sourceDirs.length; j++ ) - { - File sourceDir = sourceDirsj; - GrammarInfo grammarInfos = scanForGrammars( sourceDir ); - - if ( grammarInfos == null ) - { - getLog().debug( "Skipping non-existing source directory: " + sourceDir ); - } - else - { - Arrays.sort( grammarInfos, GrammarInfoComparator.getInstance() ); - for ( int i = 0; i < grammarInfos.length; i++ ) - { - GrammarInfo grammarInfo = grammarInfosi; - File grammarFile = grammarInfo.getGrammarFile(); - - String relativeOutputFileName = grammarInfo.getRelativeGrammarFile(); - relativeOutputFileName = - relativeOutputFileName.replaceAll( "(?i)\\.(jj|jjt|jtb)$", getOutputFileExtension() ); - - File jjdocOutputFile = new File( getJJDocOutputDirectory(), relativeOutputFileName ); - - JJDoc jjdoc = newJJDoc(); - jjdoc.setInputFile( grammarFile ); - jjdoc.setOutputFile( jjdocOutputFile ); - try - { - jjdoc.run(); - } - catch ( Exception e ) - { - throw new MavenReportException( "Failed to create BNF documentation: " + grammarFile, e ); - } - - createReportLink( sink, sourceDir, grammarFile, relativeOutputFileName ); - } - } - } - - createReportFooter( sink ); - sink.flush(); - sink.close(); - } - - /** - * The JJDoc output file will have a <code>.html</code> or <code>.txt</code> extension depending on the value of - * the parameters {@link #text} and {@link #bnf}. - * - * @return The file extension (including the leading period) to be used for the JJDoc output files. - */ - private String getOutputFileExtension() - { - if ( Boolean.TRUE.equals( this.text ) || Boolean.TRUE.equals( this.bnf ) ) - { - return ".txt"; - } - else - { - return ".html"; - } - } - - /** - * Create the header and title for the HTML report page. - * - * @param bundle The resource bundle with the text. - * @param sink The sink for writing to the main report file. - */ - private void createReportHeader( ResourceBundle bundle, Sink sink ) - { - sink.head(); - sink.title(); - sink.text( bundle.getString( "report.jjdoc.title" ) ); - sink.title_(); - sink.head_(); - - sink.body(); - - sink.section1(); - sink.sectionTitle1(); - sink.text( bundle.getString( "report.jjdoc.title" ) ); - sink.sectionTitle1_(); - sink.text( bundle.getString( "report.jjdoc.description" ) ); - sink.section1_(); - - sink.lineBreak(); - sink.table(); - sink.tableRow(); - sink.tableHeaderCell(); - sink.text( bundle.getString( "report.jjdoc.table.heading" ) ); - sink.tableHeaderCell_(); - sink.tableRow_(); - } - - /** - * Create a table row containing a link to the JJDoc report for a grammar file. - * - * @param sink The sink to write the report - * @param sourceDirectory The source directory of the grammar file. - * @param grammarFile The JavaCC grammar file. - * @param linkPath The path to the JJDoc output. - */ - private void createReportLink( Sink sink, File sourceDirectory, File grammarFile, String linkPath ) - { - sink.tableRow(); - sink.tableCell(); - if ( linkPath.startsWith( "/" ) ) - { - linkPath = linkPath.substring( 1 ); - } - sink.link( linkPath ); - String grammarFileRelativePath = sourceDirectory.toURI().relativize( grammarFile.toURI() ).toString(); - if ( grammarFileRelativePath.startsWith( "/" ) ) - { - grammarFileRelativePath = grammarFileRelativePath.substring( 1 ); - } - sink.text( grammarFileRelativePath ); - sink.link_(); - sink.tableCell_(); - sink.tableRow_(); - } - - /** - * Create the HTML footer for the report page. - * - * @param sink The sink to write the HTML report page. - */ - private void createReportFooter( Sink sink ) - { - sink.table_(); - sink.body_(); - } - - /** - * Creates a new facade to invoke JJDoc. Most options for the invocation are derived from the current values of the - * corresponding mojo parameters. The caller is responsible to set the input file and output file on the returned - * facade. - * - * @return The facade for the tool invocation, never <code>null</code>. - */ - private JJDoc newJJDoc() - { - JJDoc jjdoc = new JJDoc(); - jjdoc.setLog( getLog() ); - jjdoc.setGrammarEncoding( this.grammarEncoding ); - jjdoc.setCssHref( this.cssHref ); - jjdoc.setText( this.text ); - jjdoc.setBnf( this.bnf ); - jjdoc.setOneTable( Boolean.valueOf( this.oneTable ) ); - return jjdoc; - } - - /** - * Searches the specified source directory to find grammar files that can be documented. - * - * @param sourceDirectory The source directory to scan for grammar files. - * @return An array of grammar infos describing the found grammar files or <code>null</code> if the source - * directory does not exist. - * @throws MavenReportException If there is a problem while scanning for .jj files. - */ - private GrammarInfo scanForGrammars( File sourceDirectory ) - throws MavenReportException - { - if ( !sourceDirectory.isDirectory() ) - { - return null; - } - - GrammarInfo grammarInfos; - - getLog().debug( "Scanning for grammars: " + sourceDirectory ); - try - { - String includes = { "**/*.jj", "**/*.JJ", "**/*.jjt", "**/*.JJT", "**/*.jtb", "**/*.JTB" }; - GrammarDirectoryScanner scanner = new GrammarDirectoryScanner(); - scanner.setSourceDirectory( sourceDirectory ); - scanner.setIncludes( includes ); - scanner.scan(); - grammarInfos = scanner.getIncludedGrammars(); - } - catch ( Exception e ) - { - throw new MavenReportException( "Failed to scan for grammars: " + sourceDirectory, e ); - } - getLog().debug( "Found grammars: " + Arrays.asList( grammarInfos ) ); - - return grammarInfos; - } - - /** - * Get the resource bundle for the report text. - * - * @param locale The locale to use for this report. - * @return The resource bundle. - */ - private ResourceBundle getBundle( Locale locale ) - { - return ResourceBundle.getBundle( "jjdoc-report", locale, getClass().getClassLoader() ); - } - - /** - * Compares grammar infos using their relative grammar file paths as the sort key. - */ - private static class GrammarInfoComparator - implements Comparator - { - - /** - * The singleton instance of this comparator. - */ - private static final GrammarInfoComparator INSTANCE = new GrammarInfoComparator(); - - /** - * Gets the singleton instance of this class. - * - * @return The singleton instance of this class. - */ - public static GrammarInfoComparator getInstance() - { - return INSTANCE; - } - - /** - * Compares the path of two grammar files lexicographically. - * - * @param o1 The first grammar info. - * @param o2 The second grammar info. - * @return A negative integer if the first grammar is considered "smaller", a positive integer if it is - * considered "greater" and zero otherwise. - */ - public int compare( Object o1, Object o2 ) - { - int rel; - - GrammarInfo info1 = (GrammarInfo) o1; - String paths1 = info1.getRelativeGrammarFile().split( "\\" + File.separatorChar ); - - GrammarInfo info2 = (GrammarInfo) o2; - String paths2 = info2.getRelativeGrammarFile().split( "\\" + File.separatorChar ); - - int dirs = Math.min( paths1.length, paths2.length ) - 1; - for ( int i = 0; i < dirs; i++ ) - { - rel = paths1i.compareToIgnoreCase( paths2i ); - if ( rel != 0 ) - { - return rel; - } - } - - rel = paths1.length - paths2.length; - if ( rel != 0 ) - { - return rel; - } - - return paths1paths1.length - 1.compareToIgnoreCase( paths2paths1.length - 1 ); - } - - } - -} +package org.codehaus.mojo.javacc; + +/* + * 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.File; +import java.util.Arrays; +import java.util.Comparator; +import java.util.LinkedHashSet; +import java.util.Locale; +import java.util.ResourceBundle; +import java.util.Set; + +import org.apache.maven.doxia.sink.Sink; +import org.apache.maven.doxia.siterenderer.Renderer; +import org.apache.maven.plugins.annotations.Component; +import org.apache.maven.plugins.annotations.Execute; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.project.MavenProject; +import org.apache.maven.reporting.AbstractMavenReport; +import org.apache.maven.reporting.MavenReportException; + +/** + * <a href="https://javacc.dev.java.net/doc/JJDoc.html">JJDoc</a> takes a JavaCC parser specification and produces + * documentation for the BNF grammar. This mojo will search the source directory for all <code>*.jj</code> files and + * run JJDoc once for each file it finds. Each of these output files, along with an <code>index.html</code> file will + * be placed in the site directory (<code>target/site/jjdoc</code>), and a link will be created in the "Project + * Reports" menu of the generated site. + * + * @since 2.3 + * @author <a href="mailto:pgier@redhat.com">Paul Gier</a> + * @see <a href="https://javacc.dev.java.net/doc/JJDoc.html">JJDoc Documentation</a> + */ +@Mojo(name = "jjdoc") +@Execute(phase = LifecyclePhase.GENERATE_SOURCES) +public class JJDocMojo + extends AbstractMavenReport +{ + + // ---------------------------------------------------------------------- + // Mojo Parameters + // ---------------------------------------------------------------------- + + /** + * The current Maven project. + * + */ + @Parameter(defaultValue = "${project}", readonly = true, required = true) + private MavenProject project; + + /** + * The site renderer. + * + */ + @Component + private Renderer siteRenderer; + + /** + * The directories where the JavaCC grammar files (<code>*.jj</code>) are located. By default, the directories + * <code>${basedir}/src/main/javacc</code>, <code>${project.build.directory}/generated-sources/jjtree</code> + * and <code>${project.build.directory}/generated-sources/jtb</code> are scanned for grammar files to document. + * + */ + @Parameter + private File sourceDirectories; + + /** + * The default source directory for hand-crafted grammar files. + * + */ + @Parameter(defaultValue = "${basedir}/src/main/javacc") + private File defaultGrammarDirectoryJavaCC; + + /** + * The default source directory for grammar files generated by JJTree. + * + */ + @Parameter(defaultValue = "${project.build.directory}/generated-sources/jjtree") + private File defaultGrammarDirectoryJJTree; + + /** + * The default source directory for grammar files generated by JTB. + * + */ + @Parameter(defaultValue = "${project.build.directory}/generated-sources/jtb") + private File defaultGrammarDirectoryJTB; + + /** + * The relative path of the JJDoc reports in the output directory. This path will be appended to the output + * directory. + * + */ + @Parameter(defaultValue = "jjdoc") + private String jjdocDirectory; + + /** + * The destination directory where JJDoc saves the generated documentation files. Note that this parameter is only + * relevant if the goal is run from the command line or from the default build lifecycle. If the goal is run + * indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used + * instead. + * + */ + @Parameter(defaultValue = "${project.reporting.outputDirectory}", property = "javacc.outputDirectory") + private File outputDirectory; + + /** + * The file encoding to use for reading the grammar files. + * + * @since 2.6 + */ + @Parameter(defaultValue = "${project.build.sourceEncoding}", property = "javacc.grammarEncoding") + private String grammarEncoding; + + /** + * The hypertext reference to an optional CSS file for the generated HTML documents. If specified, this CSS file + * will be included via a <code><link></code> element in the HTML documents. Otherwise, the default style will + * be used. + * + * @since 2.5 + */ + @Parameter(property = "javacc.cssHref") + private String cssHref; + + /** + * A flag to specify the output format for the generated documentation. If set to <code>true</code>, JJDoc will + * generate a plain text description of the BNF. Some formatting is done via tab characters, but the intention is to + * leave it as plain as possible. Specifying <code>false</code> causes JJDoc to generate a hyperlinked HTML document + * unless the parameter {@link #bnf} has been set to <code>true</code>. Default value is <code>false</code>. + * + */ + @Parameter(property = "javacc.text") + private Boolean text; + + /** + * A flag whether to generate a plain text document with the unformatted BNF. Note that setting this option to + * <code>true</code> is only effective if the parameter {@link #text} is <code>false</code>. Default value is + * <code>false</code>. + * + * @since 2.6 + */ + @Parameter(property = "javacc.bnf") + private Boolean bnf; + + /** + * This option controls the structure of the generated HTML output. If set to <code>true</code>, a single HTML + * table for the entire BNF is generated. Setting it to <code>false</code> will produce one table for every + * production in the grammar. + * + */ + @Parameter(property = "javacc.oneTable", defaultValue = "true") + private boolean oneTable; + + /** + * Get the maven project. + * + * @see org.apache.maven.reporting.AbstractMavenReport#getProject() + * @return The current Maven project. + */ + protected MavenProject getProject() + { + return this.project; + } + + /** + * Get the site renderer. + * + * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer() + * @return The site renderer. + */ + protected Renderer getSiteRenderer() + { + return this.siteRenderer; + } + + /** + * Get the output directory of the report if run directly from the command line. + * + * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory() + * @return The report output directory. + */ + protected String getOutputDirectory() + { + return this.outputDirectory.getAbsolutePath(); + } + + /** + * Get the output directory of the JJDoc files, i.e. the sub directory in the report output directory as specified + * by the {@link #jjdocDirectory} parameter. + * + * @return The report output directory of the JJDoc files. + */ + private File getJJDocOutputDirectory() + { + return new File( getReportOutputDirectory(), this.jjdocDirectory ); + } + + /** + * Get the source directories that should be scanned for grammar files. + * + * @return The source directories that should be scanned for grammar files, never <code>null</code>. + */ + private File getSourceDirectories() + { + Set directories = new LinkedHashSet(); + if ( this.sourceDirectories != null && this.sourceDirectories.length > 0 ) + { + directories.addAll( Arrays.asList( this.sourceDirectories ) ); + } + else + { + if ( this.defaultGrammarDirectoryJavaCC != null ) + { + directories.add( this.defaultGrammarDirectoryJavaCC ); + } + if ( this.defaultGrammarDirectoryJJTree != null ) + { + directories.add( this.defaultGrammarDirectoryJJTree ); + } + if ( this.defaultGrammarDirectoryJTB != null ) + { + directories.add( this.defaultGrammarDirectoryJTB ); + } + } + return (File) directories.toArray( new Filedirectories.size() ); + } + + // ---------------------------------------------------------------------- + // public methods + // ---------------------------------------------------------------------- + + /** + * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale) + * @param locale The locale to use for this report. + * @return The name of this report. + */ + public String getName( Locale locale ) + { + return getBundle( locale ).getString( "report.jjdoc.name" ); + } + + /** + * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale) + * @param locale The locale to use for this report. + * @return The description of this report. + */ + public String getDescription( Locale locale ) + { + return getBundle( locale ).getString( "report.jjdoc.short.description" ); + } + + /** + * @see org.apache.maven.reporting.MavenReport#getOutputName() + * @return The name of the main report file. + */ + public String getOutputName() + { + return this.jjdocDirectory + "/index"; + } + + /** + * @see org.apache.maven.reporting.MavenReport#canGenerateReport() + * @return <code>true</code> if the configured source directories are not empty, <code>false</code> otherwise. + */ + public boolean canGenerateReport() + { + File sourceDirs = getSourceDirectories(); + for ( int i = 0; i < sourceDirs.length; i++ ) + { + File sourceDir = sourceDirsi; + String files = sourceDir.list(); + if ( files != null && files.length > 0 ) + { + return true; + } + } + return false; + } + + /** + * Run the actual report. + * + * @param locale The locale to use for this report. + * @throws MavenReportException If the report generation failed. + */ + public void executeReport( Locale locale ) + throws MavenReportException + { + generate(getSink(), locale); + } + + /** + * The JJDoc output file will have a <code>.html</code> or <code>.txt</code> extension depending on the value of + * the parameters {@link #text} and {@link #bnf}. + * + * @return The file extension (including the leading period) to be used for the JJDoc output files. + */ + private String getOutputFileExtension() + { + if ( Boolean.TRUE.equals( this.text ) || Boolean.TRUE.equals( this.bnf ) ) + { + return ".txt"; + } + else + { + return ".html"; + } + } + + /** + * Create the header and title for the HTML report page. + * + * @param bundle The resource bundle with the text. + * @param sink The sink for writing to the main report file. + */ + private void createReportHeader( ResourceBundle bundle, Sink sink ) + { + sink.head(); + sink.title(); + sink.text( bundle.getString( "report.jjdoc.title" ) ); + sink.title_(); + sink.head_(); + + sink.body(); + + sink.section1(); + sink.sectionTitle1(); + sink.text( bundle.getString( "report.jjdoc.title" ) ); + sink.sectionTitle1_(); + sink.text( bundle.getString( "report.jjdoc.description" ) ); + sink.section1_(); + + sink.lineBreak(); + sink.table(); + sink.tableRow(); + sink.tableHeaderCell(); + sink.text( bundle.getString( "report.jjdoc.table.heading" ) ); + sink.tableHeaderCell_(); + sink.tableRow_(); + } + + /** + * Create a table row containing a link to the JJDoc report for a grammar file. + * + * @param sink The sink to write the report + * @param sourceDirectory The source directory of the grammar file. + * @param grammarFile The JavaCC grammar file. + * @param linkPath The path to the JJDoc output. + */ + private void createReportLink( Sink sink, File sourceDirectory, File grammarFile, String linkPath ) + { + sink.tableRow(); + sink.tableCell(); + if ( linkPath.startsWith( "/" ) ) + { + linkPath = linkPath.substring( 1 ); + } + sink.link( linkPath ); + String grammarFileRelativePath = sourceDirectory.toURI().relativize( grammarFile.toURI() ).toString(); + if ( grammarFileRelativePath.startsWith( "/" ) ) + { + grammarFileRelativePath = grammarFileRelativePath.substring( 1 ); + } + sink.text( grammarFileRelativePath ); + sink.link_(); + sink.tableCell_(); + sink.tableRow_(); + } + + /** + * Create the HTML footer for the report page. + * + * @param sink The sink to write the HTML report page. + */ + private void createReportFooter( Sink sink ) + { + sink.table_(); + sink.body_(); + } + + /** + * Creates a new facade to invoke JJDoc. Most options for the invocation are derived from the current values of the + * corresponding mojo parameters. The caller is responsible to set the input file and output file on the returned + * facade. + * + * @return The facade for the tool invocation, never <code>null</code>. + */ + private JJDoc newJJDoc() + { + JJDoc jjdoc = new JJDoc(); + jjdoc.setLog( getLog() ); + jjdoc.setGrammarEncoding( this.grammarEncoding ); + jjdoc.setCssHref( this.cssHref ); + jjdoc.setText( this.text ); + jjdoc.setBnf( this.bnf ); + jjdoc.setOneTable( Boolean.valueOf( this.oneTable ) ); + return jjdoc; + } + + /** + * Searches the specified source directory to find grammar files that can be documented. + * + * @param sourceDirectory The source directory to scan for grammar files. + * @return An array of grammar infos describing the found grammar files or <code>null</code> if the source + * directory does not exist. + * @throws MavenReportException If there is a problem while scanning for .jj files. + */ + private GrammarInfo scanForGrammars( File sourceDirectory ) + throws MavenReportException + { + if ( !sourceDirectory.isDirectory() ) + { + return null; + } + + GrammarInfo grammarInfos; + + getLog().debug( "Scanning for grammars: " + sourceDirectory ); + try + { + String includes = { "**/*.jj", "**/*.JJ", "**/*.jjt", "**/*.JJT", "**/*.jtb", "**/*.JTB" }; + GrammarDirectoryScanner scanner = new GrammarDirectoryScanner(); + scanner.setSourceDirectory( sourceDirectory ); + scanner.setIncludes( includes ); + scanner.scan(); + grammarInfos = scanner.getIncludedGrammars(); + } + catch ( Exception e ) + { + throw new MavenReportException( "Failed to scan for grammars: " + sourceDirectory, e ); + } + getLog().debug( "Found grammars: " + Arrays.asList( grammarInfos ) ); + + return grammarInfos; + } + + /** + * Get the resource bundle for the report text. + * + * @param locale The locale to use for this report. + * @return The resource bundle. + */ + private ResourceBundle getBundle( Locale locale ) + { + return ResourceBundle.getBundle( "jjdoc-report", locale, getClass().getClassLoader() ); + } + + /** + * Compares grammar infos using their relative grammar file paths as the sort key. + */ + private static class GrammarInfoComparator + implements Comparator + { + + /** + * The singleton instance of this comparator. + */ + private static final GrammarInfoComparator INSTANCE = new GrammarInfoComparator(); + + /** + * Gets the singleton instance of this class. + * + * @return The singleton instance of this class. + */ + public static GrammarInfoComparator getInstance() + { + return INSTANCE; + } + + /** + * Compares the path of two grammar files lexicographically. + * + * @param o1 The first grammar info. + * @param o2 The second grammar info. + * @return A negative integer if the first grammar is considered "smaller", a positive integer if it is + * considered "greater" and zero otherwise. + */ + public int compare( Object o1, Object o2 ) + { + int rel; + + GrammarInfo info1 = (GrammarInfo) o1; + String paths1 = info1.getRelativeGrammarFile().split( "\\" + File.separatorChar ); + + GrammarInfo info2 = (GrammarInfo) o2; + String paths2 = info2.getRelativeGrammarFile().split( "\\" + File.separatorChar ); + + int dirs = Math.min( paths1.length, paths2.length ) - 1; + for ( int i = 0; i < dirs; i++ ) + { + rel = paths1i.compareToIgnoreCase( paths2i ); + if ( rel != 0 ) + { + return rel; + } + } + + rel = paths1.length - paths2.length; + if ( rel != 0 ) + { + return rel; + } + + return paths1paths1.length - 1.compareToIgnoreCase( paths2paths1.length - 1 ); + } + + } + + public void generate(Sink sink, Locale locale) throws MavenReportException { + createReportHeader( getBundle( locale ), sink ); + + File sourceDirs = getSourceDirectories(); + for ( int j = 0; j < sourceDirs.length; j++ ) + { + File sourceDir = sourceDirsj; + GrammarInfo grammarInfos = scanForGrammars( sourceDir ); + + if ( grammarInfos == null ) + { + getLog().debug( "Skipping non-existing source directory: " + sourceDir ); + } + else + { + Arrays.sort( grammarInfos, GrammarInfoComparator.getInstance() ); + for ( int i = 0; i < grammarInfos.length; i++ ) + { + GrammarInfo grammarInfo = grammarInfosi; + File grammarFile = grammarInfo.getGrammarFile(); + + String relativeOutputFileName = grammarInfo.getRelativeGrammarFile(); + relativeOutputFileName = + relativeOutputFileName.replaceAll( "(?i)\\.(jj|jjt|jtb)$", getOutputFileExtension() ); + + File jjdocOutputFile = new File( getJJDocOutputDirectory(), relativeOutputFileName ); + + JJDoc jjdoc = newJJDoc(); + jjdoc.setInputFile( grammarFile ); + jjdoc.setOutputFile( jjdocOutputFile ); + try + { + jjdoc.run(); + } + catch ( Exception e ) + { + throw new MavenReportException( "Failed to create BNF documentation: " + grammarFile, e ); + } + + createReportLink( sink, sourceDir, grammarFile, relativeOutputFileName ); + } + } + } + + createReportFooter( sink ); + sink.flush(); + sink.close(); + } + +}
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTree.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTree.java
Changed
@@ -368,7 +368,7 @@ } /** - * Assembles the command line arguments for the invocation of JJTree according to the configuration.<br/><br/> + * <p>Assembles the command line arguments for the invocation of JJTree according to the configuration.</p> * <strong>Note:</strong> To prevent conflicts with JavaCC options that might be set directly in the grammar file, * only those parameters that have been explicitly set are passed on the command line. *
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTreeJavaCCMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTreeJavaCCMojo.java
Changed
@@ -23,17 +23,19 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; /** * Preprocesses decorated grammar files (<code>*.jjt</code>) with JJTree and passes the output to JavaCC in order to * finally generate a parser with parse tree actions. * - * @goal jjtree-javacc - * @phase generate-sources * @since 2.4 * @author Benjamin Bentmann - * @version $Id$ + * */ +@Mojo(name = "jjtree-javacc", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class JJTreeJavaCCMojo extends AbstractJavaCCMojo { @@ -41,35 +43,35 @@ /** * A flag whether to generate sample implementations for <code>SimpleNode</code> and any other nodes used in the * grammar. Default value is <code>true</code>. - * - * @parameter expression="${buildNodeFiles}" + * */ + @Parameter(property = "javacc.buildNodeFiles") private Boolean buildNodeFiles; /** * A flag whether to generate a multi mode parse tree or a single mode parse tree. Default value is * <code>false</code>. * - * @parameter expression="${multi}" */ + @Parameter(property = "javacc.multi") private Boolean multi; /** * A flag whether to make each non-decorated production void instead of an indefinite node. Default value is * <code>false</code>. - * - * @parameter expression="${nodeDefaultVoid}" + * */ + @Parameter(property = "javacc.nodeDefaultVoid") private Boolean nodeDefaultVoid; /** * The name of a custom class that extends <code>SimpleNode</code> and will be used as the super class for the * generated tree node classes. By default, the tree node classes will directly extend the class * <code>SimpleNode</code>. - * - * @parameter expression="${nodeClass}" + * * @since 2.5 */ + @Parameter(property = "javacc.nodeClass") private String nodeClass; /** @@ -77,8 +79,8 @@ * the signature <code>public static Node jjtCreate(int id)</code>. By default, the class <code>SimpleNode</code> * will be used as the factory class. * - * @parameter expression="${nodeFactory}" */ + @Parameter(property = "javacc.nodeFactory") private String nodeFactory; /** @@ -86,33 +88,33 @@ * of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this parameter * is set to <code>*.node</code>, the tree node classes will be located in the package * <code>org.apache.node</code>. By default, the package of the corresponding parser is used. - * - * @parameter expression="${nodePackage}" + * */ + @Parameter(property = "javacc.nodePackage") private String nodePackage; /** * The prefix used to construct node class names from node identifiers in multi mode. Default value is * <code>AST</code>. - * - * @parameter expression="${nodePrefix}" + * */ + @Parameter(property = "javacc.nodePrefix") private String nodePrefix; /** * A flag whether user-defined parser methods should be called on entry and exit of every node scope. Default value * is <code>false</code>. - * - * @parameter expression="${nodeScopeHook}" + * */ + @Parameter(property = "javacc.nodeScopeHook") private Boolean nodeScopeHook; /** * A flag whether the node construction routines need an additional method parameter to receive the parser object. * Default value is <code>false</code>. - * - * @parameter expression="${nodeUsesParser}" + * */ + @Parameter(property = "javacc.nodeUsesParser") private Boolean nodeUsesParser; /** @@ -120,96 +122,96 @@ * <code>getLastToken()</code> and <code>jjtSetLastToken()</code> into the class <code>SimpleNode</code>. Default * value is <code>false</code>. * - * @parameter expression="${trackTokens}" * @since 2.5 */ + @Parameter(property = "javacc.trackTokens") private Boolean trackTokens; /** * A flag whether to insert a <code>jjtAccept()</code> method in the node classes and to generate a visitor * implementation with an entry for every node type used in the grammar. Default value is <code>false</code>. - * - * @parameter expression="${visitor}" + * */ + @Parameter(property = "javacc.visitor") private Boolean visitor; /** * The name of a class to use for the data argument of the <code>jjtAccept()</code> and <code>visit()</code> * methods. Default value is <code>java.lang.Object</code>. - * - * @parameter expression="${visitorDataType}" + * * @since 2.5 */ + @Parameter(property = "javacc.visitorDataType") private String visitorDataType; /** * The name of a class to use as the return type of the <code>jjtAccept()</code> and <code>visit()</code> methods. * Default value is <code>java.lang.Object</code>. - * - * @parameter expression="${visitorReturnType}" + * * @since 2.5 */ + @Parameter(property = "javacc.visitorReturnType") private String visitorReturnType; /** * The name of an exception class to include in the signature of the generated <code>jjtAccept()</code> and * <code>visit()</code> methods. By default, the <code>throws</code> clause of the generated methods is empty such * that only unchecked exceptions can be thrown. - * - * @parameter expression="${visitorException}" + * */ + @Parameter(property = "javacc.visitorException") private String visitorException; /** * The directory where the decorated JavaCC grammar files (<code>*.jjt</code>) are located. It will be * recursively scanned for input files to pass to JJTree. The parameters <code>includes</code> and * <code>excludes</code> can be used to select a subset of files. - * - * @parameter expression="${sourceDirectory}" default-value="${basedir}/src/main/jjtree" + * */ + @Parameter(property = "javacc.sourceDirectory", defaultValue = "${basedir}/src/main/jjtree") private File sourceDirectory; /** * The directory where the AST node files generated by JJTree will be stored. The directory will be registered as a * compile source root of the project such that the generated files will participate in later build phases like * compiling and packaging. - * - * @parameter expression="${interimDirectory}" default-value="${project.build.directory}/generated-sources/jjtree" + * */ + @Parameter(property = "javacc.interimDirectory", defaultValue = "${project.build.directory}/generated-sources/jjtree") private File interimDirectory; /** * The directory where the parser files generated by JavaCC will be stored. The directory will be registered as a * compile source root of the project such that the generated files will participate in later build phases like * compiling and packaging. - * - * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/javacc" + * */ + @Parameter(property = "javacc.outputDirectory", defaultValue = "${project.build.directory}/generated-sources/javacc") private File outputDirectory; /** * A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, * the patterns <code>**/*.jj</code>, <code>**/*.JJ</code>, <code>**/*.jjt</code> and * <code>**/*.JJT</code> are used to select grammar files. - * - * @parameter + * */ + @Parameter private String includes; /** * A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is * empty such that no files are excluded. - * - * @parameter + * */ + @Parameter private String excludes; /** * The granularity in milliseconds of the last modification date for testing whether a grammar file needs * recompilation. - * - * @parameter expression="${lastModGranularityMs}" default-value="0" + * */ + @Parameter(property = "javacc.lastModGranularityMs", defaultValue = "0") private int staleMillis; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTreeMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JJTreeMojo.java
Changed
@@ -23,72 +23,73 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; /** * Parses a JJTree grammar file (<code>*.jjt</code>) and transforms it to Java source files and a JavaCC grammar * file. Please see the <a href="https://javacc.dev.java.net/doc/JJTree.html">JJTree Reference Documentation</a> for * more information. - * - * @goal jjtree - * @phase generate-sources + * * @since 2.0 * @deprecated As of version 2.4, use the <code>jjtree-javacc</code> goal instead. - * @author jesse <jesse.mcconnell@gmail.com> - * @version $Id$ + * @author jesse jesse.mcconnell@gmail.com */ +@Mojo(name = "jjtree", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class JJTreeMojo extends AbstractPreprocessorMojo { /** * The Java version for which to generate source code. Default value is <code>1.4</code>. - * - * @parameter expression="${jdkVersion}" + * * @since 2.4 */ + @Parameter(property = "javacc.jdkVersion") private String jdkVersion; /** * A flag whether to generate sample implementations for <code>SimpleNode</code> and any other nodes used in the * grammar. Default value is <code>true</code>. * - * @parameter expression="${buildNodeFiles}" */ + @Parameter(property = "javacc.buildNodeFiles") private Boolean buildNodeFiles; /** * A flag whether to generate a multi mode parse tree or a single mode parse tree. Default value is * <code>false</code>. - * - * @parameter expression="${multi}" + * */ + @Parameter(property = "javacc.multi") private Boolean multi; /** * A flag whether to make each non-decorated production void instead of an indefinite node. Default value is * <code>false</code>. - * - * @parameter expression="${nodeDefaultVoid}" + * */ + @Parameter(property = "javacc.nodeDefaultVoid") private Boolean nodeDefaultVoid; /** * The name of a custom class that extends <code>SimpleNode</code> and will be used as the super class for the * generated tree node classes. By default, the tree node classes will directly extend the class * <code>SimpleNode</code>. - * - * @parameter expression="${nodeClass}" + * * @since 2.5 */ + @Parameter(property = "javacc.nodeClass") private String nodeClass; /** * The name of a custom factory class used to create <code>Node</code> objects. This class must have a method with * the signature <code>public static Node jjtCreate(int id)</code>. By default, the class <code>SimpleNode</code> * will be used as the factory class. - * - * @parameter expression="${nodeFactory}" + * */ + @Parameter(property = "javacc.nodeFactory") private String nodeFactory; /** @@ -96,131 +97,130 @@ * of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this parameter * is set to <code>*.demo</code>, the tree node classes will be located in the package * <code>org.apache.demo</code>. By default, the package of the corresponding parser is used. - * - * @parameter expression="${nodePackage}" + * */ + @Parameter(property = "javacc.nodePackage") private String nodePackage; /** * The prefix used to construct node class names from node identifiers in multi mode. Default value is * <code>AST</code>. * - * @parameter expression="${nodePrefix}" + * @parameter property="nodePrefix" */ private String nodePrefix; /** * A flag whether user-defined parser methods should be called on entry and exit of every node scope. Default value * is <code>false</code>. - * - * @parameter expression="${nodeScopeHook}" + * */ + @Parameter(property = "javacc.nodeScopeHook") private Boolean nodeScopeHook; /** * A flag whether the node construction routines need an additional method parameter to receive the parser object. * Default value is <code>false</code>. - * - * @parameter expression="${nodeUsesParser}" + * */ + @Parameter(property = "javacc.nodeUsesParser") private Boolean nodeUsesParser; /** * A flag whether to generate code for a static parser. Note that this setting must match the corresponding option * for the <code>javacc</code> mojo. Default value is <code>true</code>. - * - * @parameter expression="${isStatic}" alias="staticOption" + * */ + @Parameter(property = "javacc.isStatic", alias = "javacc.staticOption") private Boolean isStatic; /** * A flag whether to insert the methods <code>jjtGetFirstToken()</code>, <code>jjtSetFirstToken()</code>, * <code>getLastToken()</code> and <code>jjtSetLastToken()</code> into the class <code>SimpleNode</code>. Default * value is <code>false</code>. - * - * @parameter expression="${trackTokens}" + * * @since 2.5 */ + @Parameter(property = "javacc.trackTokens") private Boolean trackTokens; /** * A flag whether to insert a <code>jjtAccept()</code> method in the node classes and to generate a visitor * implementation with an entry for every node type used in the grammar. Default value is <code>false</code>. - * - * @parameter expression="${visitor}" + * */ + @Parameter(property = "javacc.visitor") private Boolean visitor; /** * The name of a class to use for the data argument of the <code>jjtAccept()</code> and <code>visit()</code> * methods. Default value is <code>java.lang.Object</code>. - * - * @parameter expression="${visitorDataType}" + * * @since 2.5 */ + @Parameter(property = "javacc.visitorDataType") private String visitorDataType; /** * The name of a class to use as the return type of the <code>jjtAccept()</code> and <code>visit()</code> methods. * Default value is <code>java.lang.Object</code>. - * - * @parameter expression="${visitorReturnType}" + * * @since 2.5 */ + @Parameter(property = "javacc.visitorReturnType") private String visitorReturnType; /** * The name of an exception class to include in the signature of the generated <code>jjtAccept()</code> * and <code>visit()</code> methods. By default, the <code>throws</code> clause of the generated methods is * empty such that only unchecked exceptions can be thrown. - * - * @parameter expression="${visitorException}" + * */ + @Parameter(property = "javacc.visitorException") private String visitorException; /** * Directory where the input JJTree files (<code>*.jjt</code>) are located. - * - * @parameter expression="${sourceDirectory}" default-value="${basedir}/src/main/jjtree" + * */ + @Parameter(property = "javacc.sourceDirectory", defaultValue = "${basedir}/src/main/jjtree") private File sourceDirectory; /** * Directory where the output Java files for the node classes and the JavaCC grammar file will be located. - * - * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/jjtree" + * */ + @Parameter(property = "javacc.outputDirectory", defaultValue = "${project.build.directory}/generated-sources/jjtree") private File outputDirectory; /** * The directory to store the processed input files for later detection of stale sources. - * - * @parameter expression="${timestampDirectory}" - * default-value="${project.build.directory}/generated-sources/jjtree-timestamp" + * */ + @Parameter(property = "javacc.timestampDirectory", defaultValue = "${project.build.directory}/generated-sources/jjtree-timestamp") private File timestampDirectory; /** * The granularity in milliseconds of the last modification date for testing whether a source needs recompilation. - * - * @parameter expression="${lastModGranularityMs}" default-value="0" + * */ + @Parameter(property = "javacc.lastModGranularityMs", defaultValue = "0") private int staleMillis; /** * A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, * the patterns <code>**/*.jjt</code> and <code>**/*.JJT</code> are used to select grammar files. - * - * @parameter + * */ + @Parameter private String includes; /** * A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is * empty such that no files are excluded. - * - * @parameter + * */ + @Parameter private String excludes; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTB.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTB.java
Changed
@@ -532,9 +532,9 @@ } /** - * Moves all Java files generated by JTB from the specified source directory to the given target directory. Existing + * <p>Moves all Java files generated by JTB from the specified source directory to the given target directory. Existing * files in the target directory will be overwritten. Note that this move assumes a flat source directory, i.e. - * copying of sub directories is not supported.<br/><br/>This method must be used instead of + * copying of sub directories is not supported.</p>This method must be used instead of * {@link java.io.File#renameTo(java.io.File)} which would fail if the target directory already existed (at least on * Windows). *
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTBJavaCCMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTBJavaCCMojo.java
Changed
@@ -23,19 +23,20 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; /** - * Preprocesses ordinary grammar files (<code>*.jtb</code>) with JTB and passes the output to JavaCC in order to - * finally generate a parser with parse tree actions.<br/><br/><strong>Note:</strong> <a + * <p>Preprocesses ordinary grammar files (<code>*.jtb</code>) with JTB and passes the output to JavaCC in order to + * finally generate a parser with parse tree actions.</p><strong>Note:</strong> <a * href="http://compilers.cs.ucla.edu/jtb/">JTB</a> requires Java 1.5 or higher. This goal will not work with earlier * versions of the JRE. * - * @goal jtb-javacc - * @phase generate-sources * @since 2.4 * @author Benjamin Bentmann - * @version $Id$ */ +@Mojo(name = "jtb-javacc", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class JTBJavaCCMojo extends AbstractJavaCCMojo { @@ -44,9 +45,9 @@ * This option is short for <code>nodePackageName</code> = <code><packageName>.syntaxtree</code> and * <code>visitorPackageName</code> = <code><packageName>.visitor</code>. Note that this option takes * precedence over <code>nodePackageName</code> and <code>visitorPackageName</code> if specified. - * - * @parameter expression="${package}" + * */ + @Parameter(property = "javacc.packageName") private String packageName; /** @@ -54,9 +55,9 @@ * the package of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this * parameter is set to <code>*.demo</code>, the tree node classes will be located in the package * <code>org.apache.demo</code>. Default value is <code>*.syntaxtree</code>. - * - * @parameter expression="${nodePackageName}" + * */ + @Parameter(property = "javacc.nodePackageName") private String nodePackageName; /** @@ -64,54 +65,54 @@ * the package of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this * parameter is set to <code>*.demo</code>, the visitor classes will be located in the package * <code>org.apache.demo</code>. Default value is <code>*.visitor</code>. - * - * @parameter expression="${visitorPackageName}" + * */ + @Parameter(property = "javacc.visitorPackageName") private String visitorPackageName; /** * If <code>true</code>, JTB will suppress its semantic error checking. Default value is <code>false</code>. - * - * @parameter expression="${supressErrorChecking}" + * */ + @Parameter(property = "javacc.supressErrorChecking") private Boolean supressErrorChecking; /** * If <code>true</code>, all generated comments will be wrapped in <code><pre></code> tags so that they * are formatted correctly in API docs. Default value is <code>false</code>. - * - * @parameter expression="${javadocFriendlyComments}" + * */ + @Parameter(property = "javacc.javadocFriendlyComments") private Boolean javadocFriendlyComments; /** * Setting this option to <code>true</code> causes JTB to generate field names that reflect the structure of the * tree instead of generic names like <code>f0</code>, <code>f1</code> etc. Default value is <code>false</code>. - * - * @parameter expression="${descriptiveFieldNames}" + * */ + @Parameter(property = "javacc.descriptiveFieldNames") private Boolean descriptiveFieldNames; /** * The qualified name of a user-defined class from which all AST nodes will inherit. By default, AST nodes will * inherit from the generated class <code>Node</code>. - * - * @parameter expression="${nodeParentClass}" + * */ + @Parameter(property = "javacc.nodeParentClass") private String nodeParentClass; /** * If <code>true</code>, all nodes will contain fields for its parent node. Default value is <code>false</code>. - * - * @parameter expression="${parentPointers}" + * */ + @Parameter(property = "javacc.parentPointers") private Boolean parentPointers; /** * If <code>true</code>, JTB will include JavaCC "special tokens" in the AST. Default value is <code>false</code>. - * - * @parameter expression="${specialTokens}" + * */ + @Parameter(property = "javacc.specialTokens") private Boolean specialTokens; /** @@ -121,68 +122,68 @@ * <li>A Scheme tree building visitor.</li> * </ul> * Default value is <code>false</code>. - * - * @parameter expression="${scheme}" + * */ + @Parameter(property = "javacc.scheme") private Boolean scheme; /** * If <code>true</code>, JTB will generate a syntax tree dumping visitor. Default value is <code>false</code>. - * - * @parameter expression="${printer}" + * */ + @Parameter(property = "javacc.printer") private Boolean printer; /** * The directory where the JavaCC grammar files (<code>*.jtb</code>) are located. It will be recursively scanned * for input files to pass to JTB. The parameters <code>includes</code> and <code>excludes</code> can be used to * select a subset of files. - * - * @parameter expression="${sourceDirectory}" default-value="${basedir}/src/main/jtb" + * */ + @Parameter(property = "javacc.sourceDirectory", defaultValue = "${basedir}/src/main/jtb") private File sourceDirectory; /** * The directory where the visitor and AST node files generated by JTB will be stored. The directory will be * registered as a compile source root of the project such that the generated files will participate in later build * phases like compiling and packaging. - * - * @parameter expression="${interimDirectory}" default-value="${project.build.directory}/generated-sources/jtb" + * */ + @Parameter(property = "javacc.interimDirectory", defaultValue = "${project.build.directory}/generated-sources/jtb") private File interimDirectory; /** * The directory where the parser files generated by JavaCC will be stored. The directory will be registered as a * compile source root of the project such that the generated files will participate in later build phases like * compiling and packaging. - * - * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/javacc" + * */ + @Parameter(property = "javacc.outputDirectory", defaultValue = "${project.build.directory}/generated-sources/javacc") private File outputDirectory; /** * A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, * the patterns <code>**/*.jj</code>, <code>**/*.JJ</code>, <code>**/*.jtb</code> and * <code>**/*.JTB</code> are used to select grammar files. - * - * @parameter + * */ + @Parameter private String includes; /** * A set of Ant-like exclusion patterns used to prevent certain files from being processing. By default, this set is * empty such that no files are excluded. - * - * @parameter + * */ + @Parameter private String excludes; /** * The granularity in milliseconds of the last modification date for testing whether a grammar file needs * recompilation. - * - * @parameter expression="${lastModGranularityMs}" default-value="0" + * */ + @Parameter(property = "javacc.lastModGranularityMs", defaultValue = "0") private int staleMillis; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTBMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JTBMojo.java
Changed
@@ -23,19 +23,21 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; /** * Parses a JTB file and transforms it into source files for an AST and a JavaCC grammar file which automatically builds - * the AST.<br/><br/><strong>Note:</strong> <a href="http://compilers.cs.ucla.edu/jtb/">JTB</a> requires Java 1.5 + * the AST.<strong>Note:</strong> <a href="http://compilers.cs.ucla.edu/jtb/">JTB</a> requires Java 1.5 * or higher. This goal will not work with earlier versions of the JRE. * - * @goal jtb - * @phase generate-sources * @since 2.2 * @deprecated As of version 2.4, use the <code>jtb-javacc</code> goal instead. * @author Gregory Kick (gk5885@kickstyle.net) - * @version $Id$ + * */ +@Mojo(name = "jtb", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class JTBMojo extends AbstractPreprocessorMojo { @@ -44,9 +46,9 @@ * This option is short for <code>nodePackageName</code> = <code><packageName>.syntaxtree</code> and * <code>visitorPackageName</code> = <code><packageName>.visitor</code>. Note that this option takes * precedence over <code>nodePackageName</code> and <code>visitorPackageName</code> if specified. - * - * @parameter expression="${package}" + * */ + @Parameter(property = "javacc.packageName") private String packageName; /** @@ -54,9 +56,9 @@ * the package of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this * parameter is set to <code>*.demo</code>, the tree node classes will be located in the package * <code>org.apache.demo</code>. Default value is <code>*.syntaxtree</code>. - * - * @parameter expression="${nodePackageName}" + * */ + @Parameter(property = "javacc.nodePackageName") private String nodePackageName; /** @@ -64,54 +66,54 @@ * the package of the corresponding parser. For example, if the parser package is <code>org.apache</code> and this * parameter is set to <code>*.demo</code>, the visitor classes will be located in the package * <code>org.apache.demo</code>. Default value is <code>*.visitor</code>. - * - * @parameter expression="${visitorPackageName}" + * */ + @Parameter(property = "javacc.visitorPackageName") private String visitorPackageName; /** * If <code>true</code>, JTB will suppress its semantic error checking. Default value is <code>false</code>. - * - * @parameter expression="${supressErrorChecking}" + * */ + @Parameter(property = "javacc.supressErrorChecking") private Boolean supressErrorChecking; /** * If <code>true</code>, all generated comments will be wrapped in <code><pre></code> tags so that they * are formatted correctly in API docs. Default value is <code>false</code>. - * - * @parameter expression="${javadocFriendlyComments}" + * */ + @Parameter(property = "javacc.javadocFriendlyComments") private Boolean javadocFriendlyComments; /** * Setting this option to <code>true</code> causes JTB to generate field names that reflect the structure of the * tree instead of generic names like <code>f0</code>, <code>f1</code> etc. Default value is <code>false</code>. - * - * @parameter expression="${descriptiveFieldNames}" + * */ + @Parameter(property = "javacc.descriptiveFieldNames") private Boolean descriptiveFieldNames; /** * The qualified name of a user-defined class from which all AST nodes will inherit. By default, AST nodes will * inherit from the generated class <code>Node</code>. - * - * @parameter expression="${nodeParentClass}" + * */ + @Parameter(property = "javacc.nodeParentClass") private String nodeParentClass; /** * If <code>true</code>, all nodes will contain fields for its parent node. Default value is <code>false</code>. - * - * @parameter expression="${parentPointers}" + * */ + @Parameter(property = "javacc.parentPointers") private Boolean parentPointers; /** * If <code>true</code>, JTB will include JavaCC "special tokens" in the AST. Default value is <code>false</code>. - * - * @parameter expression="${specialTokens}" + * */ + @Parameter(property = "javacc.specialTokens") private Boolean specialTokens; /** @@ -121,62 +123,61 @@ * <li>A Scheme tree building visitor.</li> * </ul> * Default value is <code>false</code>. - * - * @parameter expression="${scheme}" + * */ + @Parameter(property = "javacc.scheme") private Boolean scheme; /** * If <code>true</code>, JTB will generate a syntax tree dumping visitor. Default value is <code>false</code>. - * - * @parameter expression="${printer}" + * */ + @Parameter(property = "javacc.printer") private Boolean printer; /** * The directory where the JavaCC grammar files (<code>*.jtb</code>) are located. It will be recursively scanned * for input files to pass to JTB. - * - * @parameter expression="${sourceDirectory}" default-value="${basedir}/src/main/jtb" + * */ + @Parameter(property = "javacc.sourceDirectory", defaultValue = "${basedir}/src/main/jtb") private File sourceDirectory; /** * The directory where the output Java files will be located. - * - * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/jtb" + * */ + @Parameter(property = "javacc.outputDirectory", defaultValue = "${project.build.directory}/generated-sources/jtb") private File outputDirectory; /** * The directory to store the processed input files for later detection of stale sources. - * - * @parameter expression="${timestampDirectory}" - * default-value="${project.build.directory}/generated-sources/jtb-timestamp" + * */ + @Parameter(property = "javacc.timestampDirectory", defaultValue = "${project.build.directory}/generated-sources/jtb-timestamp") private File timestampDirectory; /** * The granularity in milliseconds of the last modification date for testing whether a source needs recompilation. - * - * @parameter expression="${lastModGranularityMs}" default-value="0" + * */ + @Parameter(property = "javacc.lastModGranularityMs", defaultValue = "0") private int staleMillis; /** * A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, * the patterns <code>**/*.jtb</code> and <code>**/*.JTB</code> are used to select grammar files. - * - * @parameter + * */ + @Parameter private String includes; /** * A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is * empty such that no files are excluded. - * - * @parameter + * */ + @Parameter private String excludes; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JavaCC.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JavaCC.java
Changed
@@ -484,7 +484,7 @@ } /** - * Assembles the command line arguments for the invocation of JavaCC according to the configuration.<br/><br/> + * <p>Assembles the command line arguments for the invocation of JavaCC according to the configuration.</p> * <strong>Note:</strong> To prevent conflicts with JavaCC options that might be set directly in the grammar file, * only those parameters that have been explicitly set are passed on the command line. *
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java
Changed
@@ -23,18 +23,20 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; /** * Parses a JavaCC grammar file (<code>*.jj</code>) and transforms it to Java source files. Detailed information * about the JavaCC options can be found on the <a href="https://javacc.dev.java.net/">JavaCC website</a>. * - * @goal javacc - * @phase generate-sources * @since 2.0 * @author jruiz@exist.com - * @author jesse <jesse.mcconnell@gmail.com> - * @version $Id$ + * @author jesse jesse.mcconnell@gmail.com + * */ +@Mojo(name = "javacc", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class JavaCCMojo extends AbstractJavaCCMojo { @@ -42,49 +44,49 @@ /** * Package into which the generated classes will be put. Note that this will also be used to create the directory * structure where sources will be generated. Defaults to the package name specified in a grammar file. - * - * @parameter expression="${packageName}" + * * @deprecated As of version 2.4 because the plugin extracts the package name from each grammar file. */ + @Parameter(property = "javacc.packageName") private String packageName; /** * The directory where the JavaCC grammar files (<code>*.jj</code>) are located. - * - * @parameter expression="${sourceDirectory}" default-value="${basedir}/src/main/javacc" + * */ + @Parameter(property = "javacc.sourceDirectory", defaultValue = "${basedir}/src/main/javacc") private File sourceDirectory; /** * The directory where the parser files generated by JavaCC will be stored. The directory will be registered as a * compile source root of the project such that the generated files will participate in later build phases like * compiling and packaging. - * - * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/javacc" + * */ + @Parameter(property = "javacc.outputDirectory", defaultValue = "${project.build.directory}/generated-sources/javacc") private File outputDirectory; /** * The granularity in milliseconds of the last modification date for testing whether a source needs recompilation. - * - * @parameter expression="${lastModGranularityMs}" default-value="0" + * */ + @Parameter(property = "javacc.lastModGranularityMs", defaultValue = "0") private int staleMillis; /** * A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, * the patterns <code>**/*.jj</code> and <code>**/*.JJ</code> are used to select grammar files. - * - * @parameter + * */ + @Parameter private String includes; /** * A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is * empty such that no files are excluded. - * - * @parameter + * */ + @Parameter private String excludes; /**
View file
_service:tar_scm:javacc-maven-plugin-2.6.tar.gz/src/site/apt/index.apt.vm -> _service:tar_scm:javacc-maven-plugin-3.0.1.tar.gz/src/site/apt/index.apt.vm
Changed
@@ -13,7 +13,7 @@ This plugin uses the JavaCC parser generator to process JavaCC grammar files and generate the appropriate Java source files. For general information about JavaCC, - see the {{{http://javacc.dev.java.net/} JavaCC}} web site. + see the {{{https://javacc.github.io/javacc/} JavaCC}} web site. JavaCC grammar files use the extension <<<.jj>>>. This plugin can be used to locate and process all grammar files within a specified directory. Java source files will be written to a common
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2