Accepting request 960803 from Java:packages

Build with ant as to avoid build cycles with the new maven-javadoc-plugin

OBS-URL: https://build.opensuse.org/request/show/960803
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/apache-commons-text?expand=0&rev=3
This commit is contained in:
Dominique Leuenberger 2022-03-10 21:45:44 +00:00 committed by Git OBS Bridge
commit b42d7d08b4
3 changed files with 183 additions and 9 deletions

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="commons-text" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property name="project.groupId" value="org.apache.commons"/>
<property name="project.artifactId" value="commons-text"/>
<property name="project.version" value="1.8"/>
<property name="bundle.version" value="${project.version}.0"/>
<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" value="src/main/java"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="build.resourceDir.1" value="."/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath">
<fileset dir="lib">
<include name="**/*"/>
</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}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<mkdir dir="${build.outputDir}/META-INF"/>
<copy todir="${build.outputDir}/META-INF">
<fileset dir="${build.resourceDir.1}">
<include name="NOTICE.txt"/>
<include name="LICENSE.txt"/>
<include name="NOTICE"/>
<include name="LICENSE"/>
</fileset>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
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">
<classpath refid="build.classpath"/>
</javadoc>
</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="Automatic-Module-Name" value="org.apache.commons.text"/>
<attribute name="Bundle-Description" value="Apache Commons Text is a library focused on algorithms working on strings."/>
<attribute name="Bundle-DocURL" value="https://commons.apache.org/proper/commons-text"/>
<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="Apache Commons Text"/>
<attribute name="Bundle-SymbolicName" value="org.apache.commons.commons-text"/>
<attribute name="Bundle-Vendor" value="The Apache Software Foundation"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<attribute name="Export-Package" value="org.apache.commons.text.diff;version=&quot;${project.version}&quot;,org.apache.commons.text.lookup;version=&quot;${project.version}&quot;,org.apache.commons.text.matcher;version=&quot;${project.version}&quot;,org.apache.commons.text.similarity;version=&quot;${project.version}&quot;,org.apache.commons.text.translate;version=&quot;${project.version}&quot;,org.apache.commons.text;version=&quot;${project.version}&quot;"/>
<attribute name="Implementation-Title" value="Apache Commons Text"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Version" value="${project.version}"/>
<attribute name="Import-Package" value="javax.script,javax.xml.xpath,org.apache.commons.lang3,org.apache.commons.lang3.time,org.xml.sax"/>
<attribute name="Include-Resource" value="META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=LICENSE.txt"/>
<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="Apache Commons Text"/>
<attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
<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

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Mar 10 14:03:25 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Rewrite build system to build with ant in order to avoid build
cycles.
* This package is now the dependency of maven-javadoc-plugin
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Nov 9 18:36:06 UTC 2019 - Fridrich Strba <fstrba@suse.com> Sat Nov 9 18:36:06 UTC 2019 - Fridrich Strba <fstrba@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package apache-commons-text # spec file
# #
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2022 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -26,12 +26,12 @@ License: Apache-2.0
Group: Development/Libraries/Java Group: Development/Libraries/Java
URL: https://commons.apache.org/proper/commons-text/ URL: https://commons.apache.org/proper/commons-text/
Source0: http://archive.apache.org/dist/commons/text/source/commons-text-%{version}-src.tar.gz Source0: http://archive.apache.org/dist/commons/text/source/commons-text-%{version}-src.tar.gz
Source1: %{name}-build.xml
BuildRequires: ant
BuildRequires: apache-commons-lang3
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: java-devel >= 1.8 BuildRequires: java-devel >= 1.8
BuildRequires: maven-local BuildRequires: javapackages-local
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.commons:commons-parent:pom:)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildArch: noarch BuildArch: noarch
%description %description
@ -46,18 +46,36 @@ This package contains the API documentation for %{name}.
%prep %prep
%setup -q -n commons-text-%{version}-src %setup -q -n commons-text-%{version}-src
cp %{SOURCE1} build.xml
%pom_remove_parent
%pom_xpath_inject pom:project "<groupId>org.apache.commons</groupId>"
%build %build
%{mvn_build} -f -- -Dsource=8 mkdir -p lib
build-jar-repository -s lib apache-commons-lang3
%{ant} package javadoc
%install %install
%mvn_install # jars
install -dm 755 %{buildroot}%{_javadir}/%{name}
install -m 0644 target/%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{short_name}.jar
# pom
install -dm 755 %{buildroot}%{_mavenpomdir}/%{name}
install -m 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{short_name}.pom
%add_maven_depmap %{name}/%{short_name}.pom %{name}/%{short_name}.jar
# javadoc
install -dm 755 %{buildroot}/%{_javadocdir}/%{name}
cp -r target/site/apidocs/* %{buildroot}/%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir} %fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles %files -f .mfiles
%license LICENSE.txt NOTICE.txt %license LICENSE.txt NOTICE.txt
%files javadoc -f .mfiles-javadoc %files javadoc
%{_javadocdir}/%{name}
%license LICENSE.txt NOTICE.txt %license LICENSE.txt NOTICE.txt
%changelog %changelog