Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37708067
en ru br
Репозитории ALT
5.1: 2.0.5-alt1_1jpp5
www.altlinux.org/Changes

Группа :: Разработка/Java
Пакет: tiles

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: /proc
BuildRequires: jpackage-compat
BuildRequires: xpp3
# Copyright (c) 2000-2008, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#


# If you don't want to build with maven, and use straight ant instead,

# give rpmbuild option '--without maven'

%define with_maven %{!?_without_maven:1}%{?_without_maven:0}
%define without_maven %{?_without_maven:1}%{!?_without_maven:0}

Name:           tiles
Version:        2.0.5
Release:        alt1_1jpp5
Epoch:          0
Summary:        Apache Tiles
License:        Apache Software License 2.0
Group:          Development/Java
URL:            http://tiles.apache.org/
Source0:        http://www.apache.org/dist/tiles/v2.0.5/tiles-2.0.5-src.tar.gz

Source1:        %{name}-build.xml
Source2:        %{name}-jpp-depmap.xml
Source3:        %{name}-settings.xml
Source4:        %{name}-autogenerated-files.tar.gz
Source5:        tiles-master-1.pom
Patch0:         %{name}-%{version}-pom.patch


BuildArch:      noarch
BuildRequires: jpackage-utils >= 0:1.7.4
BuildRequires: ant >= 0:1.6.5
BuildRequires: junit
BuildRequires: sed
%if %{with_maven}
BuildRequires: cargo-maven2-plugin
BuildRequires: maven2-common-poms
BuildRequires: maven2 >= 0:2.0.7
BuildRequires: maven2-plugin-ant
BuildRequires: maven2-plugin-antrun
BuildRequires: maven2-plugin-assembly
BuildRequires: maven2-plugin-checkstyle
BuildRequires: maven2-plugin-compiler
BuildRequires: maven2-plugin-dependency
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-javadoc
BuildRequires: maven2-plugin-jxr
BuildRequires: maven2-plugin-plugin
BuildRequires: maven2-plugin-pmd
BuildRequires: maven2-plugin-project-info-reports
BuildRequires: maven2-plugin-release
BuildRequires: maven2-plugin-resources
BuildRequires: maven2-plugin-site
BuildRequires: maven2-plugin-source
BuildRequires: maven-surefire-plugin
BuildRequires: maven2-plugin-surefire-report
BuildRequires: maven2-plugin-war
%endif
BuildRequires: easymock2
BuildRequires: freemarker
BuildRequires: jakarta-commons-digester
BuildRequires: jakarta-commons-logging
BuildRequires: jakarta-taglibs-standard
BuildRequires: jsp_2_0_api
BuildRequires: portlet_1_0_api
BuildRequires: servlet_2_4_api
BuildRequires: shale-test
BuildRequires: umlgraph

Requires: freemarker
Requires: jakarta-commons-digester
Requires: jakarta-commons-logging
Requires: jakarta-taglibs-standard
Requires: jsp_2_0_api
Requires: portlet_1_0_api
Requires: servlet_2_4_api

Requires(post): jpackage-utils >= 0:1.7.4
Requires(postun): jpackage-utils >= 0:1.7.4

%description
Apache Tiles is a templating framework built to simplify the
development of web application user interfaces. Tiles allows
authors to define page fragments which can be assembled into
a complete page at runtime. These fragments, or tiles, can
be used as simple includes in order to reduce the duplication
of common page elements or embedded within other tiles to
develop a series of reusable templates. These templates
streamline the development of a consistent look and feel
across an entire application. Tiles grew in popularity as a
component of the popular Struts framework. It has since been
extracted from Struts and is now integrated with various
frameworks, such as Struts 2 and Shale.


%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation

%description javadoc
%{summary}.

%prep
%setup -q
cp %{SOURCE1} build.xml
cp %{SOURCE3} settings.xml
%if %{without_maven}
gzip -dc %{SOURCE4} | tar xf -
%endif
sed -i -e "s|<url>__JPP_URL_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml
sed -i -e "s|<url>__JAVADIR_PLACEHOLDER__</url>|<url>file://`pwd`/external_repo</url>|g" settings.xml
sed -i -e "s|<url>__MAVENREPO_DIR_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml
%patch0 -b .sav0

%build
export JAVA_HOME=%{_jvmdir}/java-1.5.0

export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL/JPP/maven2/default_poms/
cp %{SOURCE5} .m2/repository/JPP/maven2/default_poms/org.apache.tiles-tiles-master.pom

mkdir -p $MAVEN_REPO_LOCAL/org.apache.tiles
ln -sf ../org/apache/tiles/tiles-api/%{version}/tiles-api-%{version}.jar $MAVEN_REPO_LOCAL/org.apache.tiles/tiles-api.jar
ln -sf ../org/apache/tiles/tiles-core/%{version}/tiles-core-%{version}.jar $MAVEN_REPO_LOCAL/org.apache.tiles/tiles-core.jar
ln -sf ../org/apache/tiles/tiles-jsp/%{version}/tiles-jsp-%{version}.jar $MAVEN_REPO_LOCAL/org.apache.tiles/tiles-jsp.jar

mkdir external_repo
ln -s %{_javadir} external_repo/JPP

export M2_SETTINGS=$(pwd)/settings.xml
cd src
%if %{with_maven}
   mvn-jpp \
       -e \
       -s $M2_SETTINGS \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
     install:install-file -DgroupId=xpp3 -DartifactId=xpp3_min \
               -Dversion=1.1.4c -Dpackaging=jar -Dfile=$(build-classpath xpp3)

   mvn-jpp \
       -e \
       -s $M2_SETTINGS \
       -Dmaven.test.failure.ignore=true \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
       ant:ant install javadoc:javadoc
cd assembly
   mvn-jpp \
       -e \
       -s $M2_SETTINGS \
       -Dmaven.test.failure.ignore=true \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
       assembly:assembly
%else
#[INFO] Reactor build order:
#[INFO]   Tiles 2
#[INFO]   Tiles - API
#[INFO]   Tiles - Core Library
#[INFO]   Tiles - JSP support
#[INFO]   Tiles - Apps - Test
#[INFO]   Tiles Assembly

export OPT_JAR_LIST="umlgraph"
export CLASSPATH=$(build-classpath \
commons-logging \
easymock2 \
servlet_2_4_api \
)
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd tiles-api
  ant -Dmaven.settings.offline=true -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
commons-digester \
commons-logging \
easymock2 \
portlet_1_0_api \
servlet_2_4_api \
shale/test \
)
CLASSPATH=$CLASSPATH:$(pwd)/tiles-api/target/tiles-api-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd tiles-core
  ant -Dmaven.settings.offline=true -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
commons-logging \
jsp_2_0_api \
servlet_2_4_api \
shale/test \
)
CLASSPATH=$CLASSPATH:$(pwd)/tiles-api/target/tiles-api-%{version}.jar
CLASSPATH=$CLASSPATH:$(pwd)/tiles-core/target/tiles-core-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd tiles-jsp
  ant -Dmaven.settings.offline=true -Dbuild.sysclasspath=only jar javadoc
popd
pushd tiles-test
ant \
   -Dfreemarker.jar=$(build-classpath freemarker) \
   -Djstl.jar=$(build-classpath taglibs-core) \
   -Dstandard.jar=$(build-classpath taglibs-standard) \
   -Dtiles-jsp.jar=$(pwd)/../tiles-jsp/target/tiles-jsp-%{version}.jar \
   -Dmaven.settings.offline=true -Dbuild.sysclasspath=only war
popd
%endif
for f in $(find . -name "*.dot"); do
   sed -i -e 's|/usr/local/bin/dot|/usr/bin/dot|' $f
done


%install
# jars/poms
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms

%add_to_maven_depmap org.apache.tiles %{name}-master %{version} JPP/%{name} master
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP.%{name}-master.pom

%add_to_maven_depmap org.apache.tiles %{name}-parent %{version} JPP/%{name} parent
install -m 644 src/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP.%{name}-parent.pom

install -m 644 src/%{name}-api/target/%{name}-api-%{version}.jar \
              $RPM_BUILD_ROOT%{_javadir}/%{name}/api-%{version}.jar
%add_to_maven_depmap org.apache.tiles %{name}-api %{version} JPP/%{name} api
install -m 644 src/%{name}-api/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP.%{name}-api.pom

install -m 644 src/%{name}-core/target/%{name}-core-%{version}.jar \
              $RPM_BUILD_ROOT%{_javadir}/%{name}/core-%{version}.jar
%add_to_maven_depmap org.apache.tiles %{name}-core %{version} JPP/%{name} core
install -m 644 src/%{name}-core/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP.%{name}-core.pom

install -m 644 src/%{name}-jsp/target/%{name}-jsp-%{version}.jar \
              $RPM_BUILD_ROOT%{_javadir}/%{name}/jsp-%{version}.jar
%add_to_maven_depmap org.apache.tiles %{name}-jsp %{version} JPP/%{name} jsp
install -m 644 src/%{name}-jsp/pom.xml $RPM_BUILD_ROOT/%{_datadir}/maven2/poms/JPP.%{name}-jsp.pom

(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)

# javadoc

install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/api
cp -pr src/%{name}-api/target/site/apidocs/* \
                   $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/api
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/core
cp -pr src/%{name}-core/target/site/apidocs/* \
                   $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/core
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/jsp
cp -pr src/%{name}-jsp/target/site/apidocs/* \
                   $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/jsp
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink

# test war

install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
install -m 644 src/%{name}-test/target/tiles-test.war $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%postun javadoc
if [ "$1" = "0" ]; then
 rm -f %{_javadocdir}/%{name}
fi

%files
%{_javadir}/%{name}
%{_datadir}/maven2
%{_mavendepmapfragdir}
%{_datadir}/%{name}-%{version}

%files javadoc
%doc %{_javadocdir}/%{name}-%{version}
%ghost %doc %{_javadocdir}/%{name}

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin