%global gmajver 1.8 Name: gant Version: 1.9.8 Release: 1%{?dist} Summary: Groovy-based build system that uses Ant tasks Group: Development/Tools License: ASL 2.0 URL: http://gant.codehaus.org/ Source0: http://dist.codehaus.org/%{name}/distributions/%{name}_src-%{version}.tgz # TODO remove these poms when gradle maven plugin work properly # or change the pom file with proper groovy version Source1: http://repo1.maven.org/maven2/org/codehaus/gant/gant_groovy%{gmajver}/%{version}/gant_groovy%{gmajver}-%{version}.pom Source2: %{name}-script # use gradle ivy plugin, maven plugin isnt available # remove wagon webdav references # remove overview.html, break docs build Patch0: %{name}-%{version}-build.patch # groovy 2.x isnt available Patch1: %{name}-%{version}-disable-groovy2.patch # Gant uses groovy-all.jar which bundles all dependencies and # this is NOT allowed in Fedora # we need to use clean groovy.jar and point its dependencies Patch2: %{name}-%{version}-groovy-libaries.patch # lkundrak patches Patch3: %{name}-%{version}-Set-includeantruntime.patch Patch4: %{name}-%{version}-Fix-tests.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: antlr-tool BuildRequires: objectweb-asm # main deps BuildRequires: ant BuildRequires: apache-commons-cli BuildRequires: groovy BuildRequires: gradle # test deps BuildRequires: apache-ivy BuildRequires: junit Requires: ant Requires: antlr-tool Requires: apache-commons-cli Requires: groovy Requires: objectweb-asm Requires: java-devel Requires: jpackage-utils BuildArch: noarch %description Gant is a tool for scripting Ant tasks using Groovy instead of XML to specify the logic. A Gant specification is a Groovy script and so can bring all the power of Groovy to bear directly, something not possible with Ant scripts. Whilst it might be seen as a competitor to Ant, Gant uses Ant tasks for many of the actions, so Gant is really an alternative way of doing things using Ant, but using a programming language rather than XML to specify the rules. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q find . -name "*.bat" -delete find . -name "*.class" -delete find . -name "*.jar" -delete %patch0 -p0 %patch1 -p1 %patch2 -p0 %patch3 -p0 %patch4 -p1 %build export GRADLE_USER_HOME=$PWD mkdir -p gradlehome gradle jar groovydoc -g $PWD/gradlehome -b $PWD/build.gradle %install mkdir -p %{buildroot}%{_javadir} install -pm 644 %{name}_groovy%{gmajver}/build/libs/%{name}_groovy%{gmajver}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar mkdir -p %{buildroot}%{_mavenpomdir} # TODO use the poms files generated by gradle maven plugin install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom # use also generic aId in depmap %add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.codehaus.%{name}:%{name}" mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr %{name}_groovy%{gmajver}/build/docs/groovydoc/* %{buildroot}%{_javadocdir}/%{name} mkdir -p %{buildroot}%{_mandir}/man1/ install -pm 644 documentation/%{name}.1 %{buildroot}%{_mandir}/man1/ mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d install -pm 644 scripts/bash_completion.d/%{name} %{buildroot}%{_sysconfdir}/bash_completion.d install -pm 644 scripts/conf/%{name}-starter.conf %{buildroot}%{_sysconfdir}/ mkdir -p %{buildroot}%{_bindir} install -pm 755 %{SOURCE2} %{buildroot}%{_bindir}/%{name} %check # Gant_Test "failed to create task or type urn:maven-artifact-ant:dependencies" rm -r src/test/groovy/org/codehaus/gant/ant/tests/Gant_Test.java rm -f build/classes/test/org/codehaus/gant/ant/tests/Gant_Test.class # For GANT_33_Test mkdir -p .gant/cache # TODO: failures; get them fixed and remove || : gradle integTest Test -g $PWD/gradlehome -b $PWD/build.gradle || : %files %{_javadir}/%{name}.jar %{_bindir}/%{name} %{_mandir}/man1/* %config(noreplace) %{_sysconfdir}/bash_completion.d/%{name} %config(noreplace) %{_sysconfdir}/%{name}-starter.conf %{_mavenpomdir}/JPP-%{name}.pom %{_mavendepmapfragdir}/%{name} %doc LICENCE.txt README_Install.txt releaseNotes.txt %files javadoc %{_javadocdir}/%{name} %doc LICENCE.txt %changelog * Thu Oct 04 2012 gil cattaneo 1.9.8-1 - update to 1.9.8 - built with groovy 1.8.x support - added maven pom - adapted to current guideline - added new sub package: javadoc * Thu Jul 19 2012 Fedora Release Engineering - 1.8.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jan 13 2012 Fedora Release Engineering - 1.8.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Feb 08 2011 Fedora Release Engineering - 1.8.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Dec 11 2010 Lubomir Rintel - 1.8.1-5 - Fix tests run * Fri Mar 5 2010 Lubomir Rintel - 1.8.1-4 - Include JDK tools in classpath * Thu Mar 4 2010 Lubomir Rintel - 1.8.1-3 - Fix build with Groovy 1.7 * Thu Dec 24 2009 Lubomir Rintel - 1.8.1-2 - Add manual - Add bash completion configuration - Add startup script * Mon Nov 23 2009 Lubomir Rintel - 1.8.1-1 - Initial packaging