diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7067682
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/commons-jexl-2.1.1-src.tar.gz
diff --git a/.rh-maven35-apache-commons-jexl.metadata b/.rh-maven35-apache-commons-jexl.metadata
new file mode 100644
index 0000000..6821f4b
--- /dev/null
+++ b/.rh-maven35-apache-commons-jexl.metadata
@@ -0,0 +1 @@
+7223b37544920fc8114d407ba9dff3408f9bbb90 SOURCES/commons-jexl-2.1.1-src.tar.gz
diff --git a/README.md b/README.md
deleted file mode 100644
index 98f42b4..0000000
--- a/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-The master branch has no content
-
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/0001-Port-to-current-javacc.patch b/SOURCES/0001-Port-to-current-javacc.patch
new file mode 100644
index 0000000..855eb39
--- /dev/null
+++ b/SOURCES/0001-Port-to-current-javacc.patch
@@ -0,0 +1,45 @@
+From f171cd8a95735c7f2fbcd20c323b2d936d8cc01b Mon Sep 17 00:00:00 2001
+From: Michael Simacek
+ * The first time the Introspector sees a class it creates a class method map
+ * for the class in question. Basically the class method map is a Hastable where
+ * Method objects are keyed by a concatenation of the method name and the names
+@@ -324,4 +324,4 @@ public class IntrospectorBase {
+ return classMap;
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java
+--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java.javadoc 2011-12-19 06:15:01.000000000 -0700
++++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java 2015-04-15 19:05:24.055352589 -0600
+@@ -40,7 +40,7 @@ import java.util.Arrays;
+ * Finding methods as well as property getters & setters. Finding methods as well as property getters & setters.
+ * A whitelist explicitly allows methods/properties for a class;
++ *
+ *
+- *
+ * A blacklist explicitly forbids methods/properties for a class; ++ *
+ *+ * Permissions are composed of three lists, read, write, execute, each being "white" or "black": ++ *
+ *+ * All arithmetic operators (+, - , *, /, %) follow the same rules regarding their arguments. ++ *
+ *+ * Creates and evaluates Expression and Script objects. +- * Determines the behavior of Expressions & Scripts during their evaluation with respect to: ++ * Determines the behavior of Expressions & Scripts during their evaluation with respect to: ++ *
+ *The setSilent
and setLenient
methods allow to fine-tune an engine instance behavior
+ * according to various error control needs. The lenient/strict flag tells the engine when and if null as operand is
+ * considered an error, the silent/verbose flag tells the engine what to do with the error
+@@ -68,7 +68,7 @@ import org.apache.commons.jexl2.parser.A
+ *
0 & null should be indicators of "default" values so that even in an case of error, ++ *
0 & null should be indicators of "default" values so that even in an case of error, + * something meaningfull can still be inferred; may be convenient for configurations. + *
+ *The finest error control grain is obtained; it is the closest to Java code - +- * still augmented by "script" capabilities regarding automated conversions & type matching. ++ * still augmented by "script" capabilities regarding automated conversions & type matching. + *
+ *
+- * Supports the following:
+- * File Extensions: ".jexl", ".jexl2"
++ * Supports the following:
++ * Language short names: "JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2"
++ * File Extensions: ".jexl", ".jexl2"
+ * "jexl2" etc. were added for engineVersion="2.0".
+ *
+diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java +--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java.javadoc 2011-12-19 06:15:00.000000000 -0700 ++++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java 2015-04-15 19:33:18.303497441 -0600 +@@ -95,6 +95,7 @@ public class JexlScriptEngine extends Ab + * Those properties are allways bound to the default engine scope context. + *
+ * The following properties are defined: ++ *
+ *+ * An expression can mix immediate, deferred and nested sub-expressions as well as string constants; ++ *
+ *"...${jexl-expr}..."
"...#{jexl-expr}..."
"...#{...${jexl-expr0}...}..."
"...${jexl-expr0}... #{jexl-expr1}..."
+- * Deferred & immediate expression carry different intentions: ++ * Deferred & immediate expression carry different intentions: ++ *
+ *
+ * For instance: "Hello ${name}, now is #{time}"
is a composite "deferred" expression since one
+ * of its subexpressions is deferred. Furthermore, this (composite) expression intent is
+@@ -62,14 +62,14 @@ import org.apache.commons.jexl2.parser.S
+ *
+ * The API reflects this feature in 2 methods, prepare and evaluate. The prepare method + * will evaluate the immediate subexpression and return an expression that contains only +- * the deferred subexpressions (& constants), a prepared expression. Such a prepared expression ++ * the deferred subexpressions (& constants), a prepared expression. Such a prepared expression + * is suitable for a later phase evaluation that may occur with a different JexlContext. + * Note that it is valid to call evaluate without prepare in which case the same JexlContext + * is used for the 2 evaluation phases. + *
+ *+ * In the most common use-case where deferred expressions are to be kept around as properties of objects, +- * one should parse & prepare an expression before storing it and evaluate it each time ++ * one should parse & prepare an expression before storing it and evaluate it each time + * the property storing it is accessed. + *
+ *+@@ -339,7 +339,7 @@ public final class UnifiedJEXL { + *
+ * In effect, this binds the result of the immediate sub-expressions evaluation in the + * context, allowing to differ evaluation of the remaining (deferred) expression within another context. +- * This only has an effect to nested & composite expressions that contain differed & immediate sub-expressions. ++ * This only has an effect to nested & composite expressions that contain differed & immediate sub-expressions. + *
+ *+ * If the underlying JEXL engine is silent, errors will be logged through its logger as warning. +@@ -409,7 +409,7 @@ public final class UnifiedJEXL { + * Prepares a sub-expression for interpretation. + * @param interpreter a JEXL interpreter + * @return a prepared expression +- * @throws JexlException (only for nested & composite) ++ * @throws JexlException (only for nested & composite) + */ + protected Expression prepare(Interpreter interpreter) { + return this; +@@ -419,7 +419,7 @@ public final class UnifiedJEXL { + * Intreprets a sub-expression. + * @param interpreter a JEXL interpreter + * @return the result of interpretation +- * @throws JexlException (only for nested & composite) ++ * @throws JexlException (only for nested & composite) + */ + protected abstract Object evaluate(Interpreter interpreter); + } +@@ -734,7 +734,7 @@ public final class UnifiedJEXL { + } + + /** Creates a a {@link UnifiedJEXL.Expression} from an expression string. +- * Uses & fills up the expression cache if any. ++ * Uses & fills up the expression cache if any. + *
+ * If the underlying JEXL engine is silent, errors will be logged through its logger as warnings. + *
+@@ -1010,20 +1010,23 @@ public final class UnifiedJEXL { + * evaluation and their output gathered through a writer. + * It is thus possible to use looping or conditional construct "around" expressions generating output. + * +- * For instance: +- *++ *For instance: ++ *
++ *++ *+ * $$ for(var x : [1, 3, 5, 42, 169]) { + * $$ if (x == 42) { + * Life, the universe, and everything +- * $$ } else if (x > 42) { ++ * $$ } else if (x > 42) { + * The value $(x} is over fourty-two + * $$ } else { + * The value ${x} is under fourty-two + * $$ } + * $$ } + *+ * Will evaluate as: +- *
++ * ++ *+ * The value 1 is under fourty-two + * The value 3 is under fourty-two + * The value 5 is under fourty-two +@@ -1033,10 +1036,10 @@ public final class UnifiedJEXL { + *+ * During evaluation, the template context exposes its writer as '$jexl' which is safe to use in this case. + * This allows writing directly through the writer without adding new-lines as in: +- *
++ * ++ *+- * + *+ * $$ for(var cell : cells) { $jexl.print(cell); $jexl.print(';') } + *+ * A template is expanded as one JEXL script and a list of UnifiedJEXL expressions; each UnifiedJEXL expression + * being replace in the script by a call to jexl:print(expr) (the expr is in fact the expr number in the template). +@@ -1461,4 +1464,4 @@ public final class UnifiedJEXL { + public Template createTemplate(String source) { + return new Template("$$", new StringReader(source), (String[]) null); + } +-} +\ No newline at end of file ++} diff --git a/SPECS/apache-commons-jexl.spec b/SPECS/apache-commons-jexl.spec new file mode 100644 index 0000000..1f8b418 --- /dev/null +++ b/SPECS/apache-commons-jexl.spec @@ -0,0 +1,195 @@ +%{?scl:%scl_package apache-%{jarname}} +%{!?scl:%global pkg_name %{name}} + +%global jarname commons-jexl +%global compatver 2.1.0 + +Name: %{?scl_prefix}apache-%{jarname} +Version: 2.1.1 +Release: 18.2%{?dist} +Summary: Java Expression Language (JEXL) +License: ASL 2.0 +URL: http://commons.apache.org/jexl +BuildArch: noarch + +Source0: http://www.apache.org/dist/commons/jexl/source/%{jarname}-%{version}-src.tar.gz + +# Patch to fix test failure with junit 4.11 +Patch0: 001-Fix-tests.patch +# Fix javadoc build +Patch1: apache-commons-jexl-javadoc.patch +Patch2: 0001-Port-to-current-javacc.patch + +BuildRequires: %{?scl_prefix}maven-local +BuildRequires: %{?scl_prefix}mvn(commons-logging:commons-logging) +BuildRequires: %{?scl_prefix}mvn(junit:junit) +BuildRequires: %{?scl_prefix}mvn(org.apache.commons:commons-parent:pom:) +BuildRequires: %{?scl_prefix}mvn(org.codehaus.mojo:javacc-maven-plugin) + +Provides: %{?scl_prefix}%{jarname} = %{version}-%{release} + +%description +Java Expression Language (JEXL) is an expression language engine which can be +embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity +and the Expression Language defined in the JavaServer Pages Standard Tag +Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP). While +inspired by JSTL EL, it must be noted that JEXL is not a compatible +implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152). +For a compatible implementation of these specifications, see the Commons EL +project. + +JEXL attempts to bring some of the lessons learned by the Velocity community +about expression languages in templating to a wider audience. Commons Jelly +needed Velocity-ish method access, it just had to have it. + +%package javadoc +Summary: Javadocs for %{pkg_name} +Requires: %{?scl_prefix}jpackage-utils +Provides: %{?scl_prefix}%{jarname}-javadoc = %{version}-%{release} + +%description javadoc +This package contains the API documentation for %{pkg_name}. + +%prep +%setup -q -n %{jarname}-%{version}-src +%patch0 -p1 -b .test +%patch1 -p1 -b .javadoc +%patch2 -p1 + +# Java 1.6 contains bsf 3.0, so we don't need the dependency in the pom.xml file +%pom_remove_dep org.apache.bsf:bsf-api +find \( -name '*.jar' -o -name '*.class' \) -delete +# Fix line endings +find -name '*.txt' -exec sed -i 's/\r//' '{}' + + +# Drop "-SNAPSHOT" from version +%pom_xpath_set "pom:project/pom:version" %{compatver} jexl2-compat +%pom_xpath_set "pom:dependency[pom:artifactId='commons-jexl']/pom:version" %{version} jexl2-compat + +echo " +
+ " >>aggregator-pom.xml +%mvn_package :commons-jexl-aggegator __noinstall + +%build +%mvn_build -- -f aggregator-pom.xml + +%install +%mvn_install + +%files -f .mfiles +%doc LICENSE.txt NOTICE.txt RELEASE-NOTES.txt +%{_javadir}/%{pkg_name} + +%files javadoc -f .mfiles-javadoc +%doc LICENSE.txt NOTICE.txt + +%changelog +* Thu Jun 22 2017 Michael Simacek4.0.0 +org.fedoraproject +commons-jexl-aggegator +%{version} +pom ++ +. +jexl2-compat +- 2.1.1-18.2 +- Mass rebuild 2017-06-22 + +* Wed Jun 21 2017 Java Maintainers - 2.1.1-18.1 +- Automated package import and SCL-ization + +* Fri Feb 10 2017 Fedora Release Engineering - 2.1.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Sep 07 2016 Michael Simacek - 2.1.1-17 +- Port to current javacc + +* Wed Jun 15 2016 Mikolaj Izdebski - 2.1.1-16 +- Regenerate build-requires + +* Wed Feb 03 2016 Fedora Release Engineering - 2.1.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jul 27 2015 Mikolaj Izdebski - 2.1.1-14 +- Build compat package in the same reactor as main module + +* Wed Jun 17 2015 Fedora Release Engineering - 2.1.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 15 2015 Orion Poplawski - 2.1.1-12 +- Add patch to fix javadoc build + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Mar 04 2014 Stanislav Ochotnicky - 2.1.1-10 +- Use Requires: java-headless rebuild (#1067528) + +* Thu Jan 02 2014 Michal Srb - 2.1.1-9 +- Build JEXL 1.x compat artifact +- Fix directory ownership + +* Sat Aug 03 2013 Fedora Release Engineering - 2.1.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jul 1 2013 Mikolaj Izdebski - 2.1.1-7 +- Install NOTICE file with javadoc package + +* Fri Jun 28 2013 Orion Poplawski - 2.1.1-6 +- Update to current maven spec guidelines to fix build (bug 979497) +- Add patch to fix test with junit 4.11 + +* Wed Feb 13 2013 Fedora Release Engineering - 2.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG - 2.1.1-4 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Wed Jul 18 2012 Fedora Release Engineering - 2.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 2.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Dec 24 2011 Orion Poplawski - 2.1.1-1 +- Update to 2.1.1 + +* Mon Dec 12 2011 Orion Poplawski - 2.1-1 +- Update to 2.1 +- Update bsf patch +- Add needed BRs + +* Tue Oct 11 2011 Stanislav Ochotnicky - 2.0.1-4 +- Packaging fixes +- New maven macro for depmaps (include a compat depmap) #745118 + +* Mon Feb 07 2011 Fedora Release Engineering - 2.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 6 2010 Orion Poplawski - 2.0.1-3 +- Use BR apache-commons-parent + +* Tue Jul 13 2010 Orion Poplawski - 2.0.1-2 +- Add license to javadoc package + +* Wed May 26 2010 Orion Poplawski - 2.0.1-1 +- Update to 2.0.1 +- Require Java 1.6 or greater +- Drop language level patch +- Add patch to remove bsf-api 3.0 dependency from pom.xml as this is provided + by Java 1.6 +- Fix depmap group id + +* Sat Jan 9 2010 Orion Poplawski - 1.1-3 +- Drop gcj support +- Fix javadoc group +- Bump java levels in pom.xml + +* Thu Jan 7 2010 Orion Poplawski - 1.1-2 +- Rename to apache-commons-jexl + +* Tue Oct 27 2009 Orion Poplawski - 1.1-1 +- Initial Fedora Package