Sync from SUSE:SLFO:Main apache-commons-digester revision 169f63fd5296eca369e020a3c833ae60

This commit is contained in:
Adrian Schröter 2024-05-03 11:00:11 +02:00
commit 750694e73f
5 changed files with 556 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="commons-digester" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.groupId" value="commons-digester"/>
<property name="project.artifactId" value="commons-digester"/>
<property name="project.version" value="2.1"/>
<property name="project.name" value="Commons Digester"/>
<property name="project.organization.name" value="The Apache Software Foundation"/>
<property name="project.description" value="The Digester package lets you configure
an XML to Java object mapping module which triggers certain actions called rules
whenever a particular pattern of nested XML elements is recognized."/>
<property name="compiler.source" value="1.8"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir.0" value="src/main/java"/>
<property name="build.resourceDir.0" value="."/>
<property name="build.resourceDir.1" value="src/main/resources"/>
<property name="build.testOutputDir" value="${build.dir}/test-classes"/>
<property name="build.testDir.0" value="src/test/java"/>
<property name="build.testResourceDir.0" value="src/test/resources"/>
<property name="test.reports" value="${build.dir}/test-reports"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath">
<fileset dir="lib">
<!-- commons-beanutils-1.8.3 commons-logging-1.1.1 -->
<include name="**/*.jar"/>
</fileset>
</path>
<path id="build.test.classpath">
<fileset dir="lib">
<!-- commons-beanutils-1.8.3 commons-logging-1.1.1 junit-4.8.1 -->
<include name="**/*.jar"/>
</fileset>
</path>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
encoding="iso-8859-1"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir.0}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<mkdir dir="${build.outputDir}/META-INF"/>
<copy todir="${build.outputDir}/META-INF">
<fileset dir="${build.resourceDir.0}">
<include name="NOTICE.txt"/>
<include name="LICENSE.txt"/>
</fileset>
</copy>
<copy todir="${build.outputDir}">
<fileset dir="${build.resourceDir.1}">
<include name="**/*.dtd"/>
</fileset>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Test-compilation target -->
<!-- ====================================================================== -->
<target name="compile-tests"
depends="compile"
description="Compile the test code"
unless="test.skip">
<mkdir dir="${build.testOutputDir}"/>
<javac destdir="${build.testOutputDir}"
encoding="iso-8859-1"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.testDir.0}"/>
</src>
<classpath>
<path refid="build.test.classpath"/>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
<copy todir="${build.testOutputDir}">
<fileset dir="${build.testResourceDir.0}">
<include name="**/*.xml"/>
<include name="**/*.xsd"/>
</fileset>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Run all tests -->
<!-- ====================================================================== -->
<target name="test"
depends="compile-tests, junit-missing"
unless="junit.skipped"
description="Run the test cases">
<mkdir dir="${test.reports}"/>
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
<sysproperty key="basedir" value="."/>
<formatter type="xml"/>
<formatter type="plain" usefile="false"/>
<classpath>
<path refid="build.test.classpath"/>
<pathelement location="${build.outputDir}"/>
<pathelement location="${build.testOutputDir}"/>
</classpath>
<batchtest todir="${test.reports}" unless="test">
<fileset dir="${build.testDir.0}">
<include name="**/Test*.java"/>
<include name="**/*Test.java"/>
<include name="**/*TestCase.java"/>
<exclude name="**/TestBean.java"/>
<exclude name="**/TestRule.java"/>
<exclude name="**/TestRuleSet.java"/>
<exclude name="**/Test*$*.java"/>
<exclude name="**/Abstract*.java"/>
</fileset>
</batchtest>
<batchtest todir="${test.reports}" if="test">
<fileset dir="${build.testDir.0}">
<include name="**/${test}.java"/>
<exclude name="**/TestBean.java"/>
<exclude name="**/TestRule.java"/>
<exclude name="**/TestRuleSet.java"/>
<exclude name="**/Test*$*.java"/>
<exclude name="**/Abstract*.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="test-junit-present">
<available classname="junit.framework.Test" property="junit.present" classpathref="build.test.classpath"/>
</target>
<target name="test-junit-status"
depends="test-junit-present">
<condition property="junit.missing">
<and>
<isfalse value="${junit.present}"/>
<isfalse value="${test.skip}"/>
</and>
</condition>
<condition property="junit.skipped">
<or>
<isfalse value="${junit.present}"/>
<istrue value="${test.skip}"/>
</or>
</condition>
</target>
<target name="junit-missing"
depends="test-junit-status"
if="junit.missing">
<echo>=================================== WARNING ===================================</echo>
<echo> JUnit is not present in the test classpath or your $ANT_HOME/lib directory. Tests not executed.</echo>
<echo>===============================================================================</echo>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir.0}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
classpathref="build.classpath"
verbose="false"
encoding="iso-8859-1"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
charset="ISO-8859-1"
source="${compiler.source}"
linksource="true"
breakiterator="false"/>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile,test" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Bundle-Description" value="${project.description}"/>
<attribute name="Bundle-DocURL" value="http://commons.apache.org/digester/"/>
<attribute name="Bundle-License" value="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="${project.name}"/>
<attribute name="Bundle-SymbolicName" value="org.apache.commons.${project.artifactId}"/>
<attribute name="Bundle-Vendor" value="${project.organization.name}"/>
<attribute name="Bundle-Version" value="${project.version}.0"/>
<attribute name="Export-Package" value="org.apache.commons.digester;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.handlers;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.internal;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.providers;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.reflect;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.rules;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.spi;version=&quot;${project.version}&quot;,org.apache.commons.digester.annotations.utils;version=&quot;${project.version}&quot;,org.apache.commons.digester.parser;version=&quot;${project.version}&quot;,org.apache.commons.digester.plugins;version=&quot;${project.version}&quot;,org.apache.commons.digester.plugins.strategies;version=&quot;${project.version}&quot;,org.apache.commons.digester.substitution;version=&quot;${project.version}&quot;,org.apache.commons.digester.xmlrules;version=&quot;${project.version}&quot;"/>
<attribute name="Implementation-Title" value="${project.name}"/>
<attribute name="Implementation-URL" value="http://commons.apache.org/digester/"/>
<attribute name="Implementation-Vendor" value="${project.organization.name}"/>
<attribute name="Implementation-Vendor-Id" value="org.apache"/>
<attribute name="Implementation-Version" value="${project.version}"/>
<attribute name="Import-Package" value="javax.xml.parsers,javax.xml.validation,org.apache.commons.beanutils,org.apache.commons.logging,org.apache.commons.logging.impl,org.w3c.dom,org.xml.sax,org.xml.sax.helpers"/>
<attribute name="Include-Resource" value="META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=LICENSE.txt,org/apache/commons/digester/xmlrules/digester-rules.dtd=src/main/resources/org/apache/commons/digester/xmlrules/digester-rules.dtd"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=${compiler.target}))&quot;"/>
<attribute name="Specification-Title" value="${project.name}"/>
<attribute name="Specification-Vendor" value="${project.organization.name}"/>
<attribute name="Specification-Version" value="${project.version}"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

View File

@ -0,0 +1,149 @@
-------------------------------------------------------------------
Wed Mar 23 23:02:22 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Build with java source and target levels 8
-------------------------------------------------------------------
Fri Apr 23 20:17:22 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Fixed SPEC file: Replaced broken URL.
-------------------------------------------------------------------
Wed Mar 27 10:04:43 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Use global defines for name
-------------------------------------------------------------------
Mon Feb 25 10:38:45 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Upgrade to 2.1
* Breaking changes:
+ The minimum JDK requirement is now JDK 1.5. The provided
binaries will not work on lower JDKs. The source has been
updated to leverage Generics and other JDK 1.5 features where
possible, and requires JDK 1.5 to compile.
+ This release eliminates all dependencies on Commons
Collections classes. Previously, ArrayStack was used in the
Digester implementation and was exposed via protected fields
or inner classes of the following classes:
- org.apache.commons.digester.Digester,
- org.apache.commons.digester.CallParamRule, and
- org.apache.commons.digester.xmlrules.DigesterRuleParser
These classes now use java.util.Stack instead. Any subclasses
of the above using protected ArrayStack members will require
appropriate migration to use java.util.Stack instead before
they can be used with version 2.0 or later.
* Important changes:
+ The legacy schema support has been deprecated in favor of
javax.xml.validation.Schema support.
* New features:
+ Support for XML Schema validation using
javax.xml.validation.Schema has been added to Digester.
See Digester class Javadoc, and
Digester#setSchema(javax.xml.validation.Schema) method.
This allows usage of W3C XML Schema, Relax NG and Schematron
for validation of XML documents.
The legacy schema support has been deprecated (details below).
+ The underlying SAXParser factory can now be easily configured
to be XInclude aware. This allows for general purpose
inclusion of XML or text documents, for example, and
facilitates document modularity.
+ Added a new package 'annotations' that provides for Java5
Annotations meta-data based definition of rules for Digester.
This improves maintainability of both Java code and XML
documents, as rules are now defined in POJOs and generating
Digester parsers at runtime, avoiding manual updates.
* Bugs from previous release:
+ SetPropertyRule throws java.lang.IllegalArgumentException:
No name specified when matched element has no attributes.
[DIGESTER-114]
+ Missing unit tests using Ant and Maven. [DIGESTER-117]
+ Digesting XML content with NodeCreateRule swallows spaces.
[DIGESTER-120]
+ Potential NullPointerException if debug is enabled in
Digester#resolveEntity() [DIGESTER-122]
+ Clear inputSources list in method Digester.clear()
[DIGESTER-125]
+ Potential NullPointerException if debug is enabled in
FactoryCreateRule#begin() [DIGESTER-126]
* Improvements from previous release:
+ Null arguments to all Digester#parse() methods now throw an
IllegalArgumentException. [DIGESTER-111]
+ 'serialVersionUID' fields have been added to Serializable
classes.
- Generate ant build files that were removed in 2.1 by upstream
- Removed patch:
* apache-commons-digester-build.patch
+ the generated build is handling the build classpath
differently
-------------------------------------------------------------------
Fri Dec 21 20:40:38 UTC 2018 - Fridrich Strba <fstrba@suse.com>
- Renamed package to apache-commons-digester
- Removed patch:
* jakarta-commons-digester-java16compat.patch
+ no need to patch build.xml to build with source/target 1.6
- Added patch:
* apache-commons-digester-build.patch
+ add commons-collections to the build classpath
-------------------------------------------------------------------
Mon Sep 18 11:07:35 UTC 2017 - fstrba@suse.com
- Removed patch:
* jakarta-commons-digester-java14compat.patch
- Added patch:
* jakarta-commons-digester-java16compat.patch
- Build with java source and target 1.6
- Fixes build with jdk9
- Align the spec file to the way the ant build gets its
dependencies and fix the javadoc build
-------------------------------------------------------------------
Tue Jul 8 10:25:21 UTC 2014 - tchvatal@suse.com
- Cleanup with spec cleaner and fix build again.
-------------------------------------------------------------------
Mon Sep 25 12:08:46 CEST 2006 - skh@suse.de
- don't use icecream
- use source="1.4" and target="1.4" for build with java 1.5
-------------------------------------------------------------------
Wed Jan 25 21:46:37 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Wed Jul 27 16:33:37 CEST 2005 - jsmeix@suse.de
- Current version 1.7 from JPackage.org
-------------------------------------------------------------------
Mon Jul 18 16:11:45 CEST 2005 - jsmeix@suse.de
- Current version 1.6 from JPackage.org
-------------------------------------------------------------------
Tue Feb 22 13:16:09 CET 2005 - skh@suse.de
- enable build of rss package (needed by struts)
-------------------------------------------------------------------
Mon Feb 21 17:24:34 CET 2005 - skh@suse.de
- update to version 1.6
- don't use icecream
-------------------------------------------------------------------
Thu Sep 16 16:16:40 CEST 2004 - skh@suse.de
- Fix prerequires of javadoc subpackage
-------------------------------------------------------------------
Sun Sep 5 23:30:19 CEST 2004 - skh@suse.de
- Initial package created with version 1.5 (JPackage version 1.5)

View File

@ -0,0 +1,107 @@
#
# spec file
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define base_name digester
%define short_name commons-%{base_name}
%bcond_with tests
Name: apache-%{short_name}
Version: 2.1
Release: 0
Summary: Jakarta Commons Digester Package
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://commons.apache.org/proper/commons-digester/
Source0: https://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz
Source1: %{name}-build.xml
BuildRequires: ant
BuildRequires: commons-beanutils
BuildRequires: commons-logging
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local
Requires: mvn(commons-beanutils:commons-beanutils)
Requires: mvn(commons-logging:commons-logging)
Provides: %{short_name} = %{version}-%{release}
Obsoletes: %{short_name} < %{version}-%{release}
Provides: jakarta-%{short_name} = %{version}-%{release}
Obsoletes: jakarta-%{short_name} < %{version}-%{release}
BuildArch: noarch
%if %{with tests}
BuildRequires: ant-junit
BuildRequires: commons-collections
%endif
%description
The goal of the Jakarta Commons Digester project is to create and
maintain an XML to Java object mapping package written in the Java
language to be distributed under the ASF license.
%package javadoc
Summary: Javadoc for apache-commons-digester
Group: Development/Libraries/Java
%description javadoc
The goal of the Jakarta Commons Digester project is to create and
maintain a XML -> Java object mapping package written in the Java
language to be distributed under the ASF license.
This package contains the javadoc documentation for the Jakarta Commons
Digester Package.
%prep
%setup -q -n %{short_name}-%{version}-src
cp %{SOURCE1} build.xml
mkdir -p lib
build-jar-repository -s lib commons-beanutils commons-logging
%if %{with tests}
build-jar-repository -s lib commons-collections
%endif
%pom_remove_parent
%build
ant \
%if %{without tests}
-Dtest.skip=true \
%endif
jar javadoc
%install
# jars
install -d -m 0755 %{buildroot}%{_javadir}
install -pm 644 target/%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
ln -s %{name}.jar %{buildroot}%{_javadir}/%{short_name}.jar
# pom
install -d -m 0755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom
%add_maven_depmap %{name}.pom %{name}.jar -a org.apache.commons:%{short_name}
# javadoc
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/
%fdupes -s %{buildroot}%{_javadocdir}/%{name}/
%files -f .mfiles
%license LICENSE.txt
%doc NOTICE.txt RELEASE-NOTES.txt
%{_javadir}/*
%files javadoc
%{_javadocdir}/%{name}
%changelog

BIN
commons-digester-2.1-src.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.