commit 55dfddf3afbba101c2f51c8eedfcd02edaef5db2
Author: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
Date: Fri May 6 12:38:49 2011 +0200
Initial commit
.gitignore | 2 +
0001-Remove-tycho-testing-harness.patch | 192 ++++++++++++++++++++++++++++
EmptyMojo.java | 19 +++
depmap.xml | 64 ++++++++++
sources | 2 +
tycho.spec | 209 +++++++++++++++++++++++++++++++
6 files changed, 488 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..37c1546 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/maven-repo.tar.bz2
+/tycho-0.10.0.tar.xz
diff --git a/0001-Remove-tycho-testing-harness.patch
b/0001-Remove-tycho-testing-harness.patch
new file mode 100644
index 0000000..3433932
--- /dev/null
+++ b/0001-Remove-tycho-testing-harness.patch
@@ -0,0 +1,192 @@
+From 1fc5ec4dcccd0951860f9db6f485fd3c00a4a684 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
+Date: Tue, 29 Mar 2011 17:58:43 +0200
+Subject: [PATCH] Remove tycho-testing-harness
+
+It needs maven2 parts to build, but we need depmap for other parts of tycho.
+Thus we disable it for now and this is not a big deal because we are not
+running tests anyway (yet).
+---
+ maven-osgi-compiler-plugin/pom.xml | 10 ++++------
+ maven-osgi-packaging-plugin/pom.xml | 10 ++++------
+ maven-tycho-plugin/pom.xml | 6 ------
+ pom.xml | 1 -
+ tycho-osgi-components/pom.xml | 10 ++++------
+ tycho-p2/tycho-p2-director-plugin/pom.xml | 6 ------
+ tycho-p2/tycho-p2-publisher-plugin/pom.xml | 6 ------
+ tycho-release/tycho-versions-plugin/pom.xml | 8 +-------
+ 8 files changed, 13 insertions(+), 44 deletions(-)
+
+diff --git a/maven-osgi-compiler-plugin/pom.xml b/maven-osgi-compiler-plugin/pom.xml
+index 6e55905..9d0979a 100644
+--- a/maven-osgi-compiler-plugin/pom.xml
++++ b/maven-osgi-compiler-plugin/pom.xml
+@@ -64,18 +64,16 @@
+ <artifactId>tycho-compiler-jdt</artifactId>
+ <version>${project.version}</version>
+ </dependency>
++ <dependency>
++ <groupId>org.apache.maven</groupId>
++ <artifactId>maven-artifact</artifactId>
++ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugin-testing</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <scope>test</scope>
+ </dependency>
+- <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+ </dependencies>
+
+ </project>
+diff --git a/maven-osgi-packaging-plugin/pom.xml b/maven-osgi-packaging-plugin/pom.xml
+index d7faeac..7fc5e5a 100644
+--- a/maven-osgi-packaging-plugin/pom.xml
++++ b/maven-osgi-packaging-plugin/pom.xml
+@@ -24,12 +24,6 @@
+ <artifactId>tycho-equinox</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+- <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+
+ <dependency>
+ <groupId>commons-lang</groupId>
+@@ -41,6 +35,10 @@
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
++ <artifactId>maven-artifact</artifactId>
++ </dependency>
++ <dependency>
++ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ </dependency>
+ <dependency>
+diff --git a/maven-tycho-plugin/pom.xml b/maven-tycho-plugin/pom.xml
+index 5f6c55e..af1ea97 100644
+--- a/maven-tycho-plugin/pom.xml
++++ b/maven-tycho-plugin/pom.xml
+@@ -65,12 +65,6 @@
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <scope>test</scope>
+ </dependency>
+- <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+ </dependencies>
+
+ </project>
+diff --git a/pom.xml b/pom.xml
+index 7197d73..14cce0b 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -509,7 +509,6 @@
+ <module>tycho-equinox</module>
+ <module>tycho-bootstrap-maven-plugin</module>
+ <module>tycho-osgi-components</module>
+- <module>tycho-testing-harness</module>
+
+ </modules>
+ </profile>
+diff --git a/tycho-osgi-components/pom.xml b/tycho-osgi-components/pom.xml
+index 8967ed4..1bb9d77 100644
+--- a/tycho-osgi-components/pom.xml
++++ b/tycho-osgi-components/pom.xml
+@@ -50,6 +50,10 @@
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
++ <artifactId>maven-artifact</artifactId>
++ </dependency>
++ <dependency>
++ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ </dependency>
+ <dependency>
+@@ -76,12 +80,6 @@
+ </dependency>
+
+ <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+- <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>3.0</version>
+diff --git a/tycho-p2/tycho-p2-director-plugin/pom.xml
b/tycho-p2/tycho-p2-director-plugin/pom.xml
+index 5340831..85357dc 100644
+--- a/tycho-p2/tycho-p2-director-plugin/pom.xml
++++ b/tycho-p2/tycho-p2-director-plugin/pom.xml
+@@ -41,12 +41,6 @@
+ </dependency>
+
+ <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+- <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>3.0</version>
+diff --git a/tycho-p2/tycho-p2-publisher-plugin/pom.xml
b/tycho-p2/tycho-p2-publisher-plugin/pom.xml
+index f736ff1..ee2fb63 100644
+--- a/tycho-p2/tycho-p2-publisher-plugin/pom.xml
++++ b/tycho-p2/tycho-p2-publisher-plugin/pom.xml
+@@ -37,12 +37,6 @@
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+- <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-booter</artifactId>
+ </dependency>
+diff --git a/tycho-release/tycho-versions-plugin/pom.xml
b/tycho-release/tycho-versions-plugin/pom.xml
+index 24a0275..e9274a8 100644
+--- a/tycho-release/tycho-versions-plugin/pom.xml
++++ b/tycho-release/tycho-versions-plugin/pom.xml
+@@ -28,12 +28,6 @@
+ <version>${project.version}</version>
+ </dependency>
+
+- <dependency>
+- <groupId>org.sonatype.tycho</groupId>
+- <artifactId>tycho-testing-harness</artifactId>
+- <version>${project.version}</version>
+- <scope>test</scope>
+- </dependency>
+
+ </dependencies>
+
+@@ -46,4 +40,4 @@
+ </plugins>
+ </build>
+
+-</project>
+\ No newline at end of file
++</project>
+--
+1.7.4
+
diff --git a/EmptyMojo.java b/EmptyMojo.java
new file mode 100644
index 0000000..84d970f
--- /dev/null
+++ b/EmptyMojo.java
@@ -0,0 +1,19 @@
+package org.fedoraproject;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.AbstractMojo;
+
+/**
+ * Empty goal to fix
+ * @goal empty
+ * @phase clean
+ */
+public class EmptyMojo
+ extends AbstractMojo
+{
+ public void execute()
+ throws MojoExecutionException, MojoFailureException
+ {
+ }
+}
diff --git a/depmap.xml b/depmap.xml
new file mode 100644
index 0000000..fa4dfb0
--- /dev/null
+++ b/depmap.xml
@@ -0,0 +1,64 @@
+<dependencies>
+<dependency>
+ <maven>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>3.0.3</version>
+ </maven>
+ <jpp>
+ <groupId>JPP/maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>3.0.3</version>
+ </jpp>
+</dependency>
+<dependency>
+ <maven>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.0.3</version>
+ </maven>
+ <jpp>
+ <groupId>JPP/maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.0.3</version>
+ </jpp>
+</dependency>
+<dependency>
+ <maven>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>3.0.3</version>
+ </maven>
+ <jpp>
+ <groupId>JPP/maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>3.0.3</version>
+ </jpp>
+</dependency>
+<dependency>
+ <maven>
+ <groupId>org.sonatype.tycho</groupId>
+ <artifactId>org.eclipse.jdt.core</artifactId>
+ <version>3.6.0</version>
+ </maven>
+ <jpp>
+ <groupId>JPP</groupId>
+ <artifactId>jdt-core</artifactId>
+ <version>3.6.0</version>
+ </jpp>
+</dependency>
+<dependency>
+ <maven>
+ <groupId>org.sonatype.tycho</groupId>
+ <artifactId>org.eclipse.osgi</artifactId>
+ <version>3.6.0</version>
+ </maven>
+ <jpp>
+ <groupId>JPP</groupId>
+ <artifactId>jdt-osgi</artifactId>
+ <version>3.6.0</version>
+ </jpp>
+</dependency>
+
+
+</dependencies>
diff --git a/sources b/sources
index e69de29..add790c 100644
--- a/sources
+++ b/sources
@@ -0,0 +1,2 @@
+feda402d0f9cc1cfd22dc11a7c85dd4c maven-repo.tar.bz2
+f2ff10d3f25941d2746c030b57a0218b tycho-0.10.0.tar.xz
diff --git a/tycho.spec b/tycho.spec
new file mode 100644
index 0000000..9887213
--- /dev/null
+++ b/tycho.spec
@@ -0,0 +1,209 @@
+%global bootstrap 1
+
+%global e_osgi org.eclipse.osgi
+%global e_osgi_v 3.6.0.v20100517
+%global e_core org.eclipse.jdt.core
+%global e_core_v 3.6.0.v_A58
+
+Name: tycho
+Version: 0.10.0
+Release: 2%{?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/
+# git clone
git://github.com/sonatype/sonatype-tycho
+# git archive --prefix="tycho-0.10.0/" --format=tar tycho-0.10.0 | xz >
tycho-0.10.0.tar.xz
+Source0: %{name}-%{version}.tar.xz
+
+# 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.bz2
+%endif
+
+Patch0: 0001-Remove-tycho-testing-harness.patch
+
+BuildArch: noarch
+
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
+BuildRequires: maven
+BuildRequires: maven-compiler-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: 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
+%patch0 -p1 -b .harness
+
+
+# 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
+mkdir -p tycho-bootstrap-maven-plugin/src/main/java/org/fedoraproject
+pushd tycho-bootstrap-maven-plugin/src/main/java/org/fedoraproject
+cp %{SOURCE1} .
+popd
+
+# remove dependency on non-existent jars from deltapack
+sed -i '/equinox.security.\(macosx\|win32\)/d' \
+ tycho-p2/tycho-p2-runtime/tycho-p2-runtime.product
+
+
+%if %{bootstrap}
+tar xf %{SOURCE3}
+%endif
+
+# prepare directories for eclipse symlinks
+mkdir -p .m2/org/sonatype/tycho
+mkdir -p .m2/org/sonatype/tycho/%{e_osgi}/%{e_osgi_v}/
+mkdir -p .m2/org/sonatype/tycho/%{e_core}/%{e_core_v}/
+
+# maven resolver doesn't know how to resolve from directories other than _javadir
+pushd .m2/org/sonatype/tycho
+ln -sf %{_libdir}/eclipse/plugins/org.eclipse.osgi_*.jar \
+ %{e_osgi}/%{e_osgi_v}/%{e_osgi}-%{e_osgi_v}.jar
+ln -sf %{_libdir}/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_*.jar \
+ %{e_core}/%{e_core_v}/%{e_core}-%{e_core_v}.jar
+popd
+
+%build
+export TYCHO_TARGET_PLATFORM=%{_libdir}/eclipse
+
+# not needed when bootstrap is 0, but we build it anyway
+mvn-rpmbuild -Dmaven.test.skip=true \
+ -Dmaven.local.depmap.file=%{SOURCE2} \
+ -Pbootstrap-1 \
+ -Dtycho.targetPlatform=$TYCHO_TARGET_PLATFORM install
+
+mvn-rpmbuild -Dmaven.test.skip=true \
+ -Dmaven.local.depmap.file=%{SOURCE2} \
+ -Pbootstrap-2 \
+ -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 maven-osgi-{compiler,packaging,source}-plugin maven-tycho-plugin \
+ target-platform-configuration tycho-bootstrap-maven-plugin \
+ tycho-compiler-jdt tycho-equinox tycho-maven-plugin \
+ tycho-osgi-components tycho-release/tycho-{enforcer-rules,versions-plugin} \
+
tycho-p2/org.sonatype.tycho.{noopsecurity,p2{,.impl,.maven.repository,.publisher}}\
+ tycho-p2/tycho-p2-{director-plugin,facade,plugin,publisher-plugin,runtime} \
+
tycho-surefire/{maven-osgi-test-plugin,org.sonatype.tycho.surefire.{junit,junit4,osgibooter}};do
+ echo $mod
+ aid=`basename $mod`
+ suff=".jar"
+ if [ "$aid" == "tycho-p2-runtime" ];then
+ suff=".zip"
+ fi
+ install -pm 644 $mod/pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$aid.pom
+ install -m 644 $mod/target/$aid-%{version}$suff
%{buildroot}%{_javadir}/%{name}/$aid$suff
+ %add_to_maven_depmap org.sonatype.tycho $aid %{version} JPP/%{name} $aid
+done
+
+for pommod in tycho-p2 tycho-surefire;do
+ install -pm 644 $pommod/pom.xml
$RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-$pommod.pom
+ %add_to_maven_depmap org.sonatype.tycho $pommod %{version} JPP/%{name} $pommod
+done
+
+install -pm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP.%{name}-main.pom
+%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
+%defattr(-,root,root,-)
+%{_mavenpomdir}/*
+%{_mavendepmapfragdir}/%{name}
+%{_javadir}/%{name}/
+%doc README.md
+
+%files javadoc
+%defattr(-,root,root,-)
+%{_javadocdir}/%{name}
+
+%changelog
+* Tue May 3 2011 Stanislav Ochotnicky <sochotnicky(a)redhat.com> - 0.10.0-2
+- Add README and make build more silent
+
+* Tue Mar 29 2011 Stanislav Ochotnicky <sochotnicky(a)redhat.com> - 0.10.0-1
+- First bootstrapped version
+
+