apache-commons-digester: Add package version 2.1 (#4310)

* apache-commons-digester: Add package version 2.1

- Use javapackages-local-bootstrap to avoid build cycle
- Enable check section

* apache-commons-digester: cgmanifest add package entry

* apache-commons-digester: fix Source URL

* apache-commons-digester: cgmanifest fix downloadUrl

* apache-commons-digester: licenses add package entry
This commit is contained in:
Sumynwa 2023-01-02 10:21:06 +05:30 коммит произвёл GitHub
Родитель 10d6084911
Коммит 182d3fd708
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 499 добавлений и 1 удалений

Просмотреть файл

@ -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.6"/>
<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" 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>

Просмотреть файл

@ -0,0 +1,6 @@
{
"Signatures": {
"apache-commons-digester-build.xml": "04b53a153e5b2e916aa9231dc4866567878c6deb84a50c40c9c995507f743f78",
"commons-digester-2.1-src.tar.gz": "2713f07a6adec7e253d91f1fca70e658b93e1a63f1b6a36f4907a2b83088543f"
}
}

Просмотреть файл

@ -0,0 +1,207 @@
%define base_name digester
%define short_name commons-%{base_name}
Summary: Jakarta Commons Digester Package
Name: apache-%{short_name}
Version: 2.1
Release: 4%{?dist}
License: Apache-2.0
Vendor: Microsoft Corporation
Distribution: Mariner
Group: Development/Libraries/Java
URL: https://commons.apache.org/proper/commons-digester
Source0: https://dlcdn.apache.org/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz
Source1: %{name}-build.xml
BuildRequires: ant
BuildRequires: commons-beanutils
BuildRequires: commons-collections
BuildRequires: commons-logging
BuildRequires: fdupes
BuildRequires: javapackages-local-bootstrap
Requires: commons-beanutils
Requires: commons-logging
Provides: %{short_name} = %{version}-%{release}
Obsoletes: %{short_name} < %{version}-%{release}
BuildArch: noarch
%if %{with_check}
BuildRequires: ant-junit
%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
%pom_remove_parent
%build
ant 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}/
%check
build-jar-repository -s lib commons-collections
ant test
%files -f .mfiles
%license LICENSE.txt
%doc NOTICE.txt RELEASE-NOTES.txt
%{_javadir}/*
%files javadoc
%{_javadocdir}/%{name}
%changelog
* Mon Nov 07 2022 Sumedh Sharma <sumsharma@microsoft.com> - 2.1-4
- Enable check section
- License verified
* Thu Oct 14 2021 Pawel Winogrodzki <pawelwi@microsoft.com> - 2.1-3
- Converting the 'Release' tag to the '[number].[distribution]' format.
* Fri Nov 27 2020 Ruying Chen <v-ruyche@microsoft.com> - 2.1-2.7
- Initial CBL-Mariner import from openSUSE Tumbleweed (license: same as "License" tag).
- Use javapackages-local-bootstrap to avoid build cycle.
* Wed Mar 27 2019 Fridrich Strba <fstrba@suse.com>
- Use global defines for name
* Mon Feb 25 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 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 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 2014 tchvatal@suse.com
- Cleanup with spec cleaner and fix build again.
* Mon Sep 25 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 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jul 27 2005 jsmeix@suse.de
- Current version 1.7 from JPackage.org
* Mon Jul 18 2005 jsmeix@suse.de
- Current version 1.6 from JPackage.org
* Tue Feb 22 2005 skh@suse.de
- enable build of rss package (needed by struts)
* Mon Feb 21 2005 skh@suse.de
- update to version 1.6
- don't use icecream
* Thu Sep 16 2004 skh@suse.de
- Fix prerequires of javadoc subpackage
* Sun Sep 5 2004 skh@suse.de
- Initial package created with version 1.5 (JPackage version 1.5)

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -2287,6 +2287,7 @@
"apache-commons-compress",
"apache-commons-daemon",
"apache-commons-dbcp",
"apache-commons-digester",
"apache-commons-httpclient",
"apache-commons-io",
"apache-commons-lang",

Просмотреть файл

@ -300,6 +300,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "apache-commons-digester",
"version": "2.1",
"downloadUrl": "https://dlcdn.apache.org/commons/digester/source/commons-digester-2.1-src.tar.gz"
}
}
},
{
"component": {
"type": "other",