SHA256
1
0
forked from pool/ant

- Disable javadoc completely it is on the web in much better form

- Remove if0 conditions
- Remove patch apache-ant-old-gcj-build.patch for sle11 and unused
- Fix build with split javapackages-tools

- Disable javadoc completely it is on the web in much better form
- Remove if0 conditions
- Remove patch apache-ant-old-gcj-build.patch for sle11 and unused
- Fix build with split javapackages-tools

- Disable javadoc completely it is on the web in much better form
- Remove if0 conditions
- Remove patch apache-ant-old-gcj-build.patch for sle11 and unused
- Fix build with split javapackages-tools

OBS-URL: https://build.opensuse.org/package/show/Java:packages/ant?expand=0&rev=80
This commit is contained in:
Tomáš Chvátal
2017-05-19 08:36:09 +00:00
committed by Git OBS Bridge
parent 333f87be39
commit 09a257768b
7 changed files with 69 additions and 360 deletions

View File

@@ -23,14 +23,6 @@
%bcond_with junit
%bcond_without antlr
# disable javadoc build on arm platform - it delays a build a lot
# mvyskocil: ifarch does not work for noarch packages ...
%if %{_arch} != arm
%global build_javadoc 1
%else
%global build_javadoc 0
%endif
%global ant_home %{_datadir}/ant
%global major_version 1.9
@@ -49,8 +41,6 @@ Source1001: http://www.apache.org/dist/ant/source/apache-ant-%{version}-src.
Source1002: ant.keyring
Patch0: apache-ant-no-test-jar.patch
Patch1: apache-ant-class-path-in-manifest.patch
#PATCH-FIX-SLE: fix building with old gcj by working around bugs
Patch2: apache-ant-old-gcj-build.patch
#PATCH-FIX-UPSTREAM -- https://bz.apache.org/bugzilla/show_bug.cgi?id=61079
Patch3: reproducible.patch
%if %{with bootstrap}
@@ -62,6 +52,8 @@ BuildRequires: java-devel >= 1.5.0
%endif
BuildRequires: antlr-bootstrap
BuildRequires: javapackages-tools
# Needed for maven conversions
BuildRequires: javapackages-local
BuildRequires: unzip
#BuildRequires: xerces-j2-bootstrap
#!BuildIgnore: xerces-j2-bootstrap
@@ -95,6 +87,7 @@ Provides: ant-trax = %{version}
Requires: antlr
%requires_eq ant
Provides: ant-antlr = %{version}-%{release}
Obsoletes: ant-javadoc
%endif
%if %{with junit}
Requires: junit4
@@ -109,41 +102,9 @@ Apache Ant is a Java-based build tool.
This package contains optional JUnit tasks for Apache Ant.
%else
# FIXME: this should be different for antlr
%description
Apache Ant is a Java-based build tool. In theory, it is kind of like
Make, but without Make's wrinkles.
Why another build tool when there is already make, gnumake, nmake, jam,
and others? Because all those tools have limitations that Ant's
original author could not live with when developing software across
multiple platforms. Make-like tools are inherently shell-based--they
evaluate a set of dependencies then execute commands, not unlike what
you would issue in a shell. This means that you can easily extend these
tools by using or writing any program for the OS that you are working
on. However, this also means that you limit yourself to the OS, or at
least the OS type, such as Unix, that you are working on.
Makefiles are inherently evil as well. Anybody who has worked on them
for any time has run into the dreaded tab problem. "Is my command not
executing because I have a space in front of my tab???" said the
original author of Ant way too many times. Tools like Jam took care of
this to a great degree, but still have yet another format to use and
remember.
Ant is different. Instead of a model where it is extended with
shell-based commands, Ant is extended using Java classes. Instead of
writing shell commands, the configuration files are XML-based, calling
out a target tree where various tasks are executed. Each task is run by
an object that implements a particular task interface.
Granted, this removes some of the expressive power that is inherent by
being able to construct a shell command such as `find . -name foo -exec
rm {}`, but it gives you the ability to be cross-platform--to work
anywhere and everywhere. If you really need to execute a shell command,
Ant has an <exec> task that allows different commands to be executed
based on the OS used.
%endif
%if %{with bootstrap}
@@ -241,20 +202,6 @@ Apache Ant is a Java-based build tool.
This package contains optional commons net tasks for Apache Ant.
# Disable because we don't ship the dependencies
%if 0
%package -n ant-jai
Summary: Optional jai tasks for ant
License: Apache-2.0
Group: Development/Tools/Building
Requires: jai
%requires_eq ant
BuildRequires: jai
%description -n ant-jai
Optional jai tasks for ant.
%endif
%package -n ant-apache-bcel
Summary: Optional apache bcel tasks for ant
License: Apache-2.0
@@ -386,17 +333,6 @@ Apache Ant is a Java-based build tool.
This package contains the manual for Apache Ant.
%if 0%{?build_javadoc}
%package -n ant-javadoc
Summary: Javadoc for ant
License: Apache-2.0
Group: Development/Tools/Building
%description -n ant-javadoc
Apache Ant is a Java-based build tool.
This package contains the javadoc documentation for Apache Ant.
%endif #javadoc
%endif
%prep
@@ -407,12 +343,7 @@ find -name build.xml -o -name pom.xml | xargs sed -i -e s/-SNAPSHOT//
# When bootstrapping, we don't have junit
%if %{with bootstrap}
%patch0 -p1
%if 0%{?suse_version} < 1200
%patch2 -p1
%endif
%endif
# Fix class-path-in-manifest rpmlint warning
%patch1
%patch3 -p1
@@ -426,9 +357,6 @@ rm src/tests/junit/org/apache/tools/ant/types/selectors/SignedSelectorTest.java
src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java \
src/tests/junit/org/apache/tools/mail/MailMessageTest.java
#FIXME: need newer junit4 package
#rm src/tests/junit/org/example/junit/JUnit4Skippable.java
#install jars
%if %{with junit}
build-jar-repository -s -p lib/optional junit4
@@ -453,12 +381,6 @@ ant -Dbuild.sysclasspath=first jars test-jar
#remove empty jai and netrexx jars. Due to missing dependencies they contain only manifests.
rm -rf build/lib/ant-jai.jar build/lib/ant-netrexx.jar
%if 0%{?build_javadoc}
export CLASSPATH=$(build-classpath xerces-j2 xml-commons-jaxp-1.3-apis antlr bcel jaf javamail/mailapi jdepend junit4 log4j oro regexp bsf commons-logging commons-net jsch xalan-j2 xml-commons-resolver)
ant javadocs
%endif
%endif
%if %{with bootstrap}
@@ -591,7 +513,6 @@ echo "bsf ant/ant-apache-bsf" > %{buildroot}%{_sysconfdir}/ant.d/apache-bsf
echo "xml-commons-resolver ant/ant-apache-resolver" > %{buildroot}%{_sysconfdir}/ant.d/apache-resolver
echo "jakarta-commons-logging ant/ant-commons-logging" > %{buildroot}%{_sysconfdir}/ant.d/commons-logging
echo "jakarta-commons-net ant/ant-commons-net" > %{buildroot}%{_sysconfdir}/ant.d/commons-net
#echo "jai ant/ant-jai" > %{buildroot}%{_sysconfdir}/ant.d/jai
echo "bcel ant/ant-apache-bcel" > %{buildroot}%{_sysconfdir}/ant.d/apache-bcel
echo "log4j ant/ant-apache-log4j" > %{buildroot}%{_sysconfdir}/ant.d/apache-log4j
echo "oro ant/ant-apache-oro" > %{buildroot}%{_sysconfdir}/ant.d/apache-oro
@@ -603,20 +524,6 @@ echo "jsch ant/ant-jsch" > %{buildroot}%{_sysconfdir}/ant.d/jsch
echo "testutil ant/ant-testutil" > %{buildroot}%{_sysconfdir}/ant.d/testutil
%endif
%if %{with antlr}
%if 0%{?build_javadoc}
mkdir -p %{buildroot}%{_javadocdir}/ant
cp -pr build/javadocs/* %{buildroot}%{_javadocdir}/ant
%endif #javadoc
%endif
%if 0%{?build_javadoc}
# fix link between manual and javadoc
(cd manual; ln -sf %{_javadocdir}/%{name} api)
%endif #javadoc
%if %{with bootstrap}
find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
-a ! -name ant-update.xsl \
@@ -662,7 +569,11 @@ find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
%{_mavenpomdir}/JPP-ant-launcher.pom
%{_mavenpomdir}/JPP-ant-parent.pom
%{_mavenpomdir}/JPP-ant.pom
%if %{?suse_version} > 1320
%{_datadir}/maven-metadata/ant.xml
%else
%config(noreplace) %{_mavendepmapfragdir}/ant
%endif
%dir %{_mavenpomdir}
%endif
@@ -673,7 +584,11 @@ find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
%{ant_home}/lib/ant-antlr.jar
%config(noreplace) %{_sysconfdir}/ant.d/antlr
%{_mavenpomdir}/JPP.ant-ant-antlr.pom
%if %{?suse_version} > 1320
%{_datadir}/maven-metadata/ant-antlr.xml
%else
%config(noreplace) %{_mavendepmapfragdir}/ant-antlr
%endif
%dir %{_mavenpomdir}
%endif
@@ -687,7 +602,11 @@ find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
%{ant_home}/etc/junit-frames.xsl
%{ant_home}/etc/junit-noframes.xsl
%{_mavenpomdir}/JPP.ant-ant-junit*.pom
%if %{?suse_version} > 1320
%{_datadir}/maven-metadata/ant-junit.xml
%else
%config(noreplace) %{_mavendepmapfragdir}/ant-junit
%endif
%dir %{_mavenpomdir}
%endif
@@ -748,15 +667,6 @@ find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
%config(noreplace) %{_sysconfdir}/ant.d/commons-net
%{_mavenpomdir}/JPP.ant-ant-commons-net.pom
%dir %{_mavenpomdir}
# Disable as we dont ship the dependencies
%if 0
%files -n ant-jai
%defattr(0644,root,root,0755)
%{_javadir}/ant/ant-jai.jar
%{ant_home}/lib/ant-jai.jar
%config(noreplace) %{_sysconfdir}/ant.d/jai
%endif
%files -n ant-apache-bcel
%defattr(0644,root,root,0755)
@@ -836,13 +746,6 @@ find %{buildroot}%{_datadir}/ant/etc -type f -name "*.xsl" \
%files -n ant-manual
%defattr(0644,root,root,0755)
%doc manual/*
%if 0%{?build_javadoc}
%files -n ant-javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/ant
%endif #javadoc
%endif
%changelog