Sophie

Sophie

distrib > Mageia > 3 > x86_64 > media > core-release-src > by-pkgid > 6e3410383c977b5636f0f62f5eea4e63 > files > 9

jcsc-0.98.1-2.mga3.src.rpm

%define bootstrap 1

Name:          jcsc
Version:       0.98.1
Release:       %mkrel 2
Summary:       Java Coding Standard Checker (JCSC) 
Group:         Development/Java
License:       GPL
Url:           http://jcsc.sourceforge.net/
# cvs -d:pserver:anonymous@jcsc.cvs.sourceforge.net:/cvsroot/jcsc login
# cvs -z3 -d:pserver:anonymous@jcsc.cvs.sourceforge.net:/cvsroot/jcsc export -r v20050706-0_98_1 jcsc
# tar czf jcsc-0.98.1-src-cvs.tar.gz jcsc
Source0:       jcsc-%{version}-src-cvs.tar.gz
Source1:       jcsc-script
Source2:       jcsc-editor-script
Source3:       jcsc-skimdeep-script
Patch0:        jcsc-0.98.1-jcsc_properties.patch
Patch1:        jcsc-0.98.1-skimdeep_properties.patch
# intellij idea plugin
Patch2:        jcsc-0.98.1-javadoc_exclude_intellij.patch
Patch3:        jcsc-0.98.1-skimdeep_javadoc_exclude_intellij.patch
BuildRequires: jpackage-utils
BuildRequires: java-devel

BuildRequires: ant
BuildRequires: ant-apache-regexp
BuildRequires: bcel
BuildRequires: gnu-regexp
BuildRequires: javacc3
%if !%bootstrap
BuildRequires: %{name} = %{version}
%endif
BuildRequires: junit
BuildRequires: xerces-j2
BuildRequires: xml-commons-apis
BuildRequires: junit4

Requires:      bcel
Requires:      gnu-regexp
Requires:      xerces-j2
Requires:      xml-commons-apis

Requires:      jpackage-utils
Requires(post): jpackage-utils
Requires(postun): jpackage-utils
Requires:      java
BuildArch:     noarch

%description
JCSC is a highly configurable checking tool for your Java source code. It checks the compliance
to a defineable coding standard like naming conventions and code structure. Also signs of bad
coding, potential bugs are found. JCSC is inspired by lint.

%package javadoc
Summary:       Javadocs for %{name}
Group:         Development/Java
Requires:      jpackage-utils

%description javadoc
This package contains the API documentation for %{name}

%prep
%setup -q -n jcsc

for j in $(find . -name "*.jar"); do
  mv $j $j.no
done

%if %bootstrap
  %{__sed} -i 's|<taskdef name="jcsc" classname="rj.tools.jcsc.ant.JCSCTask"/>|<!--taskdef name="jcsc" classname="rj.tools.jcsc.ant.JCSCTask"/-->|' build.xml
%endif

%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0

ln -sf $(build-classpath javacc3) lib/javacc.jar

%{__sed} -i 's|<attribute name="Class-Path" value="gnu-regexp.jar xercesImpl.jar xml-apis.jar"/>||' build.xml
%{__sed} -i 's|<attribute name="Class-Path" value="bcel-5.1.jar"/>||' build_skimdeep.xml

mkdir -p javadoc-skimdeep

%build
export CLASSPATH=""
CLASSPATH=$CLASSPATH:$(build-classpath ant/ant-apache-regexp)
%if %bootstrap
  ant -Djavacc.dir=$PWD/lib jar.jcsc
  %{__sed} -i 's|<!--taskdef name="jcsc" classname="rj.tools.jcsc.ant.JCSCTask"/-->|<taskdef name="jcsc" classname="rj.tools.jcsc.ant.JCSCTask"/>|' build.xml
  mv lib/JCSC.jar .
  CLASSPATH=$CLASSPATH:$PWD/JCSC.jar:$(build-classpath junit)
%else
  CLASSPATH=$CLASSPATH:$(build-classpath jcsc)
%endif

ant -Djavacc.dir=$PWD/lib jar.jcsc javadoc
ant -f build_skimdeep.xml -Djavadoc.dir=$PWD/javadoc-skimdeep jar.skimdeep javadoc

%install
[ %{buildroot} != / ] && rm -rf %{buildroot}

mkdir -p %{buildroot}%{_javadir}
install -pm 644 lib/JCSC.jar \
  %{buildroot}%{_javadir}/%{name}.jar
install -pm 644 lib/skimdeep.jar \
  %{buildroot}%{_javadir}/%{name}-skimdeep.jar
(
  cd %{buildroot}%{_javadir}
  ln -sf %{name}.jar JCSC.jar
)

mkdir -p %{buildroot}%{_datadir}/%{name}/rules
install -pm 644 rules/*.xml %{buildroot}%{_datadir}/%{name}/rules/

mkdir -p %{buildroot}%{_bindir}
install -pm 755 %SOURCE1 %{buildroot}%{_bindir}/%{name}
install -pm 755 %SOURCE2 %{buildroot}%{_bindir}/%{name}-editor
install -pm 755 %SOURCE3 %{buildroot}%{_bindir}/%{name}-skimdeep

mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr javadoc/* %{buildroot}%{_javadocdir}/%{name}
mkdir -p %{buildroot}%{_javadocdir}/%{name}-skimdeep
cp -pr javadoc-skimdeep/* %{buildroot}%{_javadocdir}/%{name}-skimdeep

%files
%{_javadir}/%{name}.jar
%{_javadir}/JCSC.jar
%{_javadir}/%{name}-skimdeep.jar
%{_bindir}/%{name}*
%{_datadir}/%{name}/rules/*
%doc CHANGELOG GNU_GENERAL_PUBLIC_LICENSE README TODO

%files javadoc
%{_javadocdir}/%{name}
%{_javadocdir}/%{name}-skimdeep


%changelog

* Sat Jan 12 2013 umeabot <umeabot> 0.98.1-2.mga3
+ Revision: 355270
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Fri Nov 11 2011 dmorgan <dmorgan> 0.98.1-1.mga2
+ Revision: 166461
- Fix buildrequires

  + gil <gil>
    - added jcsc scripts
    - imported package jcsc