From 59a006aaf9dfce3191eebb11342852ddb3acac29 Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Jun 12 2018 03:48:49 +0000 Subject: Improved bootsrapping mode --- diff --git a/eclipse-mylyn.spec b/eclipse-mylyn.spec index 88e1641..26202b3 100644 --- a/eclipse-mylyn.spec +++ b/eclipse-mylyn.spec @@ -2,13 +2,13 @@ %global incubator_tag e9e79d9d73ec879d0db2b909014e6e1dce7ab806 %global parentpomversion 3.23.2-SNAPSHOT -# Set this to avoid building with subclipse support -%bcond_without subclipse +# Set this to avoid circular deps when bootstrapping +%bcond_with bootstrap Name: eclipse-mylyn Summary: Eclipse Mylyn main feature. Version: 3.23.2 -Release: 6%{?dist} +Release: 7%{?dist} License: EPL URL: http://www.eclipse.org/mylyn @@ -26,15 +26,13 @@ Patch3: %{name}-merge-incubator.patch Patch4: %{name}-bug-419133.patch Patch5: epub-docs.patch Patch6: explicit-hamcrest-use.patch -%if 0%{?fedora} >= 25 || 0%{?rhel} > 7 Patch7: rome.patch -%endif +Patch8: photon-build.patch BuildArch: noarch BuildRequires: maven-local # Deps for stage 1 wikitext build -BuildRequires: mvn(com.google.guava:guava:20.0) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) @@ -44,7 +42,6 @@ BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) BuildRequires: mvn(org.jsoup:jsoup) # Deps for stage 2 tycho build -BuildRequires: mvn(com.google.guava:guava:20.0) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-install-plugin) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) @@ -57,17 +54,19 @@ BuildRequires: mvn(org.eclipse.tycho:tycho-packaging-plugin) BuildRequires: mvn(org.eclipse.tycho:tycho-source-plugin) BuildRequires: mvn(org.eclipse.tycho:tycho-surefire-plugin) # Eclipse deps -BuildRequires: eclipse-cdt BuildRequires: eclipse-ecf-runtime BuildRequires: eclipse-emf-runtime -BuildRequires: eclipse-egit -BuildRequires: eclipse-jgit BuildRequires: eclipse-license BuildRequires: eclipse-pde +%if %{without bootstrap} +# Self dependencies BuildRequires: %{name}-docs-wikitext BuildRequires: %{name}-docs-epub -%if %{with subclipse} +# Circular dependencies +BuildRequires: eclipse-cdt BuildRequires: eclipse-subclipse +BuildRequires: eclipse-egit +BuildRequires: eclipse-jgit %endif BuildRequires: apache-commons-lang >= 2.6-6 BuildRequires: apache-commons-logging @@ -76,11 +75,7 @@ BuildRequires: ws-commons-util >= 1.0.1-21 BuildRequires: xmlrpc-client >= 3.1.3 BuildRequires: xmlrpc-common >= 3.1.3 BuildRequires: xmlrpc-server >= 3.1.3 -%if 0%{?fedora} >= 25 || 0%{?rhel} > 7 BuildRequires: rome >= 1.6 -%else -BuildRequires: rome >= 0.9-9 -%endif BuildRequires: google-gson BuildRequires: xalan-j2 BuildRequires: junit @@ -89,10 +84,8 @@ BuildRequires: objenesis BuildRequires: mockito BuildRequires: tika >= 1.17 BuildRequires: tika-parsers >= 1.17 -%if 0%{?fedora} >= 25 || 0%{?rhel} > 7 BuildRequires: jdom BuildRequires: jdom2 -%endif Requires: eclipse-platform @@ -116,6 +109,7 @@ Requires: eclipse-pde %description context-pde Mylyn Task-Focused UI extensions for PDE, Ant, Team Support and CVS. +%if %{without bootstrap} %package context-cdt Summary: Mylyn Bridge: C/C++ Development Requires: eclipse-cdt @@ -123,6 +117,7 @@ Requires: eclipse-cdt %description context-cdt Mylyn Task-Focused UI extensions for CDT. Provides focusing of C/C++ element views and editors. +%endif %package tasks-bugzilla Summary: Mylyn Tasks Connector: Bugzilla @@ -178,7 +173,7 @@ Summary: Mylyn Versions Connector: CVS %description versions-cvs Provides CVS integration for Eclipse Mylyn. -%if %{with subclipse} +%if %{without bootstrap} %package versions-subclipse Summary: Mylyn Versions Connector: SVN @@ -205,7 +200,6 @@ Summary: Mylyn SDK Requires: %{name} = %{version}-%{release} Requires: %{name}-builds = %{version}-%{release} Requires: %{name}-builds-hudson = %{version}-%{release} -Requires: %{name}-context-cdt = %{version}-%{release} Requires: %{name}-context-java = %{version}-%{release} Requires: %{name}-context-pde = %{version}-%{release} Requires: %{name}-docs-epub = %{version}-%{release} @@ -215,8 +209,9 @@ Requires: %{name}-tasks-trac = %{version}-%{release} Requires: %{name}-tasks-web = %{version}-%{release} Requires: %{name}-versions = %{version}-%{release} Requires: %{name}-versions-cvs = %{version}-%{release} +%if %{without bootstrap} +Requires: %{name}-context-cdt = %{version}-%{release} Requires: %{name}-versions-git = %{version}-%{release} -%if %{with subclipse} Requires: %{name}-versions-subclipse = %{version}-%{release} %endif @@ -242,12 +237,10 @@ tar xaf %{SOURCE7} -C org.eclipse.mylyn.tasks --strip-components=1 %patch4 %patch5 %patch6 -%if 0%{?fedora} >= 25 || 0%{?rhel} > 7 pushd org.eclipse.mylyn.tasks %patch7 -p1 popd -%endif - +%patch8 # Relax version constraint on jsoup find -name MANIFEST.MF -exec grep -l -e 'org\.jsoup' {} \; | xargs sed -i -e '/org\.jsoup/s/1.7.2/1.6.1/' @@ -261,8 +254,10 @@ rm org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/in # Add docs build back in %pom_xpath_inject "pom:modules" "org.eclipse.mylyn.docs/docs" +%if %{without bootstrap} %pom_xpath_inject "pom:modules" "org.eclipse.mylyn.docs/wikitext/ui" %pom_xpath_inject "pom:modules" "org.eclipse.mylyn.docs/epub/ui" +%endif %pom_xpath_set "pom:parent/pom:relativePath" ../../org.eclipse.mylyn/org.eclipse.mylyn-parent org.eclipse.mylyn.docs/docs # Sources from non-tycho projects are usually not available in Fedora @@ -299,13 +294,35 @@ sed -i -e '/\(gerrit\|reviews\)/d' org.eclipse.mylyn/org.eclipse.mylyn.tests/MET sed -i -e '/All\(Gerrit\|Reviews\)Tests;/d' -e 's/AllGerritTests.class,//' -e '/addTest(All\(Gerrit\|Reviews\)Tests/d' \ org.eclipse.mylyn/org.eclipse.mylyn.tests/src/org/eclipse/mylyn/tests/All*Tests.java -# Conditionally build subclipse support -%if %{without subclipse} +# Conditionally build git, subclipse and cdt support when bootstrapping +%if %{with bootstrap} +%pom_disable_module org.eclipse.mylyn.git-feature org.eclipse.mylyn.versions +%pom_disable_module org.eclipse.mylyn.git.core org.eclipse.mylyn.versions +%pom_disable_module org.eclipse.mylyn.git.ui org.eclipse.mylyn.versions +%pom_xpath_remove "includes[@id='org.eclipse.mylyn.git']" \ + org.eclipse.mylyn.versions/org.eclipse.mylyn.versions.sdk-feature/feature.xml +%pom_xpath_remove "plugin[@id='org.eclipse.mylyn.git.core.source']" \ + org.eclipse.mylyn.versions/org.eclipse.mylyn.versions.sdk-feature/feature.xml +%pom_xpath_remove "plugin[@id='org.eclipse.mylyn.git.ui.source']" \ + org.eclipse.mylyn.versions/org.eclipse.mylyn.versions.sdk-feature/feature.xml %pom_disable_module org.eclipse.mylyn.subclipse-feature org.eclipse.mylyn.versions %pom_disable_module org.eclipse.mylyn.subclipse.core org.eclipse.mylyn.versions %pom_disable_module org.eclipse.mylyn.subclipse.ui org.eclipse.mylyn.versions %pom_xpath_remove "includes[@id='org.eclipse.mylyn.subclipse']" \ org.eclipse.mylyn.versions/org.eclipse.mylyn.versions.development-feature/feature.xml +%pom_disable_module org.eclipse.mylyn.cdt-feature org.eclipse.mylyn.context +%pom_disable_module org.eclipse.mylyn.cdt.tests org.eclipse.mylyn.context +%pom_disable_module org.eclipse.mylyn.cdt.ui org.eclipse.mylyn.context +%pom_xpath_remove "plugin[@id='org.eclipse.mylyn.cdt.tests']" \ + org.eclipse.mylyn.context/org.eclipse.mylyn.context.development-feature/feature.xml +sed -i -e '/cdt.tests/d' org.eclipse.mylyn/org.eclipse.mylyn.tests/META-INF/MANIFEST.MF +sed -i -e '/AllCdtTests/d' org.eclipse.mylyn/org.eclipse.mylyn.tests/src/org/eclipse/mylyn/tests/AllNonConnectorTests.java +%pom_xpath_remove "includes[@id='org.eclipse.cdt.mylyn']" \ + org.eclipse.mylyn.context/org.eclipse.mylyn.context.sdk-feature/feature.xml +%pom_xpath_remove "plugin[@id='org.eclipse.cdt.mylyn.ui.source']" \ + org.eclipse.mylyn.context/org.eclipse.mylyn.context.sdk-feature/feature.xml +%pom_remove_dep :org.eclipse.mylyn.wikitext org.eclipse.mylyn.docs/epub/core/org.eclipse.mylyn.docs.epub.core +rm org.eclipse.mylyn.docs/epub/core/org.eclipse.mylyn.docs.epub.core/src/org/eclipse/mylyn/docs/epub/core/wikitext/MarkupToOPS.java %endif # Don't build artifacts that we don't ship @@ -321,7 +338,6 @@ sed -i -e '/All\(Gerrit\|Reviews\)Tests;/d' -e 's/AllGerritTests.class,//' -e '/ # Correct bundle names sed -i -e "s/org.hamcrest;/org.hamcrest.core;/g" `find . -name MANIFEST.MF` sed -i -e "s/org.mockito;/org.mockito.mockito-core;/g" `find . -name MANIFEST.MF` -sed -i -e "s/org.apache.ant.source;/org.apache.ant;/g" `find . -name MANIFEST.MF` # Use default buildtimestamp source %pom_remove_dep :tycho-buildtimestamp-jgit org.eclipse.mylyn/org.eclipse.mylyn-parent @@ -420,7 +436,9 @@ install %{SOURCE6} \ %files context-pde -f .mfiles-context-pde +%if %{without bootstrap} %files context-cdt -f .mfiles-context-cdt +%endif %files tasks-bugzilla -f .mfiles-tasks-bugzilla %{_datadir}/eclipse/droplets/mylyn-tasks-bugzilla/redhat-bugzilla-custom-transitions.txt @@ -431,15 +449,19 @@ install %{SOURCE6} \ %files docs-wikitext -f .mfiles-docs -f org.eclipse.mylyn.docs/wikitext/core/.mfiles-wikitext +%if %{without bootstrap} %files docs-epub -f .mfiles-docs-epub -f org.eclipse.mylyn.docs/epub/core/.mfiles-epub +%else +%files docs-epub -f org.eclipse.mylyn.docs/epub/core/.mfiles-epub +%endif %files versions -f .mfiles-versions -%files versions-git -f .mfiles-versions-git - %files versions-cvs -f .mfiles-versions-cvs -%if %{with subclipse} +%if %{without bootstrap} +%files versions-git -f .mfiles-versions-git + %files versions-subclipse -f .mfiles-versions-subclipse %endif @@ -452,6 +474,9 @@ install %{SOURCE6} \ %files tests -f .mfiles-tests %changelog +* Tue Jun 12 2018 Mat Booth - 3.23.2-7 +- Improved bootsrapping mode + * Thu May 03 2018 Mat Booth - 3.23.2-6 - Fix BZ transitions location diff --git a/photon-build.patch b/photon-build.patch new file mode 100644 index 0000000..240448b --- /dev/null +++ b/photon-build.patch @@ -0,0 +1,36 @@ +--- org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/DecoratingPatternStyledCellLabelProvider.java.orig 2018-06-12 04:31:23.566937213 +0100 ++++ org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.workbench/src/org/eclipse/mylyn/commons/workbench/DecoratingPatternStyledCellLabelProvider.java 2018-06-12 04:32:19.363721771 +0100 +@@ -34,7 +34,6 @@ + import org.eclipse.ui.IWorkbenchPreferenceConstants; + import org.eclipse.ui.PlatformUI; + import org.eclipse.ui.internal.misc.StringMatcher; +-import org.eclipse.ui.internal.misc.StringMatcher.Position; + + /** + * A decorating styled label provider that supports highlighting of substrings that match a pattern. Based on +@@ -81,25 +80,7 @@ + public StyledString getStyledText(Object element) { + StyledString styled = null; + String label = this.labelProvider.getText(element); +- if (matcher == null || label.length() == 0) { + styled = new StyledString(label); +- } else { +- styled = new StyledString(); +- int start = 0; +- int end = 0; +- int length = label.length(); +- Position position = matcher.find(label, start, length); +- while (position != null) { +- end = position.getStart(); +- styled.append(label.substring(start, end)); +- start = position.getEnd(); +- styled.append(label.substring(end, start), HIGHLIGHT_STYLE); +- position = matcher.find(label, start, length); +- } +- if (start > 0 && start < length) { +- styled.append(label.substring(start)); +- } +- } + return styled; + } +