tycho/tycho.spec

341 lines
13 KiB
RPMSpec
Raw Normal View History

2012-10-04 21:08:24 +00:00
%global bootstrap 0
2012-09-24 21:06:48 +00:00
%global sha d7f8850f746dd72e0a97c1fdf32c06ce794fb83d
2012-02-16 18:34:39 +00:00
2012-02-09 19:25:34 +00:00
%if %{bootstrap}
2012-02-16 18:34:39 +00:00
%global snap %{nil}
2012-08-07 14:44:21 +00:00
%else
%global snap -SNAPSHOT
2012-02-09 19:25:34 +00:00
%endif
%define __find_requires %{nil}
2011-05-06 10:38:49 +00:00
Name: tycho
2012-08-07 14:44:21 +00:00
Version: 0.16.0
2012-10-04 21:08:24 +00:00
Release: 9.d7f885%{?dist}
2011-05-06 10:38:49 +00:00
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/
2012-08-07 14:44:21 +00:00
Source0: http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/snapshot/org.eclipse.tycho-%{sha}.tar.bz2
2011-05-06 10:38:49 +00:00
# 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
Source3: copy-platform-all
Patch0: %{name}-fix-build.patch
2012-09-24 21:06:48 +00:00
# Upstream builds against maven-surefire 2.12.3
Patch1: %{name}-maven-surefire.patch
Patch2: %{name}-fix-surefire.patch
Patch3: %{name}-use-custom-resolver.patch
2012-02-16 18:34:39 +00:00
# Set some temporary build version so that the bootstrapped build has
# a different version from the nonbootstrapped. Otherwise there will
# be cyclic dependencies.
Patch4: %{name}-bootstrap.patch
2011-05-06 10:38:49 +00:00
BuildArch: noarch
2011-05-06 10:38:49 +00:00
BuildRequires: jpackage-utils
BuildRequires: java-devel
BuildRequires: maven
2012-08-07 14:44:21 +00:00
BuildRequires: maven-clean-plugin
2011-05-06 10:38:49 +00:00
BuildRequires: maven-compiler-plugin
2012-02-09 19:25:34 +00:00
BuildRequires: maven-dependency-plugin
2011-05-06 10:38:49 +00:00
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
2012-02-09 19:25:34 +00:00
BuildRequires: maven-surefire-provider-junit
BuildRequires: maven-surefire-provider-junit4
2012-02-16 18:34:39 +00:00
BuildRequires: maven-verifier-plugin
BuildRequires: objectweb-asm4
2011-05-06 10:38:49 +00:00
BuildRequires: plexus-containers-component-metadata
BuildRequires: eclipse-jdt
BuildRequires: decentxml
BuildRequires: %{name}
2011-05-06 10:38:49 +00:00
Requires: jpackage-utils
Requires: decentxml
Requires: maven
2012-08-07 17:11:57 +00:00
Requires: maven-clean-plugin
2012-06-12 15:06:31 +00:00
Requires: maven-dependency-plugin
Requires: maven-shared-verifier
Requires: maven-surefire-provider-junit4
Requires: objectweb-asm4
#Requires: eclipse-jdt
2011-05-06 10:38:49 +00:00
%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
2012-08-07 14:44:21 +00:00
%setup -q -n org.eclipse.tycho-%{sha}
2011-10-14 21:07:43 +00:00
2012-06-12 15:06:31 +00:00
%patch0 -p1
%patch1 -p1
2012-06-12 15:06:31 +00:00
%patch2 -p1
%patch3 -p1
%if %{bootstrap}
2012-08-07 14:44:21 +00:00
%patch4 -p1
2012-02-09 19:25:34 +00:00
%endif
2011-05-06 10:38:49 +00:00
2012-02-09 19:25:34 +00:00
find tycho-core -iname '*html' -delete
2011-05-06 10:38:49 +00:00
# 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
2011-10-14 21:07:43 +00:00
%build
2012-02-16 18:34:39 +00:00
export MAVEN_OPTS="$MAVEN_OPTS -XX:MaxPermSize=256m"
2012-09-24 21:06:48 +00:00
mvn-rpmbuild -Dmaven.local.depmap.file=%{SOURCE2} -DskipTychoVersionCheck -Dmaven.test.skip=true install javadoc:aggregate
2011-05-06 10:38:49 +00:00
%install
mkdir -p $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
# pom and jar installation
2011-10-14 21:07:43 +00:00
for mod in target-platform-configuration tycho-compiler-{jdt,plugin} \
2012-08-07 14:44:21 +00:00
tycho-{artifactcomparator,core,embedder-api,metadata-model,testing-harness} \
sisu-equinox/sisu-equinox{-api,-launching,-embedder} \
tycho-p2/tycho-p2-{facade,plugin,{director,publisher,repository}-plugin} \
tycho-{maven,packaging,pomgenerator,release/tycho-versions,source}-plugin \
2012-02-09 19:25:34 +00:00
tycho-bundles/org* \
2012-08-07 14:44:21 +00:00
tycho-surefire/{tycho-surefire-plugin,org.eclipse.tycho.surefire.{osgibooter,junit,junit4{,7}}}; do
2011-05-06 10:38:49 +00:00
echo $mod
aid=`basename $mod`
install -pm 644 $mod/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$aid.pom
2012-02-09 19:25:34 +00:00
install -m 644 $mod/target/$aid-%{version}%{snap}.jar %{buildroot}%{_javadir}/%{name}/$aid.jar
%add_maven_depmap JPP.%{name}-$aid.pom %{name}/$aid.jar -a "org.eclipse.tycho:$aid,org.sonatype.tycho:$aid"
2011-05-06 10:38:49 +00:00
done
# pom installation
for pommod in tycho-p2 tycho-bundles tycho-surefire \
tycho-release sisu-equinox; do
2011-10-14 21:07:43 +00:00
aid=`basename $pommod`
install -pm 644 $pommod/pom.xml \
$RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$aid.pom
%add_maven_depmap JPP.%{name}-$aid.pom -a "org.eclipse.tycho:$aid,org.sonatype.tycho:$aid"
2011-05-06 10:38:49 +00:00
done
# p2 runtime
2012-02-16 18:34:39 +00:00
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 $RPM_BUILD_ROOT%{_javadir}/%{name}/tycho-bundles-external.zip
%add_maven_depmap JPP.%{name}-tycho-bundles-external.pom %{name}/tycho-bundles-external.zip -a "org.eclipse.tycho:tycho-bundles-external,org.sonatype.tycho:tycho-bundles-external"
2011-10-14 21:07:43 +00:00
popd
# main
2011-05-06 10:38:49 +00:00
install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-main.pom
%add_maven_depmap JPP.%{name}-main.pom -a "org.eclipse.tycho:$aid,org.sonatype.tycho:$aid"
2011-05-06 10:38:49 +00:00
# standalone p2 director
pushd .m2/org/eclipse/tycho/tycho-standalone-p2-director/%{version}*/
install -m 644 tycho-standalone-p2-director-%{version}*.zip $RPM_BUILD_ROOT%{_javadir}/%{name}/tycho-standalone-p2-director.zip
install -pm 644 tycho-standalone-p2-director-%{version}*.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-tycho-standalone-p2-director.pom
popd
%add_maven_depmap JPP.%{name}-tycho-standalone-p2-director.pom tycho/tycho-standalone-p2-director.zip -a "org.eclipse.tycho:tycho-standalone-p2-director,org.sonatype.tycho:tycho-standalone-p2-director"
2011-05-06 10:38:49 +00:00
# javadoc
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
cp -pr target/site/api*/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
2011-05-06 10:38:49 +00:00
install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_javadir}/%{name}/copy-platform-all
2011-05-06 10:38:49 +00:00
%files
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/%{name}
%{_javadir}/%{name}/
%doc README.md
%files javadoc
%{_javadocdir}/%{name}
%changelog
2012-10-04 21:08:24 +00:00
* Thu Oct 4 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-9.d7f885
- Non-bootstrap build.
* Thu Oct 4 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-8.1.d7f885
- Fix Bug in overriding of BREE to JavaSE-1.6.
2012-10-03 18:36:11 +00:00
* Wed Oct 3 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-8.d7f885
- Non-bootstrap build.
2012-09-24 21:06:48 +00:00
* Wed Oct 3 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-7.1.d7f885
- Update to latest 0.16.0 SNAPSHOT.
- First attempts to build without cyclic dependency to JDT.
2012-08-27 17:45:22 +00:00
* Mon Aug 27 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-7.df2c35
- Non bootstrap-build.
* Mon Aug 27 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-6.1.df2c35
- Add BR/R on explicit dependency objectweb-asm4.
- Use consistent whitespace in specfile.
2012-08-24 16:06:49 +00:00
* Fri Aug 24 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-6.df2c35
- Non-bootstrap build.
* Thu Aug 23 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-5.1.df2c35
- Set BREE to at least JavaSE-1.6 for all eclipse packaging types.
- Remove unneeded workaround for JSR14 incompatibility of JDK 1.7.
2012-08-15 20:40:56 +00:00
* Wed Aug 15 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-5.df2c35
- Non-bootstrap build.
* Mon Aug 13 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-4.1.df2c35
- Correctly reference objectweb-asm4 and fix local mode resolution bug.
- Update spec file to honour new java packaging guidelines.
2012-08-09 17:12:33 +00:00
* Thu Aug 9 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-4.df2c35
- Non-bootstrap build.
* Thu Aug 9 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-3.1.df2c35
- Add tycho.local.keepTarget flag to bypass ignoring environments.
2012-08-09 09:05:44 +00:00
* Thu Aug 9 2012 Krzysztof Daniel <kdaniel@redhat.com> 0.16.0-3.df2c35
- Non-bootstrap build.
2012-08-09 09:02:10 +00:00
* Thu Aug 9 2012 Krzysztof Daniel <kdaniel@redhat.com> 0.16.0-2.1.df2c35
- Use recommended %%add_maven_depmap.
2012-08-09 07:28:01 +00:00
* Thu Aug 9 2012 Krzysztof Daniel <kdaniel@redhat.com> 0.16.0-2.df2c35
- Non-bootstrap build.
* Thu Aug 9 2012 Krzysztof Daniel <kdaniel@redhat.com> 0.16.0-1.2.df2c35
- Properly change bootstrap flag.
- Add some git ignores.
* Thu Aug 9 2012 Krzysztof Daniel <kdaniel@redhat.com> 0.16.0-1.1.df2c35
- Install missing tycho-standalone-p2-director.zip.
2012-08-07 14:44:21 +00:00
* Thu Aug 2 2012 Roland Grunberg <rgrunber@redhat.com> 0.16.0-1.df2c35
- Update to 0.16.0 SNAPSHOT.
2012-07-31 20:09:25 +00:00
* Tue Jul 31 2012 Roland Grunberg <rgrunber@redhat.com> 0.15.0-3
- Non-bootstrap build.
* Tue Jul 31 2012 Roland Grunberg <rgrunber@redhat.com> 0.15.0-2.1
- Ignore defined environments in local mode.
2012-07-30 18:55:15 +00:00
* Mon Jul 30 2012 Roland Grunberg <rgrunber@redhat.com> 0.15.0-2
- Non-bootstrap build.
* Mon Jul 30 2012 Roland Grunberg <rgrunber@redhat.com> 0.15.0-1.1
- Fix copy-platform-all script to properly link %%{_datadir}/eclipse jars.
2012-06-12 15:06:31 +00:00
* Thu Jul 26 2012 Roland Grunberg <rgrunber@redhat.com> 0.15.0-1
- Update to 0.15.0.
- Set BREE to at least JavaSE-1.6 for Eclipse feature bundles.
2012-07-25 15:18:50 +00:00
* Wed Jul 25 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-7
- Non-bootstrap build.
* Mon Jul 23 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-6
- Detect OSGi jars using presence of Bundle-SymbolicName entry (BZ #838513).
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-06-11 19:18:19 +00:00
* Mon Jun 11 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-5
- Non-bootstrap build.
* Tue May 29 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-4.1
- Fix Tycho Surfire to run Eclipse test bundles.
- Implement automatic creation of a system p2 repository.
- Allow building SWT fragments (BZ #380934).
2012-05-23 15:20:03 +00:00
* Wed May 23 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-4
- Non-bootstrap build.
* Thu May 17 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-3.1
- Set BREE to be at least JavaSE-1.6 for Eclipse OSGi bundles.
2012-05-16 17:53:54 +00:00
* Wed May 16 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-3
- Non-bootstrap build.
* Wed Apr 25 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-2.1
- Implement a custom resolver when running in local mode.
- Use upstream solution for BZ #372395 to fix the build.
2012-04-04 17:26:04 +00:00
* Wed Apr 4 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-2
- Non-bootstrap build.
* Tue Mar 27 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.1-1.1
- Add missing tycho-testing-harness to be packaged.
- Use %%{_eclipse_base} from eclipse-platform.
* 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.
2012-02-16 19:38:20 +00:00
* Thu Feb 16 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-4
- Non-bootstrap build.
2012-02-16 18:34:39 +00:00
* Tue Feb 14 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-3
- Update to 0.14.0 upstream tag.
2012-02-09 19:37:19 +00:00
* Thu Feb 9 2012 Roland Grunberg <rgrunber@redhat.com> 0.14.0-2
- Non-bootstrap build.
2012-02-09 19:25:34 +00:00
* 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
2011-10-14 21:07:43 +00:00
* Fri May 27 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0.12.0-0.1.a74b1717
- Update to new version do bootstrap from scratch
2011-05-06 14:48:32 +00:00
* Fri May 6 2011 Alexander Kurtakov <akurtako@redhat.com> 0.10.0-3
- Non-bootstrap build.
2011-05-06 10:38:49 +00:00
* 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