Provides: %{name}-bootstrap = %{version}-%{release}
### PLDIZED DEPENDENCIES {{{
+### BRs {{{
+BuildRequires: ant >= 1.6.5
+BuildRequires: ant-junit
+BuildRequires: antlr >= 2.7.4
+BuildRequires: ant-nodeps
+BuildRequires: java-bsh >= 1.3.0
+BuildRequires: java-commons-beanutils >= 1.7.0
+BuildRequires: java-commons-cli >= 1.0
+BuildRequires: java-commons-collections >= 3.1
+BuildRequires: java-commons-io >= 1.1
+BuildRequires: java-commons-lang >= 2.1
+BuildRequires: java-commons-logging >= 1.0.4
+BuildRequires: java-commons-validator >= 1.1.4
+BuildRequires: java-dom4j >= 1.6.1
+BuildRequires: java-gnu-regexp >= 1.1.4
+BuildRequires: java-httpunit >= 1.6
+BuildRequires: java-jdom >= 1.0
+BuildRequires: java-junit >= 3.8.2
+BuildRequires: java-oro >= 2.0.8
+BuildRequires: java-qdox >= 1.5
+BuildRequires: java-rhino >= 1.5
+BuildRequires: java-xalan >= 2.6.0
+BuildRequires: java-xerces >= 2.7.1
+BuildRequires: java-xmlunit
+BuildRequires: java-xom
+%{buildrequires_jdk}
+BuildRequires: jpackage-utils >= 0:1.7.2
BuildRequires: rpmbuild(macros) >= 1.557
+BuildRequires: sed >= 4.0
+%if %{with itests}
+BuildRequires: java-log4j >= 1.2.13
+BuildRequires: java(xml-commons-apis) >= 1.3.02
+%endif
+### }}}
+
+### Rs {{{
+Requires: ant >= 1.6.5
+Requires: antlr >= 2.7.4
+Requires: java-bsh >= 1.3.0
+Requires: java-commons-beanutils >= 1.7.0
+Requires: java-commons-cli >= 1.0
+Requires: java-commons-collections >= 3.1
+Requires: java-commons-io >= 1.1
+Requires: java-commons-lang >= 2.1
+Requires: java-commons-logging >= 1.0.4
+Requires: java-commons-validator >= 1.1.4
+Requires: java-dom4j >= 1.6.1
+Requires: java-gnu-regexp >= 1.1.4
+Requires: java-httpunit >= 1.6
+Requires: java-jdom >= 1.0
+Requires: java-junit >= 3.8.2
+Requires: java-oro >= 2.0.8
+Requires: java-qdox >= 1.5
+Requires: java-rhino >= 1.5
+Requires: java-xalan >= 2.6.0
+Requires: java-xerces >= 2.7.1
+Requires: java-xmlunit
+Requires: java-xom
+Requires(post): java-commons-cli >= 1.0
+Requires(post): java-commons-lang >= 2.1
+Requires(post): java-commons-logging >= 1.0.4
+Requires(post): java-jdom >= 1.0
+Requires(post): jpackage-utils >= 0:1.7.2
+Requires(postun): jpackage-utils >= 0:1.7.2
+### }}}
### END OF PLDIZED DEPENDENCIES }}}
-### OLD JPP DEPENDENCIES {{{
-BuildRequires: java-devel
-BuildRequires: jpackage-utils >= 0:1.7.2
-BuildRequires: /bin/ls,/usr/bin/head,/usr/bin/find,/usr/bin/awk,/bin/grep,/bin/sed
+### DEPENDENCIES NOT PACKAGED FOR PLD {{{
+BuildRequires: java-velocity >= 1.4
+Requires: velocity >= 1.4
+### }}}
-BuildRequires: ant >= 1.6.5
-BuildRequires: ant-nodeps
-BuildRequires: ant-junit
-BuildRequires: antlr >= 2.7.4
+### DEPENDENCIES THAT NEEDS INVESTIGATION {{{
+# Is java(mail) enough?
+BuildRequires: glassfish-javamail
+Requires: glassfish-javamail
+# java(servlet)?
+BuildRequires: tomcat5-servlet-2.4-api
+Requires: tomcat5-servlet-2.4-api
+# C library??? Or some java bindings?
+BuildRequires: xmlrpc
+Requires: xmlrpc
+# WTF is that?
BuildRequires: aqute-bndlib
-BuildRequires: bsh >= 1.3.0
+### }}}
+
+### OLD JPP DEPENDENCIES {{{
+### BRs {{{
#BuildRequires: cglib >= 2.1.0
BuildRequires: checkstyle4 >= 4.1
BuildRequires: checkstyle4-optional >= 4.1
BuildRequires: classworlds >= 1.1
-BuildRequires: dom4j >= 1.6.1
-#BuildRequires: tomcat5-parent
-BuildRequires: tomcat5-servlet-2.4-api
-BuildRequires: glassfish-javamail
-BuildRequires: gnu.regexp >= 1.1.4
-BuildRequires: httpunit >= 1.6
-BuildRequires: jakarta-commons-beanutils >= 1.7.0
-BuildRequires: jakarta-commons-cli >= 1.0
-BuildRequires: jakarta-commons-collections >= 3.1
-BuildRequires: jakarta-commons-io >= 1.1
-BuildRequires: jakarta-commons-lang >= 2.1
-BuildRequires: jakarta-commons-logging >= 1.0.4
-BuildRequires: jakarta-commons-validator >= 1.1.4
BuildRequires: jaxen >= 1.1
-BuildRequires: jdom >= 1.0
#BuildRequires: jmock >= 1.0.1
BuildRequires: jline >= 0.8.1
BuildRequires: jsch >= 0.1.20
BuildRequires: jtidy >= 1.0
-BuildRequires: junit >= 3.8.2
BuildRequires: maven2-common-poms >= 1.0-5
BuildRequires: maven-jxr >= 1.0-2
BuildRequires: maven-wagon >= 1.0-0.1.b2
BuildRequires: maven-doxia >= 1.0-0.a9
BuildRequires: nekohtml >= 0.9.3
-BuildRequires: oro >= 2.0.8
BuildRequires: plexus-ant-factory >= 1.0-0.a1.2
BuildRequires: plexus-bsh-factory >= 1.0-0.a7s.2
BuildRequires: plexus-archiver >= 1.0-0.1.a8
BuildRequires: plexus-utils >= 1.2
BuildRequires: plexus-velocity >= 1.1.2
BuildRequires: pmd >= 3.6
-BuildRequires: qdox >= 1.5
-BuildRequires: rhino >= 1.5
BuildRequires: saxon-scripts
BuildRequires: saxpath
-BuildRequires: velocity >= 1.4
-BuildRequires: xerces-j2 >= 2.7.1
-BuildRequires: xalan-j2 >= 2.6.0
-BuildRequires: xmlrpc
-BuildRequires: xmlunit
-BuildRequires: xom
-
-%if %{with itests}
-BuildRequires: log4j >= 1.2.13
-BuildRequires: xml-commons-apis >= 1.3.02
-%endif
%if %{without bootstrap}
BuildRequires: %{name} = %{version}
BuildRequires: plexus-mail-sender
BuildRequires: plexus-resources
%endif
+# }}}
-Requires: ant >= 1.6.5
-Requires: antlr >= 2.7.4
+### Rs {{{
Requires: aqute-bndlib
-Requires: bsh >= 1.3.0
#Requires: cglib >= 2.1.0
Requires: checkstyle4 >= 4.1
Requires: classworlds >= 1.
Requires(post): classworlds >= 1.1
-Requires: dom4j >= 1.6.1
#Requires: tomcat5-parent
-Requires: tomcat5-servlet-2.4-api
-Requires: glassfish-javamail
-Requires: gnu.regexp >= 1.1.4
-Requires: httpunit >= 1.6
-Requires: jakarta-commons-beanutils >= 1.7.0
-Requires: jakarta-commons-cli >= 1.0
-Requires(post): jakarta-commons-cli >= 1.0
-Requires: jakarta-commons-collections >= 3.1
-Requires: jakarta-commons-io >= 1.1
-Requires: jakarta-commons-lang >= 2.1
-Requires(post): jakarta-commons-lang >= 2.1
-Requires: jakarta-commons-logging >= 1.0.4
-Requires(post): jakarta-commons-logging >= 1.0.4
-Requires: jakarta-commons-validator >= 1.1.4
Requires: jaxen >= 1.1
-Requires: jdom >= 1.0
-Requires(post): jdom >= 1.0
#Requires: jmock >= 1.0.1
Requires: jline >= 0.8.1
Requires: jsch >= 0.1.20
Requires(post): jsch >= 0.1.20
Requires: jtidy >= 1.0
-Requires: junit >= 3.8.2
Requires: maven2-common-poms >= 1.0-5
Requires: maven-jxr >= 1.0
Requires: maven-wagon >= 1.0-0.1.b2
Requires(post): maven-wagon >= 1.0-0.1.b2
Requires: nekohtml >= 0.9.3
-Requires: oro >= 2.0.8
Requires: plexus-ant-factory >= 1.0-0.a1.2
Requires: plexus-bsh-factory >= 1.0-0.a7s.2
Requires: plexus-archiver >= 1.0-0.a6
Requires(post): plexus-utils >= 1.2
Requires: plexus-velocity >= 1.1.2
Requires: pmd >= 3.6
-Requires: qdox >= 1.5
-Requires: rhino >= 1.5
-Requires: velocity >= 1.4
-Requires: xerces-j2 >= 2.7.1
-Requires: xalan-j2 >= 2.6.0
-Requires: xmlrpc
-Requires: xmlunit
-Requires: xom
+### Bootstrap {{{
%if %{without bootstrap}
Requires: %{name} = %{version}
Requires: maven-doxia >= 1.0-0.a9
Requires: modello >= 1.0-0.a8.3
Requires: modello-maven-plugin >= 1.0-0.a8.3
%endif
+### }}}
-Obsoletes: maven2-plugin-jxr <= 0:2.0.4
-Obsoletes: maven2-plugin-surefire <= 0:2.0.4
-Obsoletes: maven2-plugin-surefire-report <= 0:2.0.4
-Obsoletes: maven2-plugin-release <= 0:2.0.4
-Obsoletes: maven2-plugin-enforcer < %{version}-%{release}
-
-Requires(post): jpackage-utils >= 0:1.7.2
-Requires(postun): jpackage-utils >= 0:1.7.2, /bin/rmdir
+### }}}
### END OF OLD JPP DEPENDENCIES }}}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
# has several bugs
rm -rf maven2-plugins/maven-javadoc-plugin
rm -rf maven2-plugins/maven-enforcer-plugin
-pushd maven2-plugins
-tar xzf %{SOURCE22}
-popd
+tar xzf %{SOURCE22} -C maven2-plugins
# Use an older version of site plugin because newer one requires newer doxia
# (1.0a8) which is not compatible with the older one (1.0a7) which is needed
export MAVEN_OPTS="$MAVEN_OPTS -Dmaven2.jpp.default.repo=%{_datadir}/%{name}/repository"
%endif
-# pushd maven2/ ...
-pushd %{name} >& /dev/null
+cd %{name} # {{{
[ -z "$JAVA_HOME" ] && JAVA_HOME=%{_jvmdir}/java
export JAVA_HOME
./bootstrap.sh --prefix=`pwd`/home --settings=%{maven_settings_file}
unset CLASSPATH
-popd >& /dev/null
+cd - # cd %{name} }}}
# Update the classworlds jar name in the mvn script
sed -i -e s:"/core/boot/classworlds-\*.jar":/core/boot/classworlds\*.jar:g $M2_HOME/bin/mvn
%endif
# Build plugins
-pushd maven2-plugins >& /dev/null
+cd maven2-plugins # {{{
# Build the plugin-plugin first, as it is needed to build itself later on
# NOTE: Build of this plugin for the first time is expected to cause errors.
$M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -Dmaven.test.skip=true -npu --no-plugin-registry verify
$M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -Dmaven.test.skip=true -npu --no-plugin-registry --fail-at-end jar:jar install:install
-popd >& /dev/null
+cd - # }}}
%if %{without bootstrap}
# Build model-all JAR (for model-v3 classes)
-pushd maven2/maven-model >& /dev/null
+cd maven2/maven-model # {{{
$M2_HOME/bin/mvn -e -s %{maven_settings_file} $MAVEN_OPTS -P all-models package
-popd >& /dev/null
+cd - # }}}
%endif
# Build complete. Run it tests.
)
for i in `find integration-tests/maven-core-it-support -name pom.xml`; do
- pushd `dirname $i`
+ cd `dirname $i` # {{{
$M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS org.apache.maven.plugins:maven-plugin-plugin:2.1.1-SNAPSHOT::descriptor org.apache.maven.plugins:maven-resources-plugin:2.2-SNAPSHOT:resources org.apache.maven.plugins:maven-compiler-plugin:2.1-SNAPSHOT:compile org.apache.maven.plugins:maven-jar-plugin:2.1-SNAPSHOT:jar org.apache.maven.plugins:maven-install-plugin:2.2-SNAPSHOT:install
- popd
+ cd - # }}}
done
# Test 41 expects core-it-support 1.2 to be packed as a coreit-artifact
continue
fi
- pushd $dir
+ cd $dir # {{{
$M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS -Dmaven2.usejppjars org.apache.maven.plugins:maven-javadoc-plugin:2.3-SNAPSHOT:javadoc
- popd
+ cd - # }}}
done
)
(cd maven2-plugins
continue
fi
- pushd $dir
+ cd $dir # {{{
$M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS -Dmaven2.usejppjars org.apache.maven.plugins:maven-javadoc-plugin:2.3-SNAPSHOT:javadoc
- popd
+ cd - # }}}
done
)
# Install component poms and jars
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/poms
-pushd %{name}
+cd %{name} # {{{
for project in maven-artifact \
maven-artifact-manager \
maven-artifact-test \
%endif
done
-popd
+cd - # }}}
# reporting api
cp -p %{name}/maven-reporting/maven-reporting-api/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-reporting-api.pom
# plugins
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/
-pushd maven2-plugins
+cd maven2-plugins # {{{
for targetdir in `find -mindepth 2 -maxdepth 2 -type d -name target`; do
# Find the version version
%add_to_maven_depmap org.apache.maven.plugins $pluginname $pluginversion JPP/%{name}/plugins $artifactname
done
-popd
+cd - # }}}
# g=org.apache.maven.plugins a=maven-plugins needs to be copied manually, as
# it get's changed to a=plugins (a=plugins and a=maven-plugins is the same