%global namedreltag _BETA2 %global namedversion %(echo %{version} | tr . _ )%{?namedreltag} %global namedotversion %(echo %{namedversion} | tr _ . ) Name: tattletale Version: 1.2.0 Release: 0.1.Beta2%{?dist} Summary: Jar dependency report library License: LGPLv2+ URL: http://www.jboss.org/tattletale/ # sh tattletale-create-tarball.sh Source0: %{name}-%{namedotversion}-clean.tar.xz Source1: http://repo1.maven.org/maven2/org/jboss/tattletale/%{name}/%{version}.Beta2/%{name}-%{version}.Beta2.pom Source2: http://repo1.maven.org/maven2/org/jboss/tattletale/%{name}-ant/%{version}.Beta2/%{name}-ant-%{version}.Beta2.pom Source3: http://repo1.maven.org/maven2/org/jboss/tattletale/%{name}-maven/%{version}.Beta2/%{name}-maven-%{version}.Beta2.pom Source4: %{name}-tools-template-pom.xml Source5: %{name}-create-tarball.sh BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: apache-ivy BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.javassist:javassist) %if 0 # Documentation deps BuildRequires: apache-commons-io BuildRequires: apache-commons-logging BuildRequires: avalon-framework BuildRequires: batik BuildRequires: fop # Require com.icl.saxon.StyleSheet BuildRequires: saxon >= 6.5.3 BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: xml-commons-apis BuildRequires: xmlgraphics-commons %endif Requires: mvn(org.javassist:javassist) Requires: java Requires: jpackage-utils BuildArch: noarch %description Tattletale is a tool that can help you get an overview of the project you are working on or a product that you depend on. The tool will provide you with reports that can help you * Identify dependencies between JAR files * Find missing classes from the class-path * Spot if a class is located in multiple JAR files * Spot if the same JAR file is located in multiple locations * With a list of what each JAR file requires and provides * Verify the SerialVersionUID of a class * Find similar JAR files that have different version numbers * Find JAR files without a version number * Locate a class in a JAR file * Get the OSGi status of your project * Remove black listed API usage Tattletale will recursive scan the directory pass as the argument for JAR files and then build the reports as HTML files. %package ant Summary: Tattletale Apache Ant tasks Requires: %{name} = %{version}-%{release} Requires: mvn(org.apache.ant:ant) %description ant This package provides Tattletale Apache Ant tasks. %package maven Summary: Tattletale Apache Maven plugin Requires: %{name} = %{version}-%{release} Requires: mvn(org.apache.maven:maven-plugin-api) %description maven This package provides Tattletale Apache Maven plugin. %package tools Summary: Tattletale JBoss AS 7 Tools Requires: %{name} = %{version}-%{release} %description tools This package provides Tattletale Tools to generate a profile for JBoss AS 7. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{namedotversion} find -name "*.class" -print -delete find -name "*.jar" -print -delete mkdir -p lib/core ln -sf $(build-classpath ivy) lib/ ln -sf $(build-classpath ant) lib/core/ ln -sf $(build-classpath javassist) lib/core/ ln -sf $(build-classpath maven/maven-plugin-api) lib/core/ %if 0 ln -sf $(build-classpath avalon-framework) tools/docbook/support/lib/avalon-framework-cvs-20020806.jar ln -sf $(build-classpath avalon-framework-api) tools/docbook/support/lib/ ln -sf $(build-classpath avalon-framework-impl) tools/docbook/support/lib/ ln -sf $(build-classpath batik-all) tools/docbook/support/lib/batik.jar ln -sf $(build-classpath commons-io) tools/docbook/support/lib/ ln -sf $(build-classpath commons-logging) tools/docbook/support/lib/ ln -sf $(build-classpath fop) tools/docbook/support/lib/ # TODO Require com.icl.saxon.StyleSheet ln -sf $(build-classpath saxon) tools/docbook/support/lib/ ln -sf $(build-classpath xalan-j2) tools/docbook/support/lib/ ln -sf $(build-classpath xalan-j2-serializer) tools/docbook/support/lib/ ln -sf $(build-classpath xerces-j2) tools/docbook/support/lib/ ln -sf $(build-classpath xml-commons-apis) tools/docbook/support/lib/ ln -sf $(build-classpath xmlgraphics-commons) tools/docbook/support/lib/ # ./tattletale-1.2.0.BETA2/tools/docant/lib/jdocbook-core-1.0.4.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/batik/js.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/style/jbossorg-docbook-xslt-1.1.1.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/jdom-1.0.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/plexus-utils-2.0.3.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/highlight-1.0.0.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/xml-resolver-1.1.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/slf4j-api-1.5.8.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/commons-exec-1.0.1.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/jhighlight-1.0.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/highlight-3.1.4.GA.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/slf4j-simple-1.5.8.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/core/doctype-changer-1.1.jar # ./tattletale-1.2.0.BETA2/tools/docant/lib/docant-1.0.0.Final.jar # Build fix for Fop 1.x sed -i "s/org.apache.fop.apps.Fop/org.apache.fop.cli.Main/" tools/docbook/support.xml %else sed -i 's|||' build.xml sed -i 's|||' build.xml %endif sed -i "/Class-Path/d" src/etc/*manifest*.mf # Disable ivy download sed -i "/ %{name}-ant install -pm 644 %{name}-ant %{buildroot}%{_sysconfdir}/ant.d/%{name} mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr doc/api/* %{buildroot}%{_javadocdir}/%{name} %jpackage_script org.jboss.tattletale.Main "-Xmx1024m" "" %{name}/%{name}:javassist %{name} true %files %{_bindir}/%{name} %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}.jar %{_mavenpomdir}/JPP.%{name}-%{name}.pom %{_mavendepmapfragdir}/%{name} %doc doc/JBossORG-EULA.txt doc/README.txt doc/copyright.txt doc/lgpl.html %files ant %{_javadir}/%{name}/%{name}-ant.jar %{_mavenpomdir}/JPP.%{name}-%{name}-ant.pom %{_mavendepmapfragdir}/%{name}-ant %config(noreplace) %{_sysconfdir}/ant.d/%{name} %doc doc/JBossORG-EULA.txt doc/copyright.txt doc/lgpl.html %files maven %{_javadir}/%{name}/%{name}-maven.jar %{_mavenpomdir}/JPP.%{name}-%{name}-maven.pom %{_mavendepmapfragdir}/%{name}-maven %doc doc/JBossORG-EULA.txt doc/copyright.txt doc/lgpl.html %files tools %{_javadir}/%{name}/%{name}-tools.jar %{_mavenpomdir}/JPP.%{name}-%{name}-tools.pom %{_mavendepmapfragdir}/%{name}-tools %doc doc/JBossORG-EULA.txt doc/copyright.txt doc/lgpl.html %files javadoc %{_javadocdir}/%{name} %doc doc/JBossORG-EULA.txt doc/copyright.txt doc/lgpl.html %changelog * Wed Sep 25 2013 gil cattaneo 1.2.0-0.1.Beta2 - update to 1.2.0.Beta2 * Tue Sep 24 2013 gil cattaneo 1.1.2-1 - initial rpm