Compare commits

...

No commits in common. "c8-stream-201902" and "c10s" have entirely different histories.

14 changed files with 369 additions and 32 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

11
.gitignore vendored
View File

@ -1 +1,10 @@
SOURCES/7.0.4.tar.gz
javacc-4.1src.tar.gz
javacc.jar
javacc-5.0src.tar.gz
/javacc-6.1.2-sources.jar
/release_6_1_3.tar.gz
/7.0.1.tar.gz
/release_7_0_2.tar.gz
/7.0.4.tar.gz
/javacc-7.0.12.tar.gz
/javacc-7.0.13.tar.gz

View File

@ -1 +0,0 @@
2c9baf88da76fb56f4c7558ebe1a82154c99aaa0 SOURCES/7.0.4.tar.gz

View File

@ -0,0 +1,61 @@
From 930afd9bf6d2a0324d806fd7ce2eeba7a223d2d1 Mon Sep 17 00:00:00 2001
From: Jerry James <loganjerry@gmail.com>
Date: Sat, 25 Mar 2023 15:17:02 -0600
Subject: [PATCH] Fix javadoc errors in JavaCharStream.template
Signed-off-by: Jerry James <loganjerry@gmail.com>
---
src/main/resources/templates/JavaCharStream.template | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/main/resources/templates/JavaCharStream.template b/src/main/resources/templates/JavaCharStream.template
index dc56b5b..07ee0de 100644
--- a/src/main/resources/templates/JavaCharStream.template
+++ b/src/main/resources/templates/JavaCharStream.template
@@ -501,7 +501,6 @@ class JavaCharStream
/** Constructor.
* @param dstream the underlying data source.
- * @param startline line number of the first character of the stream, mostly for error messages.
*/
public JavaCharStream(java.io.Reader dstream)
{
@@ -570,7 +569,7 @@ class JavaCharStream
* @param encoding the character encoding of the data stream.
* @param startline line number of the first character of the stream, mostly for error messages.
* @param startcolumn column number of the first character of the stream.
- * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported.
*/
public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
int startcolumn) throws java.io.UnsupportedEncodingException
@@ -592,7 +591,7 @@ class JavaCharStream
/** Constructor.
* @param dstream the underlying data source.
* @param encoding the character encoding of the data stream.
- * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported.
*/
public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
{
@@ -636,7 +635,7 @@ class JavaCharStream
* @param encoding the character encoding of the data stream.
* @param startline line number of the first character of the stream, mostly for error messages.
* @param startcolumn column number of the first character of the stream.
- * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported.
*/
public void ReInit(java.io.InputStream dstream, String encoding, int startline,
int startcolumn) throws java.io.UnsupportedEncodingException
@@ -656,7 +655,7 @@ class JavaCharStream
/** Reinitialise.
* @param dstream the underlying data source.
* @param encoding the character encoding of the data stream.
- * @throws UnsupportedEncodingException encoding is invalid or unsupported.
+ * @throws java.io.UnsupportedEncodingException encoding is invalid or unsupported.
*/
public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
{
--
2.39.2

1
ci.fmf Normal file
View File

@ -0,0 +1 @@
resultsdb-testcase: separate

8
gating.yaml Normal file
View File

@ -0,0 +1,8 @@
--- !Policy
product_versions:
- rhel-10
decision_contexts:
- osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/javapackages.functional}

View File

@ -1,19 +1,68 @@
Name: javacc
Version: 7.0.4
Release: 5%{?dist}
Summary: A parser/scanner generator for java
License: BSD
URL: http://javacc.org
Source0: https://github.com/javacc/javacc/archive/%{version}.tar.gz
# Copyright (c) 2000-2005, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. 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.
# 3. Neither the name of the JPackage Project 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.
#
# Build in bootstrap mode on new architectures
%bcond_with bootstrap
Name: javacc
Version: 7.0.13
Release: 6%{?dist}
Epoch: 0
Summary: A parser/scanner generator for java
# BSD-3-Clause: the project as a whole
# BSD-2-Clause:
# - src/main/javacc/ConditionParser.jj
# - src/main/java/org/javacc/parser/OutputFile.java
# - src/main/java/org/javacc/utils/OutputFileGenerator.java
License: BSD-3-Clause AND BSD-2-Clause
URL: https://javacc.org/
Source0: https://github.com/javacc/javacc/archive/%{name}-%{version}.tar.gz
# Fix javadoc errors in the JavaCharStream template
# https://github.com/javacc/javacc/pull/257
Patch0: 0001-Fix-javadoc-errors-in-JavaCharStream.template.patch
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: javapackages-local
BuildRequires: ant
BuildRequires: javacc
%endif
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
Requires: javapackages-tools
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
%description
Java Compiler Compiler (JavaCC) is the most popular parser generator for use
@ -23,6 +72,18 @@ the grammar. In addition to the parser generator itself, JavaCC provides other
standard capabilities related to parser generation such as tree building (via
a tool called JJTree included with JavaCC), actions, debugging, etc.
%package manual
# BSD-3-Clause: the project license
# GPL-2.0-or-later: docs/grammars/AsnParser.jj
# LGPL-2.1-or-later: docs/grammars/{ChemNumber.jj,RTFParser.jj}
# AFL-2.0 OR BSD-3-Clause: docs/grammars/EcmaScript.jjt
# ISC: docs/grammars/JSONParser.jjt
License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later AND (AFL-2.0 OR BSD-3-Clause) AND ISC
Summary: Manual for %{name}
%description manual
Manual for %{name}.
%package demo
Summary: Examples for %{name}
Requires: %{name} = %{version}-%{release}
@ -30,30 +91,41 @@ Requires: %{name} = %{version}-%{release}
%description demo
Examples for %{name}.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains the API documentation for %{name}.
%javadoc_package
%prep
%setup -q -n %{name}-%{version}
%autosetup -n %{name}-%{name}-%{version} -p1
# Remove binary information in the source tar
find . -name "*.jar" -delete
find . -name "*.class" -delete
find examples -name .gitignore -delete
find ./examples -type f -exec sed -i 's/\r//' {} \;
fixtimestamp() {
touch -r $1.orig $1
rm $1.orig
}
mv examples/JJTreeExamples/cpp/README examples/JJTreeExamples/cpp/README.orig
iconv -f WINDOWS-1252 -t UTF-8 examples/JJTreeExamples/cpp/README.orig > \
examples/JJTreeExamples/cpp/README
fixtimestamp examples/JJTreeExamples/cpp/README
sed -i.orig 's/\r//' examples/JJTreeExamples/cpp/eg3.jjt
fixtimestamp examples/JJTreeExamples/cpp/eg3.jjt
%build
%if %{with bootstrap}
cp %{_prefix}/lib/javapackages-bootstrap/javacc.jar bootstrap/javacc.jar
%else
build-jar-repository -p bootstrap javacc
%endif
# There is maven pom which doesn't really work for building. The tests don't
# work either (even when using bundled jars).
ant jar javadoc
%ant jar javadoc -Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8
# The pom dependencies are also wrong
%mvn_artifact --skip-dependencies pom.xml target/javacc-%{version}.jar
%mvn_artifact --skip-dependencies pom.xml target/javacc.jar
%install
%mvn_file : %{name}
@ -61,36 +133,101 @@ ant jar javadoc
%mvn_install -J target/javadoc
%jpackage_script javacc '' '' javacc javacc true
ln -s %{_bindir}/javacc %{buildroot}%{_bindir}/javacc.sh
ln -s javacc %{buildroot}%{_bindir}/javacc.sh
%jpackage_script jjdoc '' '' javacc jjdoc true
%jpackage_script jjtree '' '' javacc jjtree true
%files -f .mfiles
%license LICENSE
%doc README
%doc README.md
%{_bindir}/javacc
%{_bindir}/javacc.sh
%{_bindir}/jjdoc
%{_bindir}/jjtree
%files manual
%doc docs/*
%files demo
%doc examples
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog
* Wed Nov 06 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 7.0.4-5
- Downgrade to 7.0.4
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0:7.0.13-6
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 7.0.5-2
- Mass rebuild for javapackages-tools 201902
* Mon Aug 05 2024 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.13-5
- Adjust bootstrap build for javapackages-bootstrap update
- Resolves: RHEL-52716
* Wed Oct 23 2019 Marian Koncek <mkoncek@redhat.com> - 7.0.5-1
- Update to upstream version 7.0.5
* Thu Aug 01 2024 Troy Dawson <tdawson@redhat.com> - 0:7.0.13-5
- Bump release for Aug 2024 java mass rebuild
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 7.0.4-3
- Mass rebuild for javapackages-tools 201901
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 0:7.0.13-4
- Bump release for June 2024 mass rebuild
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Nov 17 2023 Jerry James <loganjerry@gmail.com> - 0:7.0.13-1
- Update to 7.0.13
- Drop upstreamed duplicated @Deprecated annotations patch
* Fri Sep 01 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.12-4
- Rebuild
* Sat Aug 26 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.12-3
- Bootstrap using javapackages-bootstrap
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Apr 1 2023 Jerry James <loganjerry@gmail.com> - 0:7.0.12-1
- Update to 7.0.12
- Convert License tag to SPDX
- Add bootstrap build mode
- Add patch to fix javadoc errors in the JavaCharStream template
- Add patch to remove duplicate @Deprecated annotations
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 08 2022 Jiri Vanek <jvanek@redhat.com> - 0:7.0.4-12
- Rebuilt for Drop i686 JDKs
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 0:7.0.4-11
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 20 2020 Mat Booth <mat.booth@redhat.com> - 0:7.0.4-6
- Force generation of 1.8 level bytecode to avoid breaking dependent packages
that require Java 8
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 0:7.0.4-5
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

7
plans/javapackages.fmf Normal file
View File

@ -0,0 +1,7 @@
summary: Run javapackages-specific tests
discover:
how: fmf
url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git
ref: c10s
execute:
how: tmt

5
plans/smoke.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (javacc-7.0.13.tar.gz) = ed71e47fc4a382c9c53067bbf73bd9736ee0c41d65e328d5e4843cd71c88d3b7715d7a8fe38f10152ef7ef3be064abf9e801c6ea78066c4fcbabf124dfc4e144

View File

@ -0,0 +1,6 @@
summary: javacc smoke test
description: |
Test basic functionality of javacc.
require:
- javacc
- java-devel

48
tests/Sanity/smoke/runtest.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
# Author: Mikolaj Izdebski <mizdebsk@redhat.com>
. /usr/share/beakerlib/beakerlib.sh
rlJournalStart
rlPhaseStartTest "check for presence of javacc commands"
rlAssertRpm javacc
rlAssertBinaryOrigin javacc javacc
rlAssertBinaryOrigin javacc.sh javacc
rlAssertBinaryOrigin jjtree javacc
rlAssertBinaryOrigin jjdoc javacc
rlPhaseEnd
rlPhaseStartTest "display javacc version"
rlRun -s "javacc" 1
rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG
rlAssertGrep "Parser Generator" $rlRun_LOG
rlRun -s "javacc.sh" 1
rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG
rlAssertGrep "Parser Generator" $rlRun_LOG
rlPhaseEnd
rlPhaseStartTest "display jjtree version"
rlRun -s "jjtree" 1
rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG
rlAssertGrep "Tree Builder" $rlRun_LOG
rlPhaseEnd
rlPhaseStartTest "display jjdoc version"
rlRun -s "jjdoc" 1
rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG
rlAssertGrep "Documentation Generator" $rlRun_LOG
rlPhaseEnd
rlPhaseStartTest "generate, compile and run a simple parser"
rlRun -s "javacc smoke.jj"
rlAssertExists "Smoke.java"
rlRun -s "javac *.java"
rlRun -s "java -cp . Smoke '{}'"
rlAssertNotGrep "." $rlRun_LOG
rlRun -s "java -cp . Smoke '{{}'" 1
rlAssertGrep "ParseException" $rlRun_LOG
rlAssertGrep "EOF" $rlRun_LOG
rlPhaseEnd
rlJournalEnd
rlJournalPrintText

View File

@ -0,0 +1,50 @@
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;
}
PARSER_BEGIN(Smoke)
/**
* Simple brace matcher.
*/
public class Smoke {
/** Main entry point. */
public static void main(String args[]) throws ParseException {
Smoke parser = new Smoke(new java.io.StringReader(args[0]));
parser.Input();
}
}
PARSER_END(Smoke)
/** Root production. */
void Input() :
{}
{
MatchedBraces() ("\n"|"\r")* <EOF>
}
/** Brace matching production. */
void MatchedBraces() :
{}
{
"{" [ MatchedBraces() ] "}"
}

4
tests/main.fmf Normal file
View File

@ -0,0 +1,4 @@
contact: Mikolaj Izdebski <mizdebsk@redhat.com>
framework: beakerlib
test: ./runtest.sh
tier: 1