Accepting request 974110 from Java:packages

7.0.11

OBS-URL: https://build.opensuse.org/request/show/974110
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javacc?expand=0&rev=23
This commit is contained in:
Dominique Leuenberger 2022-05-02 14:24:48 +00:00 committed by Git OBS Bridge
commit 1fb0a86ee5
6 changed files with 407 additions and 16 deletions

View File

@ -0,0 +1,50 @@
From 4a9fc6a7992e8623956dee6c8cebd0b224968418 Mon Sep 17 00:00:00 2001
From: Zbynek Konecny <zbynek1729@gmail.com>
Date: Wed, 20 Apr 2022 17:01:00 +0200
Subject: [PATCH 1/2] Generate max. one deprecated annotation per method
---
.../resources/templates/gwt/SimpleCharStream.template | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/templates/gwt/SimpleCharStream.template b/src/main/resources/templates/gwt/SimpleCharStream.template
index 9c88437..a1de1e3 100644
--- a/src/main/resources/templates/gwt/SimpleCharStream.template
+++ b/src/main/resources/templates/gwt/SimpleCharStream.template
@@ -215,14 +215,13 @@ ${SUPPORT_CLASS_VISIBILITY_PUBLIC?public :}class SimpleCharStream
return c;
}
-#if GENERATE_ANNOTATIONS
- @Deprecated
-#fi
/**
* @deprecated
* @see #getEndColumn
*/
+#if GENERATE_ANNOTATIONS
@Deprecated
+#fi
${PREFIX}public int getColumn() {
#if KEEP_LINE_COLUMN
return bufcolumn[bufpos];
@@ -231,14 +230,13 @@ ${SUPPORT_CLASS_VISIBILITY_PUBLIC?public :}class SimpleCharStream
#fi
}
-#if GENERATE_ANNOTATIONS
- @Deprecated
-#fi
/**
* @deprecated
* @see #getEndLine
*/
+#if GENERATE_ANNOTATIONS
@Deprecated
+#fi
${PREFIX}public int getLine() {
#if KEEP_LINE_COLUMN
return bufline[bufpos];
--
2.36.0

View File

@ -0,0 +1,281 @@
From 1e076c05b3739f12fc40e3b652183d770bfcc305 Mon Sep 17 00:00:00 2001
From: Zbynek Konecny <zbynek@geogebra.at>
Date: Mon, 25 Apr 2022 19:17:30 +0200
Subject: [PATCH 2/2] Fix annotations for JavaCharStream
---
pom.xml | 21 ++++-
.../templates/gwt/JavaCharStream.template | 12 ++-
test/gwtTemplate/Parser.jj | 76 +++++++++++++++++++
test/gwtUnicodeTemplate/Parser.jj | 76 +++++++++++++++++++
4 files changed, 175 insertions(+), 10 deletions(-)
create mode 100644 test/gwtTemplate/Parser.jj
create mode 100644 test/gwtUnicodeTemplate/Parser.jj
diff --git a/pom.xml b/pom.xml
index 1f0b371..aedaed9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -310,7 +310,7 @@
<arg line="examples/GUIParsing/ParserVersion/CalcInput.jj" />
</java>
<javac fork="true" srcdir="test.tmp/GUIParsing/ParserVersion" />
- <!--
+ <!--
<echo />
<copy todir="test.tmp/GUIParsing/TokenMgrVersion">
<fileset dir="examples/GUIParsing/TokenMgrVersion">
@@ -318,7 +318,7 @@
</fileset>
</copy>
<java failonerror="true" fork="true" classname="javacc" classpath="target/classes">
- <arg line="-OUTPUT_DIRECTORY=test.tmp/GUIParsing/TokenMgrVersion" />
+ <arg line="-OUTPUT_DIRECTORY=test.tmp/GUIParsing/TokenMgrVersion" />
<arg line="examples/GUIParsing/TokenMgrVersion/CalcInput.jj" />
</java>
<javac fork="true" srcdir="test.tmp/GUIParsing/TokenMgrVersion" />
@@ -554,6 +554,21 @@
<arg line="examples/Obfuscator/MapFile.jj" />
</java>
<javac fork="true" srcdir="test.tmp/Obfuscator" />
+
+ <echo />
+ <java failonerror="true" fork="true" classname="javacc" classpath="target/classes">
+ <arg line="-OUTPUT_DIRECTORY=test.tmp/gwtTemplate" />
+ <arg line="test/gwtTemplate/Parser.jj" />
+ </java>
+ <javac fork="true" srcdir="test.tmp/gwtTemplate" />
+
+ <echo />
+ <java failonerror="true" fork="true" classname="javacc" classpath="target/classes">
+ <arg line="-OUTPUT_DIRECTORY=test.tmp/gwtUnicodeTemplate" />
+ <arg line="test/gwtUnicodeTemplate/Parser.jj" />
+ </java>
+ <javac fork="true" srcdir="test.tmp/gwtUnicodeTemplate" />
+
<!-- TODO, test cases for SimpleExamples -->
<echo />
<copy todir="test.tmp/Transformer">
@@ -647,7 +662,7 @@
</execution>
</executions>
</plugin>
- <!--
+ <!--
<plugin>
<artifactId>maven-jarsigner-plugin</artifactId>
<executions>
diff --git a/src/main/resources/templates/gwt/JavaCharStream.template b/src/main/resources/templates/gwt/JavaCharStream.template
index 4433134..ffbcdca 100644
--- a/src/main/resources/templates/gwt/JavaCharStream.template
+++ b/src/main/resources/templates/gwt/JavaCharStream.template
@@ -2,7 +2,7 @@
* An implementation of interface CharStream, where the stream is assumed to
* contain only ASCII characters (with java-like unicode escape processing).
*/
-
+
#if SUPPORT_CLASS_VISIBILITY_PUBLIC
public
@@ -380,14 +380,13 @@ class JavaCharStream
}
}
-#if GENERATE_ANNOTATIONS
- @Deprecated
-#fi
/**
* @deprecated
* @see #getEndColumn
*/
+#if GENERATE_ANNOTATIONS
@Deprecated
+#fi
${PREFIX}public int getColumn() {
#if KEEP_LINE_COLUMN
return bufcolumn[bufpos];
@@ -396,14 +395,13 @@ class JavaCharStream
#fi
}
-#if GENERATE_ANNOTATIONS
- @Deprecated
-#fi
/**
* @deprecated
* @see #getEndLine
*/
+#if GENERATE_ANNOTATIONS
@Deprecated
+#fi
${PREFIX}public int getLine() {
#if KEEP_LINE_COLUMN
return bufline[bufpos];
diff --git a/test/gwtTemplate/Parser.jj b/test/gwtTemplate/Parser.jj
new file mode 100644
index 0000000..e784b4f
--- /dev/null
+++ b/test/gwtTemplate/Parser.jj
@@ -0,0 +1,76 @@
+/* Copyright (c) 2006, Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Sun Microsystems, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+options {
+ LOOKAHEAD = 1;
+ CHOICE_AMBIGUITY_CHECK = 2;
+ OTHER_AMBIGUITY_CHECK = 1;
+ STATIC = true;
+ DEBUG_PARSER = false;
+ DEBUG_LOOKAHEAD = false;
+ DEBUG_TOKEN_MANAGER = false;
+ ERROR_REPORTING = true;
+ JAVA_UNICODE_ESCAPE = false;
+ UNICODE_INPUT = false;
+ IGNORE_CASE = false;
+ USER_TOKEN_MANAGER = false;
+ USER_CHAR_STREAM = false;
+ BUILD_PARSER = true;
+ BUILD_TOKEN_MANAGER = true;
+ SANITY_CHECK = true;
+ FORCE_LA_CHECK = false;
+ JAVA_TEMPLATE_TYPE = "modern";
+}
+
+PARSER_BEGIN(Parser)
+
+import java.io.IOException;
+
+/** Simple brace matcher. */
+public class Parser {
+
+ /** Main entry point. */
+ public static void main(String args[]) throws ParseException, IOException {
+ Parser parser = new Parser(new StreamProvider(System.in));
+ parser.Input();
+ }
+
+}
+
+PARSER_END(Parser)
+
+/** Root production. */
+void Input() :
+{}
+{
+
+ "A" {
+ System.out.println("hello");
+ } <EOF>
+}
diff --git a/test/gwtUnicodeTemplate/Parser.jj b/test/gwtUnicodeTemplate/Parser.jj
new file mode 100644
index 0000000..4847e08
--- /dev/null
+++ b/test/gwtUnicodeTemplate/Parser.jj
@@ -0,0 +1,76 @@
+/* Copyright (c) 2006, Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the Sun Microsystems, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+options {
+ LOOKAHEAD = 1;
+ CHOICE_AMBIGUITY_CHECK = 2;
+ OTHER_AMBIGUITY_CHECK = 1;
+ STATIC = true;
+ DEBUG_PARSER = false;
+ DEBUG_LOOKAHEAD = false;
+ DEBUG_TOKEN_MANAGER = false;
+ ERROR_REPORTING = true;
+ JAVA_UNICODE_ESCAPE = true;
+ UNICODE_INPUT = false;
+ IGNORE_CASE = false;
+ USER_TOKEN_MANAGER = false;
+ USER_CHAR_STREAM = false;
+ BUILD_PARSER = true;
+ BUILD_TOKEN_MANAGER = true;
+ SANITY_CHECK = true;
+ FORCE_LA_CHECK = false;
+ JAVA_TEMPLATE_TYPE = "modern";
+}
+
+PARSER_BEGIN(Parser)
+
+import java.io.IOException;
+
+/** Simple brace matcher. */
+public class Parser {
+
+ /** Main entry point. */
+ public static void main(String args[]) throws ParseException, IOException {
+ Parser parser = new Parser(new StreamProvider(System.in));
+ parser.Input();
+ }
+
+}
+
+PARSER_END(Parser)
+
+/** Root production. */
+void Input() :
+{}
+{
+
+ "A" {
+ System.out.println("hello");
+ } <EOF>
+}
--
2.36.0

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a6a2381dfae5fdfe7849b921c9950af594ff475b69fbc6e8568365c5734cf77c
size 2842349

3
javacc-7.0.11.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:68b7f6ad950531f112ca332ea697b56c7b5ad224d1ee132bbe40f297d14f6bd3
size 3198846

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Sat Apr 30 11:17:17 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Added patches:
* 0001-Generate-max.-one-deprecated-annotation-per-method.patch
* 0002-Fix-annotations-for-JavaCharStream.patch
+ Fix regression where duplicate @Deprecated annotations were
generated
-------------------------------------------------------------------
Wed Apr 27 17:08:11 UTC 2022 - Anton Shvetz <shvetz.anton@gmail.com>
- Update to version 7.0.11
* Modifications in version 7.0.11
- #193 : Code error in class RCharacterList.SortDescriptors():
fixed
* Modifications in version 7.0.10
- #183 : Lookahead is broken since 7.0.5 (introduced in commit
fbac68f)
* Modifications in version 7.0.9
- pom.xml : change deployment on OSS to automatic release
- documentation : fix broken links
* Modifications in version 7.0.8
- #175 : Doesnt work in Turkish Locale
- #73 : javacc/c++: invalid lookahead processing: missing one
lookahead to get rid of the conflict
* Modifications in version 7.0.7
- JavaCC.jj : remove unused c++ declaration blocs tokens
- #172 : add a specific -version command line argument
* Modifications in version 7.0.6
The following changes are not upward compatible with the
previous 7.0.5 version but have a very little impact on
existing grammars. Main advantage is to prepare a more smooth
upgrade with the upcoming javacc-8.0.0 major release.
- C++ generation: renaming the option TOKEN_EXTENDS by
TOKEN_SUPER_CLASS
- C++ generation: renaming the option TOKEN_INCLUDES by
TOKEN_INCLUDE
- C++ generation: renaming the option PARSER_INCLUDES by
PARSER_INCLUDE
- C++ generation: renaming the option TOKEN_MANAGER_INCLUDES by
TOKEN_MANAGER_INCLUDE
* Modifications in version 7.0.5
- #42: new README.md file.
- #71: Add support for Java7 language features.
- #75: Allow empty type parameters in Java code of grammar files.
- #77: javacc.org is out of date.
- #92: Avoid warning of unused import in generated
ParserTokenManager.
- #99: LookaheadSuccess creation performance improved.
Removing IDE specific files. Declare trace_indent only if debug
parser is enabled. CPPParser.jj grammar added to grammars.
Build with Maven is working again.
—WARNING—WARNING—WARNING— Required Java Platform: Standard
Edition 7.0: known under Eclipse as JavaSE-1.7
-------------------------------------------------------------------
Fri Mar 18 19:26:58 UTC 2022 - Fridrich Strba <fstrba@suse.com>

View File

@ -24,13 +24,15 @@
%bcond_with bootstrap
%endif
%global base_name javacc
Version: 7.0.4
Version: 7.0.11
Release: 0
Summary: A Parser and Scanner Generator for Java
License: BSD-3-Clause
Group: Development/Libraries/Java
URL: https://javacc.org
Source0: https://github.com/javacc/javacc/archive/%{version}.tar.gz
Source0: https://github.com/javacc/javacc/archive/refs/tags/%{base_name}-%{version}.tar.gz
Patch0: 0001-Generate-max.-one-deprecated-annotation-per-method.patch
Patch1: 0002-Fix-annotations-for-JavaCharStream.patch
BuildRequires: ant
BuildRequires: java-devel >= 1.8
BuildArch: noarch
@ -82,21 +84,23 @@ Group: Documentation/HTML
This package contains the API documentation for %{name}.
%prep
%setup -q -n %{base_name}-%{version}
%setup -n %{base_name}-%{base_name}-%{version}
%patch0 -p1
%patch1 -p1
rm -f lib/*.jar
%if %{without bootstrap}
rm -f bootstrap/javacc.jar
build-jar-repository -s -p bootstrap javacc
find ./examples -type f -exec sed -i 's/\r//' {} \;
rm examples/JavaGrammars/cpp/.gitignore
# The pom dependencies are wrong
%pom_xpath_remove pom:project/pom:dependencies
%endif
%build
%{ant} \
-Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 \
%{ant} -Dant.build.javac.{source,target}=8 \
%if %{with bootstrap}
jar
%else
@ -105,20 +109,20 @@ find ./examples -type f -exec sed -i 's/\r//' {} \;
%install
# jar
install -dm 0755 %{buildroot}%{_javadir}
install -pm 0644 target/%{base_name}-%{version}.jar %{buildroot}%{_javadir}/%{base_name}.jar
install -dm0755 %{buildroot}%{_javadir}
install -pm0644 target/%{base_name}-%{version}.jar %{buildroot}%{_javadir}/%{base_name}.jar
%if %{without bootstrap}
# pom
install -dm 0755 %{buildroot}%{_mavenpomdir}
install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{base_name}.pom
install -dm0755 %{buildroot}%{_mavenpomdir}
install -pm0644 pom.xml %{buildroot}%{_mavenpomdir}/%{base_name}.pom
%add_maven_depmap %{base_name}.pom %{base_name}.jar
# javadoc
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
install -dm0755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/javadoc/* %{buildroot}%{_javadocdir}/%{name}/
%fdupes -s %{buildroot}%{_javadocdir}
%fdupes -s www
%fdupes -s docs
%fdupes -s examples
%jpackage_script javacc '' '' javacc javacc true
@ -140,11 +144,11 @@ ln -s %{_bindir}/javacc %{buildroot}%{_bindir}/javacc.sh
%{_bindir}/jjtree
%endif
%license LICENSE
%doc README
%doc README.md
%if %{without bootstrap}
%files manual
%doc www/*
%doc docs/*
%files demo
%doc examples