%global majorversion 1.6
Name: groovy16
Version: 1.6.9
Release: 2%{?dist}
Summary: Agile dynamic language for the Java Platform
Group: Development/Languages
License: ASL 2.0
URL: http://groovy.codehaus.org/
Source0: http://dist.groovy.codehaus.org/distributions/groovy-src-%{version}.zip
Source1: %{name}-script
Source2: %{name}-starter.conf
BuildRequires: java-devel
BuildRequires: ant
BuildRequires: ant-antlr
BuildRequires: antlr
BuildRequires: apache-commons-cli
BuildRequires: apache-commons-logging
BuildRequires: apache-ivy
BuildRequires: aqute-bnd
BuildRequires: asm2
BuildRequires: bsf
BuildRequires: jarjar
BuildRequires: jline
BuildRequires: junit
BuildRequires: tomcat-jsp-2.2-api
BuildRequires: tomcat-servlet-3.0-api
BuildRequires: xstream
# test deps
# BuildRequires: cglib
# BuildRequires: hsqldb
# BuildRequires: jmock
# BuildRequires: xmlunit
Requires: ant
Requires: ant-antlr
Requires: antlr
Requires: apache-commons-cli
Requires: apache-commons-logging
Requires: apache-ivy
Requires: asm2
Requires: bsf
Requires: jline
Requires: junit
Requires: tomcat-jsp-2.2-api
Requires: tomcat-servlet-3.0-api
Requires: xstream
Requires: java
BuildArch: noarch
%description
Groovy is an agile and dynamic language for the Java Virtual Machine,
built upon Java with features inspired by languages like Python, Ruby and
Smalltalk. It seamlessly integrates with all existing Java objects and
libraries and compiles straight to Java bytecode so you can use it anywhere
you can use Java.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n groovy-%{version}
find . -name '*.class' -delete
find . -name '*.jar' -delete
# remove livetribe-jsr223 available in java6+
%pom_remove_dep org.livetribe:livetribe-jsr223
sed -i "s|groovy|%{name}|" pom.xml
# ant seems to produce incorrect parameter list to javac.
# [groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException:
# startup failed, deprecation: deprecation (No such file or directory)
sed -i 's|||' build.xml
mkdir -p target/lib/{compile,tools}
# Construct classpath
build-jar-repository target/lib/compile servlet tomcat-jsp-2.2-api \
asm2/asm2-tree asm2/asm2 asm2/asm2-util \
asm2/asm2-analysis antlr ant/ant-antlr antlr \
bsf jline xstream ant junit ivy commons-cli
build-jar-repository target/lib/tools aqute-bnd
%build
# Build
export ANT_OPTS="-Xmx1024m -Djava.awt.headless=true"
ant \
-DskipTests=on \
-DskipExamples=on \
-DskipFetch=on \
-DskipEmbeddable=on \
createJars updateJarsForOsgi javadoc
%install
mkdir -p %{buildroot}%{_javadir}
install -pm 644 target/dist/groovy-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
mkdir -p %{buildroot}%{_bindir}
install -pm 755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}
for TOOL in grape16 groovyc16 groovyConsole16 java2groovy16 groovysh16; do
ln %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/$TOOL
done
mkdir -p %{buildroot}%{_sysconfdir}
install -pm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}-starter.conf
mkdir -p %{buildroot}%{_javadocdir}/%{name}
find target -type d |xargs chmod 755
cp -rp target/html/api/* %{buildroot}%{_javadocdir}/%{name}
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}/%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.codehaus.groovy:%{name}-all" -v "%{majorversion}"
%files
%{_bindir}/*
%{_javadir}/%{name}*.jar
%{_mavenpomdir}/JPP-%{name}*.pom
%{_mavendepmapfragdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}-starter.conf
%doc LICENSE.txt NOTICE.txt README.txt
%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE.txt NOTICE.txt
%changelog
* Fri Jul 20 2012 gil cattaneo 1.6.9-2
- initial rpm for Fedora
* Tue Aug 23 2011 gil cattaneo 1.6.9-mga1
- initial rpm for Mageia