Accepting request 496829 from Java:packages
- 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 - Version bump to 1.9.9: * Read WHATSNEW file for full changelist - Add reproducible.patch to allow reproducible builds of ant itself and packages built with ant like jcodings - 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 - Version bump to 1.9.9: * Read WHATSNEW file for full changelist - Add reproducible.patch to allow reproducible builds of ant itself and packages built with ant like jcodings - 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 - Version bump to 1.9.9: * Read WHATSNEW file for full changelist OBS-URL: https://build.opensuse.org/request/show/496829 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ant?expand=0&rev=59
This commit is contained in:
commit
5f236965a5
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 08:08:28 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 20:05:59 UTC 2017 - bwiedemann@suse.com
|
||||
|
||||
- Version bump to 1.9.9:
|
||||
* Read WHATSNEW file for full changelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 07:43:51 UTC 2017 - bwiedemann@suse.de
|
||||
|
||||
- Add reproducible.patch to allow reproducible builds of ant itself
|
||||
and packages built with ant like jcodings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 20 10:12:01 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
136
ant-antlr.spec
136
ant-antlr.spec
@ -23,20 +23,12 @@
|
||||
%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
|
||||
|
||||
Name: ant-antlr
|
||||
Version: 1.9.6
|
||||
Version: 1.9.9
|
||||
Release: 0
|
||||
Summary: Antlr Task for ant
|
||||
License: Apache-2.0
|
||||
@ -49,8 +41,8 @@ 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}
|
||||
BuildRequires: java-1_5_0-gcj-compat-devel
|
||||
#!BuildIgnore: java-1_6_0-openjdk java-1_6_0-openjdk-devel
|
||||
@ -60,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
|
||||
@ -73,6 +67,9 @@ BuildRequires: junit
|
||||
BuildRequires: xerces-j2
|
||||
BuildRequires: xml-commons-apis
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: strip-nondeterminism
|
||||
%endif
|
||||
%if %{with bootstrap}
|
||||
Requires: java-devel >= 1.5.0
|
||||
Requires: javapackages-tools
|
||||
@ -90,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
|
||||
@ -104,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}
|
||||
@ -236,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
|
||||
@ -381,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
|
||||
@ -402,13 +343,9 @@ 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
|
||||
|
||||
# clean jar files
|
||||
%{_bindir}/find . -name "*.jar" | %{_bindir}/xargs -t rm
|
||||
@ -420,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
|
||||
@ -447,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}
|
||||
@ -463,6 +391,7 @@ export BOOTJAVAC_OPTS="-C -Wno-deprecated"
|
||||
sh -x ./build.sh --noconfig jars
|
||||
|
||||
%endif
|
||||
%?strip_all_nondeterminism
|
||||
|
||||
%install
|
||||
# ANT_HOME and subdirs
|
||||
@ -584,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
|
||||
@ -596,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 \
|
||||
@ -655,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
|
||||
@ -666,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
|
||||
|
||||
@ -680,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
|
||||
|
||||
@ -741,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)
|
||||
@ -829,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
|
||||
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 08:08:28 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 20:05:59 UTC 2017 - bwiedemann@suse.com
|
||||
|
||||
- Version bump to 1.9.9:
|
||||
* Read WHATSNEW file for full changelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 07:43:51 UTC 2017 - bwiedemann@suse.de
|
||||
|
||||
- Add reproducible.patch to allow reproducible builds of ant itself
|
||||
and packages built with ant like jcodings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 20 10:12:01 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
136
ant-junit.spec
136
ant-junit.spec
@ -23,20 +23,12 @@
|
||||
%bcond_without junit
|
||||
%bcond_with 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
|
||||
|
||||
Name: ant-junit
|
||||
Version: 1.9.6
|
||||
Version: 1.9.9
|
||||
Release: 0
|
||||
Summary: Optional junit tasks for ant
|
||||
License: Apache-2.0
|
||||
@ -49,8 +41,8 @@ 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}
|
||||
BuildRequires: java-1_5_0-gcj-compat-devel
|
||||
#!BuildIgnore: java-1_6_0-openjdk java-1_6_0-openjdk-devel
|
||||
@ -60,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
|
||||
@ -73,6 +67,9 @@ BuildRequires: junit
|
||||
BuildRequires: xerces-j2
|
||||
BuildRequires: xml-commons-apis
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: strip-nondeterminism
|
||||
%endif
|
||||
%if %{with bootstrap}
|
||||
Requires: java-devel >= 1.5.0
|
||||
Requires: javapackages-tools
|
||||
@ -90,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
|
||||
@ -104,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}
|
||||
@ -236,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
|
||||
@ -381,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
|
||||
@ -402,13 +343,9 @@ 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
|
||||
|
||||
# clean jar files
|
||||
%{_bindir}/find . -name "*.jar" | %{_bindir}/xargs -t rm
|
||||
@ -420,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
|
||||
@ -447,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}
|
||||
@ -463,6 +391,7 @@ export BOOTJAVAC_OPTS="-C -Wno-deprecated"
|
||||
sh -x ./build.sh --noconfig jars
|
||||
|
||||
%endif
|
||||
%?strip_all_nondeterminism
|
||||
|
||||
%install
|
||||
# ANT_HOME and subdirs
|
||||
@ -584,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
|
||||
@ -596,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 \
|
||||
@ -655,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
|
||||
@ -666,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
|
||||
|
||||
@ -680,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
|
||||
|
||||
@ -741,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)
|
||||
@ -829,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
|
||||
|
20
ant.changes
20
ant.changes
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 08:08:28 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 20:05:59 UTC 2017 - bwiedemann@suse.com
|
||||
|
||||
- Version bump to 1.9.9:
|
||||
* Read WHATSNEW file for full changelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 07:43:51 UTC 2017 - bwiedemann@suse.de
|
||||
|
||||
- Add reproducible.patch to allow reproducible builds of ant itself
|
||||
and packages built with ant like jcodings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 20 10:12:01 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
138
ant.spec
138
ant.spec
@ -22,20 +22,12 @@
|
||||
%bcond_with junit
|
||||
%bcond_with 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
|
||||
|
||||
Name: ant
|
||||
Version: 1.9.6
|
||||
Version: 1.9.9
|
||||
Release: 0
|
||||
Summary: Java-based build tool
|
||||
License: Apache-2.0
|
||||
@ -48,17 +40,21 @@ 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}
|
||||
BuildRequires: java-1_5_0-gcj-compat-devel
|
||||
#!BuildIgnore: java-1_6_0-openjdk java-1_6_0-openjdk-devel
|
||||
#!BuildIgnore: java-1_7_0-openjdk java-1_7_0-openjdk-devel
|
||||
#!BuildIgnore: java-1_8_0-openjdk java-1_8_0-openjdk-devel
|
||||
#!BuildIgnore: java-9-openjdk java-9-openjdk-devel
|
||||
%else
|
||||
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
|
||||
@ -72,6 +68,9 @@ BuildRequires: junit
|
||||
BuildRequires: xerces-j2
|
||||
BuildRequires: xml-commons-apis
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: strip-nondeterminism
|
||||
%endif
|
||||
%if %{with bootstrap}
|
||||
Requires: java-devel >= 1.5.0
|
||||
Requires: javapackages-tools
|
||||
@ -89,6 +88,7 @@ Provides: ant-trax = %{version}
|
||||
Requires: antlr
|
||||
%requires_eq ant
|
||||
Provides: ant-antlr = %{version}-%{release}
|
||||
Obsoletes: ant-javadoc
|
||||
%endif
|
||||
%if %{with junit}
|
||||
Requires: junit4
|
||||
@ -103,41 +103,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}
|
||||
@ -235,20 +203,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
|
||||
@ -380,17 +334,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
|
||||
@ -401,13 +344,9 @@ 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
|
||||
|
||||
# clean jar files
|
||||
%{_bindir}/find . -name "*.jar" | %{_bindir}/xargs -t rm
|
||||
@ -419,9 +358,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
|
||||
@ -446,12 +382,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}
|
||||
@ -462,6 +392,7 @@ export BOOTJAVAC_OPTS="-C -Wno-deprecated"
|
||||
sh -x ./build.sh --noconfig jars
|
||||
|
||||
%endif
|
||||
%?strip_all_nondeterminism
|
||||
|
||||
%install
|
||||
# ANT_HOME and subdirs
|
||||
@ -583,7 +514,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
|
||||
@ -595,20 +525,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 \
|
||||
@ -654,7 +570,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
|
||||
@ -665,7 +585,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
|
||||
|
||||
@ -679,7 +603,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
|
||||
|
||||
@ -740,15 +668,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)
|
||||
@ -828,13 +747,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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ad98dd3a4805452e546e0f5b682360370ae11692a2157fff8ec6d177c957123
|
||||
size 3808558
|
@ -1,7 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iEYEABECAAYFAlWQ0NgACgkQohFa4V9ri3IODACdFpgbfaQV8W1WqECEJjwd/W4O
|
||||
kqAAmwb7sak1nWioHVp3n8U2/vA89mEi
|
||||
=bOy8
|
||||
-----END PGP SIGNATURE-----
|
3
apache-ant-1.9.9-src.tar.bz2
Normal file
3
apache-ant-1.9.9-src.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69aa251ffb9f31312c21d67db197843e0b03b3c8cc3e0af6e6e92d98eb0f2ead
|
||||
size 3832876
|
7
apache-ant-1.9.9-src.tar.bz2.asc
Normal file
7
apache-ant-1.9.9-src.tar.bz2.asc
Normal file
@ -0,0 +1,7 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iEYEABECAAYFAliTeuMACgkQohFa4V9ri3JKrwCfeUXDKRaGVSVPi8pJJdDnh+mz
|
||||
UkUAn0TPQC0YCk45FrYkWw42dwzkWcIh
|
||||
=veU8
|
||||
-----END PGP SIGNATURE-----
|
@ -1,24 +0,0 @@
|
||||
diff -urN apache-ant-1.9.4.old/src/main/org/apache/tools/ant/util/VectorSet.java apache-ant-1.9.4/src/main/org/apache/tools/ant/util/VectorSet.java
|
||||
--- apache-ant-1.9.4.old/src/main/org/apache/tools/ant/util/VectorSet.java 2014-07-04 14:36:26.370041107 +0200
|
||||
+++ apache-ant-1.9.4/src/main/org/apache/tools/ant/util/VectorSet.java 2014-07-04 14:44:12.888084246 +0200
|
||||
@@ -122,7 +122,7 @@
|
||||
count - index);
|
||||
}
|
||||
for (Object o : toAdd) {
|
||||
- elementData[index++] = o;
|
||||
+ elementData[index++] = (E) o;
|
||||
}
|
||||
elementCount += toAdd.size();
|
||||
return true;
|
||||
diff -urN apache-ant-1.9.4.old/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java apache-ant-1.9.4/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java
|
||||
--- apache-ant-1.9.4.old/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java 2014-07-04 14:36:26.372041107 +0200
|
||||
+++ apache-ant-1.9.4/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java 2014-07-04 14:42:23.841074163 +0200
|
||||
@@ -101,7 +101,7 @@
|
||||
* stored as an array of 128 chars.
|
||||
*/
|
||||
public Simple8BitZipEncoding(char[] highChars) {
|
||||
- this.highChars = highChars.clone();
|
||||
+ this.highChars = (char[]) highChars.clone();
|
||||
List<Simple8BitChar> temp =
|
||||
new ArrayList<Simple8BitChar>(this.highChars.length);
|
||||
|
141
reproducible.patch
Normal file
141
reproducible.patch
Normal file
@ -0,0 +1,141 @@
|
||||
commit 7c6c749c952153170e82b791d97086e99fe2a3cb
|
||||
Author: Stefan Bodewig <bodewig@apache.org>
|
||||
Date: Mon May 8 18:44:07 2017 +0200
|
||||
|
||||
add magic property that override's tstamp's idea of "now"
|
||||
|
||||
https://bz.apache.org/bugzilla/show_bug.cgi?id=61079
|
||||
|
||||
diff --git a/manual/Tasks/tstamp.html b/manual/Tasks/tstamp.html
|
||||
index 82812a579..6baa0c882 100644
|
||||
--- a/manual/Tasks/tstamp.html
|
||||
+++ b/manual/Tasks/tstamp.html
|
||||
@@ -40,6 +40,12 @@
|
||||
to indicate, for example, the release date. The best place for this task is
|
||||
probably in an initialization target.</p>
|
||||
|
||||
+<p><em>Since Ant 1.9.10</em> the magic
|
||||
+ property <code>ant.tstamp.now</code> can be used to specify a fixed
|
||||
+ date value in order to create reproducible builds. Its value must be
|
||||
+ a number and is interpreted as seconds since the epoch (midnight
|
||||
+ 1970-01-01).</p>
|
||||
+
|
||||
<h3>Parameters</h3>
|
||||
<table border="1" cellpadding="2" cellspacing="0">
|
||||
<tr>
|
||||
diff --git a/manual/running.html b/manual/running.html
|
||||
index 529afc7dc..3bfb500c8 100644
|
||||
--- a/manual/running.html
|
||||
+++ b/manual/running.html
|
||||
@@ -485,6 +485,11 @@
|
||||
<a href="argumentprocessor.html#repository">ArgumentProcessor internal repository</a>.
|
||||
</td>
|
||||
</tr>
|
||||
+<tr>
|
||||
+ <td><code>ant.tstamp.now</code></td>
|
||||
+ <td>number, seconds since the epoch (midnight 1970-01-01)</td>
|
||||
+ <td>The value to use as current time and date for <tstamp></td>
|
||||
+</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
diff --git a/src/main/org/apache/tools/ant/MagicNames.java b/src/main/org/apache/tools/ant/MagicNames.java
|
||||
index bc39a2578..67ab8a810 100644
|
||||
--- a/src/main/org/apache/tools/ant/MagicNames.java
|
||||
+++ b/src/main/org/apache/tools/ant/MagicNames.java
|
||||
@@ -289,5 +289,18 @@ public final class MagicNames {
|
||||
* Value {@value}
|
||||
*/
|
||||
public static final String HTTP_AGENT_PROPERTY = "ant.http.agent";
|
||||
+
|
||||
+ /**
|
||||
+ * Magic property that can be set to contain a value for tstamp's
|
||||
+ * "now" in order to make builds that use the task create
|
||||
+ * reproducible results.
|
||||
+ *
|
||||
+ * <p>The value is expected to be a number representing the date
|
||||
+ * as seconds since the epoch.</p>
|
||||
+ *
|
||||
+ * Value: {@value}
|
||||
+ * @since Ant 1.9.10
|
||||
+ */
|
||||
+ public static final String TSTAMP_NOW = "ant.tstamp.now";
|
||||
}
|
||||
|
||||
diff --git a/src/main/org/apache/tools/ant/taskdefs/Tstamp.java b/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
|
||||
index 805427aba..a6a35d7b4 100644
|
||||
--- a/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
|
||||
+++ b/src/main/org/apache/tools/ant/taskdefs/Tstamp.java
|
||||
@@ -32,6 +32,7 @@ import java.util.Vector;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.Location;
|
||||
+import org.apache.tools.ant.MagicNames;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.types.EnumeratedAttribute;
|
||||
@@ -68,7 +69,7 @@ public class Tstamp extends Task {
|
||||
*/
|
||||
public void execute() throws BuildException {
|
||||
try {
|
||||
- Date d = new Date();
|
||||
+ Date d = getNow();
|
||||
|
||||
Enumeration i = customFormats.elements();
|
||||
while (i.hasMoreElements()) {
|
||||
@@ -110,6 +111,22 @@ public class Tstamp extends Task {
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Return the {@link Date} instance to use as base for DSTAMP, TSTAMP and TODAY.
|
||||
+ */
|
||||
+ protected Date getNow() {
|
||||
+ String magicNow = getProject().getProperty(MagicNames.TSTAMP_NOW);
|
||||
+ if (magicNow != null && magicNow.length() > 0) {
|
||||
+ try {
|
||||
+ return new Date(1000 * Long.parseLong(magicNow));
|
||||
+ } catch (NumberFormatException ex) {
|
||||
+ log("magic property " + MagicNames.TSTAMP_NOW + " ignored as "
|
||||
+ + magicNow + " is not a valid number");
|
||||
+ }
|
||||
+ }
|
||||
+ return new Date();
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* This nested element that allows a property to be set
|
||||
* to the current date and time in a given format.
|
||||
* The date/time patterns are as defined in the
|
||||
diff --git a/src/tests/antunit/taskdefs/tstamp-test.xml b/src/tests/antunit/taskdefs/tstamp-test.xml
|
||||
new file mode 100644
|
||||
index 000000000..c9bebf866
|
||||
--- /dev/null
|
||||
+++ b/src/tests/antunit/taskdefs/tstamp-test.xml
|
||||
@@ -0,0 +1,27 @@
|
||||
+<?xml version="1.0"?>
|
||||
+<!--
|
||||
+ Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
+ contributor license agreements. See the NOTICE file distributed with
|
||||
+ this work for additional information regarding copyright ownership.
|
||||
+ The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
+ (the "License"); you may not use this file except in compliance with
|
||||
+ the License. You may obtain a copy of the License at
|
||||
+
|
||||
+ http://www.apache.org/licenses/LICENSE-2.0
|
||||
+
|
||||
+ Unless required by applicable law or agreed to in writing, software
|
||||
+ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ See the License for the specific language governing permissions and
|
||||
+ limitations under the License.
|
||||
+-->
|
||||
+<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
|
||||
+ <import file="../antunit-base.xml" />
|
||||
+
|
||||
+ <target name="testMagicProperty">
|
||||
+ <local name="ant.tstamp.now"/>
|
||||
+ <property name="ant.tstamp.now" value="100000"/>
|
||||
+ <tstamp/>
|
||||
+ <au:assertPropertyEquals name="DSTAMP" value="19700102"/>
|
||||
+ </target>
|
||||
+</project>
|
Loading…
x
Reference in New Issue
Block a user