6ac9cc0acf
- Allow building against maven-surefire 2.12 (instead of 2.10).
234 lines
8.1 KiB
RPMSpec
234 lines
8.1 KiB
RPMSpec
%global bootstrap 0
|
|
|
|
%global eclipsedir %{_libdir}/eclipse
|
|
|
|
%if %{bootstrap}
|
|
%global snap -SNAPSHOT
|
|
%else
|
|
%global snap %{nil}
|
|
%endif
|
|
|
|
Name: tycho
|
|
Version: 0.14.1
|
|
Release: 1%{?dist}
|
|
Summary: Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven
|
|
|
|
Group: Development/Libraries
|
|
# license file is missing but all files having some licensing information are ASL 2.0
|
|
License: ASL 2.0
|
|
URL: http://tycho.sonatype.org/
|
|
# http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/snapshot/tycho-0.14.x.tar.bz2
|
|
Source0: %{name}-0.14.x.tar.bz2
|
|
|
|
# this is a workaround for maven-plugin-plugin changes that happened after
|
|
# version 2.4.3 (impossible to have empty mojo created as aggregate). This
|
|
# should be fixed upstream properly
|
|
Source1: EmptyMojo.java
|
|
|
|
# we need to make sure we are using maven 3 deps
|
|
Source2: depmap.xml
|
|
%if %{bootstrap}
|
|
Source3: maven-repo.tar.xz
|
|
%endif
|
|
Patch0: %{name}-fix-build.patch
|
|
%if %{bootstrap}
|
|
# Set some temporary build version so that the bootstrapped build has
|
|
# a different version from the nonbootstrapped. Otherwise there will
|
|
# be cyclic dependencies.
|
|
Patch1: %{name}-%{version}-bootstrap.patch
|
|
%endif
|
|
# Upstream builds against maven-surefire 2.10 but in rawhide we have 2.12
|
|
Patch2: %{name}-maven-surefire.patch
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: jpackage-utils
|
|
BuildRequires: java-devel
|
|
BuildRequires: maven
|
|
BuildRequires: maven-compiler-plugin
|
|
BuildRequires: maven-dependency-plugin
|
|
BuildRequires: maven-install-plugin
|
|
BuildRequires: maven-jar-plugin
|
|
BuildRequires: maven-javadoc-plugin
|
|
BuildRequires: maven-release-plugin
|
|
BuildRequires: maven-resources-plugin
|
|
BuildRequires: maven-shared-verifier
|
|
BuildRequires: maven-shared-osgi
|
|
BuildRequires: maven-surefire-plugin
|
|
BuildRequires: maven-surefire-provider-junit
|
|
BuildRequires: maven-surefire-provider-junit4
|
|
BuildRequires: maven-verifier-plugin
|
|
BuildRequires: plexus-containers-component-metadata
|
|
BuildRequires: eclipse-jdt
|
|
BuildRequires: decentxml
|
|
%if ! %{bootstrap}
|
|
BuildRequires: tycho
|
|
%endif
|
|
|
|
Requires: jpackage-utils
|
|
Requires: decentxml
|
|
Requires: maven
|
|
Requires: eclipse-jdt
|
|
|
|
Requires(post): jpackage-utils
|
|
Requires(postun): jpackage-utils
|
|
|
|
|
|
%description
|
|
Tycho is a set of Maven plugins and extensions for building Eclipse
|
|
plugins and OSGI bundles with Maven. Eclipse plugins and OSGI bundles
|
|
have their own metadata for expressing dependencies, source folder
|
|
locations, etc. that are normally found in a Maven POM. Tycho uses
|
|
native metadata for Eclipse plugins and OSGi bundles and uses the POM
|
|
to configure and drive the build. Tycho supports bundles, fragments,
|
|
features, update site projects and RCP applications. Tycho also knows
|
|
how to run JUnit test plugins using OSGi runtime and there is also
|
|
support for sharing build results using Maven artifact repositories.
|
|
|
|
Tycho plugins introduce new packaging types and the corresponding
|
|
lifecycle bindings that allow Maven to use OSGi and Eclipse metadata
|
|
during a Maven build. OSGi rules are used to resolve project
|
|
dependencies and package visibility restrictions are honored by the
|
|
OSGi-aware JDT-based compiler plugin. Tycho will use OSGi metadata and
|
|
OSGi rules to calculate project dependencies dynamically and injects
|
|
them into the Maven project model at build time. Tycho supports all
|
|
attributes supported by the Eclipse OSGi resolver (Require-Bundle,
|
|
Import-Package, Eclipse-GenericRequire, etc). Tycho will use proper
|
|
classpath access rules during compilation. Tycho supports all project
|
|
types supported by PDE and will use PDE/JDT project metadata where
|
|
possible. One important design goal in Tycho is to make sure there is
|
|
no duplication of metadata between POM and OSGi metadata.
|
|
|
|
|
|
|
|
%package javadoc
|
|
Summary: Javadocs for %{name}
|
|
Group: Documentation
|
|
Requires: jpackage-utils
|
|
|
|
%description javadoc
|
|
This package contains the API documentation for %{name}.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-0.14.x
|
|
|
|
%patch0 -p2
|
|
%if %{bootstrap}
|
|
%patch1 -p1
|
|
%endif
|
|
%patch2 -p2
|
|
|
|
find tycho-core -iname '*html' -delete
|
|
|
|
# place empty mojo in place
|
|
mkdir -p tycho-maven-plugin/src/main/java/org/fedoraproject
|
|
pushd tycho-maven-plugin/src/main/java/org/fedoraproject
|
|
cp %{SOURCE1} .
|
|
popd
|
|
|
|
%if %{bootstrap}
|
|
tar xf %{SOURCE3}
|
|
%endif
|
|
|
|
%build
|
|
export MAVEN_OPTS="$MAVEN_OPTS -XX:MaxPermSize=256m"
|
|
export TYCHO_TARGET_PLATFORM=%{eclipsedir}
|
|
mvn-rpmbuild -Dmaven.local.debug=true -X -Dmaven.test.skip=true \
|
|
-Dmaven.local.depmap.file=%{SOURCE2} \
|
|
-Dtycho.targetPlatform=$TYCHO_TARGET_PLATFORM install javadoc:aggregate
|
|
|
|
%install
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_javadir}/%{name}
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
|
|
for mod in target-platform-configuration tycho-compiler-{jdt,plugin} \
|
|
tycho-{core,embedder-api} \
|
|
sisu-equinox/sisu-equinox{-api,-launching,-embedder} \
|
|
tycho-{metadata-model,p2/tycho-p2-{director-plugin,facade,plugin,{publisher,repository}-plugin}} \
|
|
tycho-{maven,packaging,pomgenerator,source}-plugin tycho-release/tycho-versions-plugin \
|
|
tycho-bundles/org* \
|
|
tycho-surefire/{tycho-surefire-plugin,org.eclipse.tycho.surefire.{osgibooter,junit,junit4}}; do
|
|
echo $mod
|
|
aid=`basename $mod`
|
|
install -pm 644 $mod/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$aid.pom
|
|
install -m 644 $mod/target/$aid-%{version}%{snap}.jar %{buildroot}%{_javadir}/%{name}/$aid.jar
|
|
%add_to_maven_depmap org.eclipse.tycho $aid %{version} JPP/%{name} $aid
|
|
%add_to_maven_depmap org.sonatype.tycho $aid %{version} JPP/%{name} $aid
|
|
done
|
|
|
|
for pommod in tycho-p2 tycho-bundles{,/org.eclipse.tycho.p2.resolver.impl} \
|
|
tycho-surefire tycho-release \
|
|
sisu-equinox \
|
|
;do
|
|
aid=`basename $pommod`
|
|
install -pm 644 $pommod/pom.xml \
|
|
$RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$aid.pom
|
|
%add_to_maven_depmap org.eclipse.tycho $aid %{version} JPP/%{name} $aid
|
|
%add_to_maven_depmap org.sonatype.tycho $aid %{version} JPP/%{name} $aid
|
|
done
|
|
|
|
# runtime
|
|
pushd tycho-bundles/tycho-bundles-external
|
|
install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-tycho-bundles-external.pom
|
|
install -m 644 target/tycho-bundles-external-%{version}*.zip %{buildroot}%{_javadir}/%{name}/tycho-bundles-external.zip
|
|
%add_to_maven_depmap org.eclipse.tycho tycho-bundles-external %{version} JPP/%{name} tycho-bundles-external
|
|
%add_to_maven_depmap org.sonatype.tycho tycho-bundles-external %{version} JPP/%{name} tycho-bundles-external
|
|
popd
|
|
|
|
install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-main.pom
|
|
%add_to_maven_depmap org.eclipse.tycho %{name} %{version} JPP/%{name} main
|
|
%add_to_maven_depmap org.sonatype.tycho %{name} %{version} JPP/%{name} main
|
|
|
|
# javadoc
|
|
install -dm 755 %{buildroot}%{_javadocdir}/%{name}
|
|
cp -pr target/site/api*/* %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
|
|
%post
|
|
%update_maven_depmap
|
|
|
|
%postun
|
|
%update_maven_depmap
|
|
|
|
%files
|
|
%{_mavenpomdir}/*
|
|
%{_mavendepmapfragdir}/%{name}
|
|
%{_javadir}/%{name}/
|
|
%doc README.md
|
|
|
|
%files javadoc
|
|
%{_javadocdir}/%{name}
|
|
|
|
%changelog
|
|
* Fri Mar 9 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-1
|
|
- Update to 0.14.1 upstream tag.
|
|
- Allow building against maven-surefire 2.12 (instead of 2.10).
|
|
- Stop symlinking o.e.osgi and o.e.jdt.core into the m2 cache.
|
|
|
|
* Thu Feb 16 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-4
|
|
- Non-bootstrap build.
|
|
|
|
* Tue Feb 14 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-3
|
|
- Update to 0.14.0 upstream tag.
|
|
|
|
* Thu Feb 9 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-2
|
|
- Non-bootstrap build.
|
|
|
|
* Wed Feb 01 2012 Roland Grunberg <rgrunber@redhat.com> - 0.14.0-1
|
|
- Update to 0.14.0.
|
|
|
|
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
|
* Fri May 27 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0.12.0-0.1.a74b1717
|
|
- Update to new version do bootstrap from scratch
|
|
|
|
* Fri May 6 2011 Alexander Kurtakov <akurtako@redhat.com> 0.10.0-3
|
|
- Non-bootstrap build.
|
|
|
|
* Tue May 3 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0.10.0-2
|
|
- Add README and make build more silent
|
|
|
|
* Tue Mar 29 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0.10.0-1
|
|
- First bootstrapped version
|