diff --git a/.devtoolset-3-eclipse-mylyn.metadata b/.devtoolset-3-eclipse-mylyn.metadata new file mode 100644 index 0000000..cc1287b --- /dev/null +++ b/.devtoolset-3-eclipse-mylyn.metadata @@ -0,0 +1,2 @@ +56f2c66ac80b1e4ceeeda880ad03fb0beede9ea1 SOURCES/eclipse-mylyn-R_3_12_0-fetched-src.tar.xz +c8d074ae393c43c5bfb48cf908a57a8fcfddd0bb SOURCES/eclipse-mylyn-a1a4646ea6d027e89f828a9c45bd8fa79721a90c-incubator-fetched-src.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7b52f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/eclipse-mylyn-R_3_12_0-fetched-src.tar.xz +SOURCES/eclipse-mylyn-a1a4646ea6d027e89f828a9c45bd8fa79721a90c-incubator-fetched-src.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/eclipse-mylyn-add-apache-xmlrpc.patch b/SOURCES/eclipse-mylyn-add-apache-xmlrpc.patch new file mode 100644 index 0000000..3b3afe2 --- /dev/null +++ b/SOURCES/eclipse-mylyn-add-apache-xmlrpc.patch @@ -0,0 +1,36 @@ +--- org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.xmlrpc/META-INF/MANIFEST.MF.bak 2012-07-03 14:14:58.949909557 +0200 ++++ org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.xmlrpc/META-INF/MANIFEST.MF 2012-07-03 14:10:59.000000000 +0200 +@@ -7,7 +7,8 @@ + Require-Bundle: org.eclipse.core.runtime, + org.eclipse.mylyn.commons.core;bundle-version="[3.8.0,4.0.0)", + org.eclipse.mylyn.commons.net;bundle-version="[3.8.0,4.0.0)", +- org.apache.xmlrpc;bundle-version="[3.0.0,4.0.0)" ++ org.apache.xmlrpc;bundle-version="[3.0.0,4.0.0)", ++ org.apache.xmlrpc.common + Bundle-ActivationPolicy: lazy + Export-Package: org.eclipse.mylyn.internal.commons.xmlrpc;x-internal:=true + Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF.bak 2012-07-03 14:20:13.726607170 +0200 ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/META-INF/MANIFEST.MF 2012-07-03 14:20:25.813672358 +0200 +@@ -10,7 +10,8 @@ + org.eclipse.mylyn.commons.core;bundle-version="[3.8.0,4.0.0)", + org.eclipse.core.net, + org.eclipse.mylyn.commons.xmlrpc;bundle-version="[3.8.0,4.0.0)", +- org.apache.xmlrpc ++ org.apache.xmlrpc, ++ org.apache.xmlrpc.common + Bundle-ActivationPolicy: lazy + Bundle-Vendor: %Bundle-Vendor + Bundle-ClassPath: . +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.core/META-INF/MANIFEST.MF.bak 2012-07-02 09:23:09.000000000 +0200 ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.core/META-INF/MANIFEST.MF 2012-07-03 14:27:53.515951111 +0200 +@@ -9,7 +9,8 @@ + org.eclipse.mylyn.commons.core;bundle-version="[3.8.0,4.0.0)", + org.eclipse.mylyn.commons.net;bundle-version="[3.8.0,4.0.0)", + org.eclipse.mylyn.commons.xmlrpc;bundle-version="[3.8.0,4.0.0)", +- org.apache.xmlrpc;bundle-version="[3.0.0,4.0.0)" ++ org.apache.xmlrpc;bundle-version="[3.0.0,4.0.0)", ++ org.apache.xmlrpc.common + Bundle-ActivationPolicy: lazy + Export-Package: org.eclipse.mylyn.internal.trac.core;x-friends:="org.eclipse.mylyn.trac.ui", + org.eclipse.mylyn.internal.trac.core.client;x-friends:="org.eclipse.mylyn.trac.ui", diff --git a/SOURCES/eclipse-mylyn-bug-419133.patch b/SOURCES/eclipse-mylyn-bug-419133.patch new file mode 100644 index 0000000..08dc58e --- /dev/null +++ b/SOURCES/eclipse-mylyn-bug-419133.patch @@ -0,0 +1,16 @@ +### Eclipse Workspace Patch 1.0 +#P org.eclipse.mylyn.bugzilla.core +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java +index b50cca6..dac242e 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java +@@ -402,6 +402,9 @@ + version.migrate(taskRepository, taskData, connector); + } + } ++ ++ // hack for RH bugzilla listing cf_clone_of as editable, but not granting write privileges to anyone ++ taskData.getRoot().removeAttribute("cf_clone_of"); //$NON-NLS-1$ + } + + @Override diff --git a/SOURCES/eclipse-mylyn-disable-online-tests.patch b/SOURCES/eclipse-mylyn-disable-online-tests.patch new file mode 100644 index 0000000..f97a776 --- /dev/null +++ b/SOURCES/eclipse-mylyn-disable-online-tests.patch @@ -0,0 +1,87 @@ +--- org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/pom.xml.bak 2012-07-02 09:22:28.000000000 +0200 ++++ org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/pom.xml 2012-07-05 12:59:13.696588682 +0200 +@@ -30,25 +30,6 @@ + + + +- org.apache.maven.plugins +- maven-antrun-plugin +- 1.6 +- +- +- epubcheck +- generate-sources +- +- +- +- +- +- +- run +- +- +- +- +- + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} +--- org.eclipse.mylyn.docs/org.eclipse.mylyn.wikitext.sdk-feature/feature.xml.sav 2014-03-28 12:13:02.000000000 +0200 ++++ org.eclipse.mylyn.docs/org.eclipse.mylyn.wikitext.sdk-feature/feature.xml 2014-03-31 13:42:16.364084906 +0300 +@@ -47,13 +47,6 @@ + unpack="false"/> + + +- +- +- +- ++ + +- +- +- +- +- +- + + + + +- ++ + + + +--- org.eclipse.mylyn.versions/org.eclipse.mylyn.versions-site/site.xml.bak 2012-10-02 12:19:57.000000000 +0200 ++++ org.eclipse.mylyn.versions/org.eclipse.mylyn.versions-site/site.xml 2013-01-16 15:18:40.459713828 +0100 +@@ -12,9 +12,9 @@ + + + +- ++ + + + diff --git a/SOURCES/eclipse-mylyn-ensure-sites-build-after-changes.patch b/SOURCES/eclipse-mylyn-ensure-sites-build-after-changes.patch new file mode 100644 index 0000000..cda2f5b --- /dev/null +++ b/SOURCES/eclipse-mylyn-ensure-sites-build-after-changes.patch @@ -0,0 +1,94 @@ +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks-site/site.xml.bak 2012-07-02 09:23:09.000000000 +0200 ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks-site/site.xml 2012-07-03 16:29:28.145494286 +0200 +@@ -31,9 +31,9 @@ + + + +- ++ + + + Tools. +--- org.eclipse.mylyn/org.eclipse.mylyn-site/site.xml.sav 2014-03-28 12:13:02.000000000 +0200 ++++ org.eclipse.mylyn/org.eclipse.mylyn-site/site.xml 2014-03-31 18:32:29.166866675 +0300 +@@ -36,12 +36,12 @@ + + + +- ++ + + + +@@ -76,10 +76,10 @@ + + + +- ++ + + +- ++ + + + +@@ -109,21 +109,21 @@ + + + +- ++ + + + + + + +- ++ + + + +--- org.eclipse.mylyn.commons/org.eclipse.mylyn.commons-site/site.xml.sav 2014-05-09 23:03:55.000000000 +0300 ++++ org.eclipse.mylyn.commons/org.eclipse.mylyn.commons-site/site.xml 2014-05-10 01:35:50.981785288 +0300 +@@ -16,10 +16,7 @@ + + + +- +- +- +- ++ + + + +@@ -43,9 +40,6 @@ + + + +- +- +- + + + Tools. diff --git a/SOURCES/eclipse-mylyn-merge-incubator.patch b/SOURCES/eclipse-mylyn-merge-incubator.patch new file mode 100644 index 0000000..0eed96d --- /dev/null +++ b/SOURCES/eclipse-mylyn-merge-incubator.patch @@ -0,0 +1,52 @@ +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.web.tasks-feature/feature.xml.bak 2012-07-09 15:06:05.000000000 +0200 ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.web.tasks-feature/feature.xml 2012-07-09 15:48:55.733303630 +0200 +@@ -13,8 +13,7 @@ + id="org.eclipse.mylyn.web.tasks_feature" + label="%featureName" + version="3.12.0.qualifier" +- provider-name="%providerName" +- plugin="org.eclipse.mylyn.sandbox.ui"> ++ provider-name="%providerName"> + + + %description +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.wiki-feature/feature.xml.bak 2012-07-09 15:49:49.000000000 +0200 ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.wiki-feature/feature.xml 2012-07-09 15:50:03.736772241 +0200 +@@ -13,8 +13,7 @@ + id="org.eclipse.mylyn.trac.wiki_feature" + label="%featureName" + version="3.12.0.qualifier" +- provider-name="%providerName" +- plugin="org.eclipse.mylyn.sandbox.ui"> ++ provider-name="%providerName"> + + + %description +--- org.eclipse.mylyn/org.eclipse.mylyn-site/site.xml.bak 2012-07-09 19:42:50.000000000 +0200 ++++ org.eclipse.mylyn/org.eclipse.mylyn-site/site.xml 2012-07-09 19:54:02.657739369 +0200 +@@ -130,6 +130,12 @@ + + + ++ ++ ++ ++ ++ ++ + + + +--- org.eclipse.mylyn.tasks/pom.xml.sav 2014-03-28 13:51:55.785265013 +0200 ++++ org.eclipse.mylyn.tasks/pom.xml 2014-03-28 13:53:43.239554573 +0200 +@@ -119,6 +119,10 @@ + org.eclipse.mylyn.trac.tests + org.eclipse.mylyn.trac.ui + org.eclipse.mylyn.trac.ui.tests ++ org.eclipse.mylyn.trac.wiki ++ org.eclipse.mylyn.trac.wiki-feature ++ org.eclipse.mylyn.web.tasks ++ org.eclipse.mylyn.web.tasks-feature + connector-bugzilla-rest + + diff --git a/SOURCES/eclipse-mylyn-remove-epubcheck-tests.patch b/SOURCES/eclipse-mylyn-remove-epubcheck-tests.patch new file mode 100644 index 0000000..e0524da --- /dev/null +++ b/SOURCES/eclipse-mylyn-remove-epubcheck-tests.patch @@ -0,0 +1,2018 @@ +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/META-INF/MANIFEST.MF +index 9af8305..284c624 100644 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/META-INF/MANIFEST.MF ++++ b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/META-INF/MANIFEST.MF +@@ -10,16 +10,6 @@ Require-Bundle: org.junit, + org.apache.ant.source;bundle-version="1.8.0", + org.eclipse.emf.ecore;bundle-version="2.5.0", + org.eclipse.mylyn.docs.epub.core;bundle-version="1.0.0" +-Bundle-ClassPath: ., +- epubcheck/epubcheck-3.0-RC-1.jar, +- epubcheck/lib/commons-compress-1.4.1.jar, +- epubcheck/lib/jing-20120724.0.0.jar, +- epubcheck/lib/phloc-commons-3.8.4.jar, +- epubcheck/lib/phloc-css-3.2.1.jar, +- epubcheck/lib/sac-1.3.jar, +- epubcheck/lib/saxon-9.1.0.8.jar, +- epubcheck/lib/slf4j-api-1.7.2.jar, +- epubcheck/lib/slf4j-nop-1.7.2.jar + Import-Package: org.junit + Export-Package: org.eclipse.mylyn.docs.epub.tests;x-internal:=true, + org.eclipse.mylyn.docs.epub.tests.ant;x-internal:=true, +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/build.properties b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/build.properties +index a4231cf..106d4c3 100644 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/build.properties ++++ b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/build.properties +@@ -15,14 +15,5 @@ bin.includes = META-INF/,\ + OSGI-INF/l10n/bundle.properties,\ + OSGI-INF/,\ + testdata/,\ +- about.html,\ +- epubcheck/epubcheck-3.0-RC-1.jar,\ +- epubcheck/lib/commons-compress-1.4.1.jar,\ +- epubcheck/lib/jing-20120724.0.0.jar,\ +- epubcheck/lib/phloc-commons-3.8.4.jar,\ +- epubcheck/lib/phloc-css-3.2.1.jar,\ +- epubcheck/lib/sac-1.3.jar,\ +- epubcheck/lib/saxon-9.1.0.8.jar,\ +- epubcheck/lib/slf4j-api-1.7.2.jar,\ +- epubcheck/lib/slf4j-nop-1.7.2.jar ++ about.html + src.includes = about.html +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/AllTests.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/AllTests.java +index b956e62..91031f7 100644 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/AllTests.java ++++ b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/AllTests.java +@@ -14,9 +14,6 @@ package org.eclipse.mylyn.docs.epub.tests; + import junit.framework.Test; + import junit.framework.TestSuite; + +-import org.eclipse.mylyn.docs.epub.tests.api.TestEPUB; +-import org.eclipse.mylyn.docs.epub.tests.api.TestOPS2Publication; +-import org.eclipse.mylyn.docs.epub.tests.api.TestOPSPublication; + import org.eclipse.mylyn.docs.epub.tests.core.TestEPUBFileUtil; + import org.eclipse.mylyn.docs.epub.tests.core.TestOPSValidator; + import org.eclipse.mylyn.docs.epub.tests.core.TestTOCGenerator; +@@ -30,9 +27,6 @@ public class AllTests { + public static Test suite(boolean defaultOnly) { + TestSuite suite = new TestSuite("Tests for org.eclipse.mylyn.docs.epub"); + // API tests +- suite.addTestSuite(TestEPUB.class); +- suite.addTestSuite(TestOPS2Publication.class); +- suite.addTestSuite(TestOPSPublication.class); + // Core tests + suite.addTestSuite(TestEPUBFileUtil.class); + suite.addTestSuite(TestOPSValidator.class); +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ValidationReport.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ValidationReport.java +deleted file mode 100644 +index 40b0a54..0000000 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ValidationReport.java ++++ /dev/null +@@ -1,80 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2012 Torkild U. Resheim and others. +- * All rights reserved. This program and the accompanying materials +- * are made available under the terms of the Eclipse Public License v1.0 +- * which accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- *******************************************************************************/ +- +-package org.eclipse.mylyn.docs.epub.tests; +- +-import java.util.ArrayList; +- +-import com.adobe.epubcheck.api.Report; +-import com.adobe.epubcheck.util.FeatureEnum; +- +-public class ValidationReport implements Report { +- +- private final ArrayList errors; +- +- private final ArrayList warnings; +- +- private final String ePubName; +- +- public ValidationReport(String ePubName) { +- this.ePubName = ePubName; +- errors = new ArrayList(); +- warnings = new ArrayList(); +- } +- +- @SuppressWarnings("nls") +- public void error(String resource, int line, int column, String message) { +- String log = "ERROR: " + ePubName + (resource == null ? "" : "/" + resource) +- + (line <= 0 ? "" : "(" + line + ")") + ": " + message; +- errors.add(log); +- } +- +- public String getErrors() { +- StringBuilder sb = new StringBuilder(); +- for (String error : errors) { +- sb.append("\n"); //$NON-NLS-1$ +- sb.append(error); +- } +- return sb.toString(); +- } +- +- public void exception(String arg0, Exception arg1) { +- // ignore +- } +- +- @SuppressWarnings("nls") +- public void warning(String resource, int line, String message) { +- System.err.println("WARNING: " + ePubName + (resource == null ? "" : "/" + resource) +- + (line <= 0 ? "" : "(" + line + ")") + ": " + message); +- } +- +- public int getErrorCount() { +- return errors.size(); +- } +- +- public int getExceptionCount() { +- return 0; +- } +- +- public int getWarningCount() { +- return warnings.size(); +- } +- +- public void info(String arg0, FeatureEnum arg1, String arg2) { +- // ignore +- +- } +- +- public void warning(String arg0, int arg1, int arg2, String arg3) { +- // ignore +- +- } +-} +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ant/TestAntTask.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ant/TestAntTask.java +deleted file mode 100644 +index 3afc45e..0000000 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/ant/TestAntTask.java ++++ /dev/null +@@ -1,67 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2011,2012 Torkild U. Resheim. +- * +- * All rights reserved. This program and the accompanying materials are made +- * available under the terms of the Eclipse Public License v1.0 which +- * accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- *******************************************************************************/ +-package org.eclipse.mylyn.docs.epub.tests.ant; +- +-import java.io.File; +-import java.io.PrintWriter; +-import java.io.StringWriter; +- +-import org.apache.tools.ant.BuildFileTest; +- +-import com.adobe.epubcheck.api.EpubCheck; +- +-/** +- * Tests for the epub ANT task. +- * +- * @author Torkild U. Resheim +- */ +-@SuppressWarnings("nls") +-public class TestAntTask extends BuildFileTest { +- +- static ClassLoader classLoader; +- +- private static final String SIMPLE_FILE_PATH = "test/ant/simple.epub"; +- +- public TestAntTask(String s) { +- super(s); +- classLoader = getClass().getClassLoader(); +- } +- +- private void assertEpub(String file) { +- File f = getFile(file); +- assertTrue("Missing publication " + file, f.exists()); +- StringWriter sw = new StringWriter(); +- PrintWriter pw = new PrintWriter(sw); +- EpubCheck checker = new EpubCheck(f, pw); +- assertTrue(sw.getBuffer().toString().trim(), checker.validate()); +- } +- +- private File getFile(String file) { +- return new File(getProjectDir().getAbsolutePath() + File.separator + file); +- } +- +- @Override +- public void setUp() { +- configureProject("ant-test.xml"); +- project.setCoreLoader(this.getClass().getClassLoader()); +- } +- +- /** +- * Creates a simple book using the Ant task and tests it using the epub validator. +- */ +- public void testSimplePublication() { +- executeTarget("init"); +- executeTarget("test.publication"); +- assertEpub(SIMPLE_FILE_PATH); +- } +- +-} +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/AbstractTest.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/AbstractTest.java +deleted file mode 100644 +index 5e00306..0000000 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/AbstractTest.java ++++ /dev/null +@@ -1,167 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2011,2012 Torkild U. Resheim. +- * +- * All rights reserved. This program and the accompanying materials are made +- * available under the terms of the Eclipse Public License v1.0 which +- * accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- *******************************************************************************/ +-package org.eclipse.mylyn.docs.epub.tests.api; +- +-import java.io.File; +- +-import junit.framework.TestCase; +- +-import org.eclipse.emf.ecore.EStructuralFeature; +-import org.eclipse.emf.ecore.util.FeatureMap; +-import org.eclipse.emf.ecore.util.FeatureMapUtil.FeatureEList; +-import org.eclipse.emf.ecore.xml.type.XMLTypePackage; +-import org.eclipse.mylyn.docs.epub.core.EPUB; +-import org.eclipse.mylyn.docs.epub.core.ILogger; +-import org.eclipse.mylyn.docs.epub.core.OPSPublication; +-import org.eclipse.mylyn.docs.epub.core.Publication; +-import org.eclipse.mylyn.docs.epub.dc.DCType; +-import org.eclipse.mylyn.docs.epub.dc.Identifier; +-import org.eclipse.mylyn.docs.epub.tests.ValidationReport; +-import org.junit.After; +-import org.junit.Before; +- +-import com.adobe.epubcheck.api.EpubCheck; +- +-@SuppressWarnings("nls") +-public abstract class AbstractTest extends TestCase { +- +- private static final boolean DEBUGGING = false;; +- +- private boolean errorExpected; +- +- private class StdOutLogger implements ILogger { +- +- public void log(String message) { +- log(message, Severity.INFO); +- } +- +- public void log(String message, Severity severity) { +- if (DEBUGGING) { +- switch (severity) { +- case ERROR: +- System.out.print("[ERROR] "); +- break; +- case DEBUG: +- System.out.print("[DEBUG] "); +- break; +- case INFO: +- System.out.print("[INFO ] "); +- break; +- case VERBOSE: +- System.out.print("[VERBO] "); +- break; +- case WARNING: +- System.out.print("[WARN ] "); +- break; +- default: +- break; +- } +- System.out.println(message); +- } +- } +- } +- +- protected static final EStructuralFeature TEXT = XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text(); +- +- protected EPUB epub; +- +- protected final File epubFile = new File("test" + File.separator + "test.epub"); +- +- protected final File epubFolder = new File("test" + File.separator + "epub"); +- +- protected final StdOutLogger logger = new StdOutLogger(); +- +- protected Publication oebps; +- +- protected boolean deleteFolder(File folder) { +- if (folder.isDirectory()) { +- String[] children = folder.list(); +- for (String element : children) { +- boolean ok = deleteFolder(new File(folder, element)); +- if (!ok) { +- return false; +- } +- } +- } +- return folder.delete(); +- } +- +- @SuppressWarnings("rawtypes") +- public String getText(DCType identifier) { +- FeatureMap fm = identifier.getMixed(); +- Object o = fm.get(TEXT, false); +- if (o instanceof FeatureEList) { +- if (((FeatureEList) o).size() > 0) { +- return ((FeatureEList) o).get(0).toString(); +- } +- } +- return null; +- } +- +- @SuppressWarnings("rawtypes") +- public String getText(Identifier element) { +- FeatureMap fm = element.getMixed(); +- Object o = fm.get(TEXT, false); +- if (o instanceof FeatureEList) { +- if (((FeatureEList) o).size() > 0) { +- return ((FeatureEList) o).get(0).toString(); +- } +- } +- return null; +- } +- +- /** +- * @throws java.lang.Exception +- */ +- @Override +- @Before +- public void setUp() throws Exception { +- errorExpected = false; +- if (epubFile.exists()) { +- epubFile.delete(); +- } +- if (epubFolder.exists()) { +- deleteFolder(epubFolder); +- } +- epubFolder.mkdirs(); +- epub = new EPUB(logger); +- oebps = new OPSPublication(logger); +- } +- +- /** +- * Call this method in a test when an EPUB validation error is expected. +- */ +- protected void setErrorExpected() { +- errorExpected = true; +- } +- +- /** +- * @throws java.lang.Exception +- */ +- @Override +- @After +- public void tearDown() throws Exception { +- if (epubFolder.exists()) { +- deleteFolder(epubFolder); +- } +- if (epubFile.exists()) { +- ValidationReport report = new ValidationReport(epubFile.toString()); +- EpubCheck checker = new EpubCheck(epubFile, report); +- checker.validate(); +- final String logMessage = report.getErrors(); +- epubFile.delete(); +- if (!errorExpected && report.getErrorCount() > 0) { +- fail(logMessage); +- } +- } +- } +-} +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestEPUB.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestEPUB.java +deleted file mode 100644 +index 89bf6a6..0000000 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestEPUB.java ++++ /dev/null +@@ -1,395 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2011,2012 Torkild U. Resheim. +- * +- * All rights reserved. This program and the accompanying materials are made +- * available under the terms of the Eclipse Public License v1.0 which +- * accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- *******************************************************************************/ +-package org.eclipse.mylyn.docs.epub.tests.api; +- +-import java.io.BufferedReader; +-import java.io.File; +-import java.io.FileReader; +-import java.io.IOException; +- +-import org.eclipse.emf.common.util.EList; +-import org.eclipse.mylyn.docs.epub.core.EPUB; +-import org.eclipse.mylyn.docs.epub.core.OPSPublication; +-import org.eclipse.mylyn.docs.epub.core.Publication; +-import org.eclipse.mylyn.docs.epub.ocf.Container; +-import org.eclipse.mylyn.docs.epub.ocf.RootFile; +-import org.eclipse.mylyn.docs.epub.ocf.RootFiles; +-import org.junit.Test; +- +-/** +- * @author Torkild U. Resheim +- */ +-@SuppressWarnings("nls") +-public class TestEPUB extends AbstractTest { +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#EPUB()}. +- *

+- * It must be possible to obtain the publication list which must be empty. +- *

+- */ +- @Test +- public final void testEPUB() { +- EPUB epub = new EPUB(); +- assertEquals(true, epub.getOPSPublications().isEmpty()); +- +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#add(java.io.File, java.lang.String)} . +- *
    +- *
  • Publication MIME-type shall be correct
  • +- *
  • Rootfile path shall be correct
  • +- *
  • Rootfile object shall be correct.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testAddFileString() throws Exception { +- EPUB epub = new EPUB(); +- File drawing = new File("testdata/drawing.svg"); +- epub.add(drawing, "image/svg+xml"); +- Container container = epub.getContainer(); +- RootFiles rootfiles = container.getRootfiles(); +- EList files = rootfiles.getRootfiles(); +- assertEquals(true, files.get(0).getFullPath().equals("SVG+XML/drawing.svg")); +- assertEquals(true, files.get(0).getMediaType().equals("image/svg+xml")); +- assertEquals(true, files.get(0).getPublication() == drawing); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#pack(java.io.File)}. +- *
    +- *
  • Shall throw exception when unknown publication type is added.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testPackFail() throws Exception { +- EPUB epub = new EPUB(); +- File drawing = new File("testdata/drawing.svg"); +- epub.add(drawing, "image/svg+xml"); +- Container container = epub.getContainer(); +- RootFiles rootfiles = container.getRootfiles(); +- EList files = rootfiles.getRootfiles(); +- files.get(0).setPublication(null); +- try { +- epub.pack(epubFile); +- fail(); +- } catch (Exception e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.EPUB#add(org.eclipse.mylyn.docs.epub.core.Publication)} . +- *
    +- *
  • Container shall hold more than one OPS publication
  • +- *
  • OPS structures shall follow naming conventions.
  • +- *
  • OPS MIME-type shall be correct
  • +- *
  • Rootfile object shall be correct.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testAddOPSPublication() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps1 = new OPSPublication(); +- Publication oebps2 = new OPSPublication(); +- epub.add(oebps1); +- epub.add(oebps2); +- Container container = epub.getContainer(); +- RootFiles rootfiles = container.getRootfiles(); +- EList files = rootfiles.getRootfiles(); +- assertEquals(true, files.get(0).getFullPath().equals("OEBPS/content.opf")); +- assertEquals(true, files.get(1).getFullPath().equals("OEBPS_1/content.opf")); +- assertEquals(true, files.get(0).getMediaType().equals("application/oebps-package+xml")); +- assertEquals(true, files.get(1).getMediaType().equals("application/oebps-package+xml")); +- assertEquals(true, files.get(0).getPublication() == oebps1); +- assertEquals(true, files.get(1).getPublication() == oebps2); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#getOPSPublications()}. +- *

+- * One OPS-publication and one SVG drawing are added. Only the OPS-publication shall be returned. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void testGetOPSPublications() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- epub.add(oebps); +- File drawing = new File("testdata/drawing.svg"); +- epub.add(drawing, "image/svg+xml"); +- assertEquals(1, epub.getOPSPublications().size()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#pack(java.io.File)}. +- *
    +- *
  • Temporary folder shall not exist when job is done.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testPackFile() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- File drawing = new File("testdata/drawing.svg"); +- epub.add(drawing, "image/svg+xml"); +- File tempFolder = epub.pack(epubFile); +- assertEquals(false, tempFolder.exists()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#pack(java.io.File, java.io.File)} . +- *
    +- *
  • Work folder shall exist when job is done.
  • +- *
  • Work folder shall contain EPUB artifacts.
  • +- *
  • Exception shall be thrown if working folder already exist.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testPackFileFile() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile, epubFolder); +- // Make sure all required files are present +- File metaFolder = new File(epubFolder.getAbsolutePath() + File.separator + "META-INF"); +- assertEquals(true, metaFolder.exists()); +- assertEquals(true, metaFolder.isDirectory()); +- File containerFile = new File(epubFolder.getAbsolutePath() + File.separator + "META-INF" + File.separator +- + "container.xml"); +- assertEquals(true, containerFile.exists()); +- assertEquals(false, containerFile.isDirectory()); +- File oebpsFolder = new File(epubFolder.getAbsolutePath() + File.separator + "OEBPS"); +- assertEquals(true, oebpsFolder.exists()); +- assertEquals(true, oebpsFolder.isDirectory()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#pack(java.io.File, java.io.File)} . +- *
    +- *
  • Exception shall be thrown if working folder already exist.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testPackFileFileExists() throws Exception { +- File workingFolder = File.createTempFile("epub_", null); +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- epub.add(oebps); +- try { +- epub.pack(epubFile, workingFolder); +- fail(); +- } catch (Exception e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#pack(java.io.File)} . +- *
    +- *
  • Exception shall be thrown if the EPUB is empty.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testPackMissingPublication() throws Exception { +- try { +- epub.pack(epubFile); +- fail(); +- } catch (Exception e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#unpack(java.io.File)}. +- *
    +- *
  • Unpacked EPUB shall have the same contents as the packed one.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testUnpackFile() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile, epubFolder); +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile); +- assertEquals(1, epub2.getOPSPublications().size()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.EPUB#unpack(java.io.File, java.io.File)} . +- * +- * @throws Exception +- */ +- @Test +- public final void testUnpackFileFile() throws Exception { +- // First pack the EPUB +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile, epubFolder); +- deleteFolder(epubFolder); +- +- // Then check for some contents when unpacked +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- +- // Make sure all required files are present +- File metaFolder = new File(epubFolder.getAbsolutePath() + File.separator + "META-INF"); +- assertEquals(true, metaFolder.exists()); +- assertEquals(true, metaFolder.isDirectory()); +- File containerFile = new File(epubFolder.getAbsolutePath() + File.separator + "META-INF" + File.separator +- + "container.xml"); +- assertEquals(true, containerFile.exists()); +- assertEquals(false, containerFile.isDirectory()); +- File oebpsFolder = new File(epubFolder.getAbsolutePath() + File.separator + "OEBPS"); +- assertEquals(true, oebpsFolder.exists()); +- assertEquals(true, oebpsFolder.isDirectory()); +- } +- +- private class EPUB_OCF_Test extends EPUB { +- public void testReadOCF(File workingFolder) throws IOException { +- readOCF(workingFolder); +- } +- } +- +- /** +- * See if the OCF file generated by this tooling can be read. As of bug 378800 elements are no longer prefixed with +- * "ocf", however both are allowed and tested for. +- * +- * @throws Exception +- */ +- @Test +- public final void testReadOCF_Dogfood() throws Exception { +- EPUB_OCF_Test epub = new EPUB_OCF_Test(); +- +- File workingFolder = new File("testdata/OCF-Tests/Dogfood"); +- epub.testReadOCF(workingFolder); +- +- workingFolder = new File("testdata/OCF-Tests/Bug_378800"); +- epub.testReadOCF(workingFolder); +- } +- +- /** +- * This case was discovered when testing an EPUB file generated by DocBook Reading the OCF fails with a +- * java.net.SocketException: Unexpected end of file from server. On closer inspection we can see that the file is +- * declared as XHTML (which it of course is not). This is probably due to an issue in DocBook XSL 1.76.1 +- * +- * @see http://sourceforge.net/tracker/index.php?func=detail&aid=3353537 &group_id=21935&atid=373747. +- * @throws Exception +- */ +- @Test +- public final void testReadOCF_SocketException() throws Exception { +- File workingFolder = new File("testdata/OCF-Tests/SocketException"); +- EPUB_OCF_Test epub = new EPUB_OCF_Test(); +- epub.testReadOCF(workingFolder); +- } +- +- /** +- * Test method for bug 377705: [epub] Fail +- * gracefully when opening an unsupported file +- *

+- * When attempting to open a file that is not an EPUB the tooling shall reply by throwing an +- * {@link IllegalArgumentException}. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug377705() throws Exception { +- EPUB epub = new EPUB(); +- File drawing = new File("testdata/drawing.svg"); +- File epub_2 = new File("testdata/epub/basic_2.epub"); +- assertEquals(false, epub.isEPUB(drawing)); +- assertEquals(true, epub.isEPUB(epub_2)); +- try { +- epub.unpack(drawing); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- try { +- epub.unpack(epub_2); +- } catch (Exception e) { +- fail(); +- } +- } +- +- /** +- * Test method for bug 378214: [epub] Problem +- * when opening an EPUB3 file +- *

+- * There must be no OPS publications in the EPUB as there are none that are supported when reading an EPUB 3 file. +- * Also there must be no exceptions thrown. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug378214() throws Exception { +- EPUB epub = new EPUB(); +- File epub_3 = new File("testdata/epub/basic_3.epub"); +- assertEquals(true, epub.isEPUB(epub_3)); +- epub.unpack(epub_3); +- assertEquals(0, epub.getOPSPublications().size()); +- } +- +- /** +- * Test method for bug 378800: [epub] Remove +- * "ocf" prefix from elements in container.xml +- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug378800() throws Exception { +- EPUB epub = new EPUB(); +- Publication oebps = new OPSPublication(); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile, epubFolder); +- File metaFolder = new File(epubFolder.getAbsolutePath() + File.separator + "META-INF"); //$NON-NLS-1$ +- File containerFile = new File(metaFolder.getAbsolutePath() + File.separator + "container.xml"); //$NON-NLS-1$ +- BufferedReader br = new BufferedReader(new FileReader(containerFile)); +- String in = null; +- boolean ok = false; +- while ((in = br.readLine()) != null) { +- // as opposed to " 0) { +- return ((FeatureEList) o).get(0).toString(); +- } +- } +- } +- if (element instanceof Meta) { +- Object o = ((Meta) element).getContent(); +- return o.toString(); +- } +- return "null"; +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#generateTableOfContents()} . +- *
    +- *
  • Table of contents shall be generated from content per default.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testGenerateTableOfContents() throws Exception { +- epub.add(oebps); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.pack(epubFile); +- assertTrue(oebps.getTableOfContents() != null); +- assertTrue(oebps.getTableOfContents() instanceof Ncx); +- Ncx ncx = (Ncx) oebps.getTableOfContents(); +- NavPoint h1_1 = ncx.getNavMap().getNavPoints().get(0); +- NavPoint h1_2 = ncx.getNavMap().getNavPoints().get(1); +- assertEquals("First item", getText(h1_1)); +- assertEquals("Second item", getText(h1_2)); +- epubFile.delete(); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#generateTableOfContents()} . +- *
    +- *
  • Table of contents shall exist but be empty if not otherwise specified.
  • +- *
+- * +- * @throws Exception +- */ +- public final void testGenerateEmptyTableOfContents() throws Exception { +- setErrorExpected(); +- epub.add(oebps); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- oebps.setGenerateToc(false); +- epub.pack(epubFile); +- assertTrue(oebps.getTableOfContents() != null); +- assertTrue(oebps.getTableOfContents() instanceof Ncx); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#getTableOfContents()} . +- *
    +- *
  • There shall be a table of contents, even if empty.
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testGetTableOfContents() throws Exception { +- epub.add(oebps); +- assertTrue(oebps.getTableOfContents() != null); +- assertTrue(oebps.getTableOfContents() instanceof Ncx); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#readTableOfContents(java.io.File)} . +- * +- * @throws Exception +- */ +- @Test +- public final void testReadTableOfContents() throws Exception { +- epub.add(oebps); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.pack(epubFile); +- +- EPUB epub_in = new EPUB(); +- epub_in.unpack(epubFile, epubFolder); +- Publication oebps_in = epub_in.getOPSPublications().get(0); +- assertTrue(oebps_in.getTableOfContents() != null); +- assertTrue(oebps_in.getTableOfContents() instanceof Ncx); +- Ncx ncx = (Ncx) oebps_in.getTableOfContents(); +- NavPoint h1_1 = ncx.getNavMap().getNavPoints().get(0); +- NavPoint h1_2 = ncx.getNavMap().getNavPoints().get(1); +- assertEquals("First item", getText(h1_1)); +- assertEquals("Second item", getText(h1_2)); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#setTableOfContents(java.io.File)} . +- * +- * @throws Exception +- */ +- @Test +- public final void testSetTableOfContents() throws Exception { +- oebps.setTableOfContents(new File("testdata/toc.ncx")); +- epub.add(oebps); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.pack(epubFile); +- EPUB epub_in = new EPUB(); +- epub_in.unpack(epubFile, epubFolder); +- Publication oebps_in = epub_in.getOPSPublications().get(0); +- assertTrue(oebps_in.getTableOfContents() != null); +- assertTrue(oebps_in.getTableOfContents() instanceof Ncx); +- Ncx ncx = (Ncx) oebps_in.getTableOfContents(); +- NavPoint h1_1 = ncx.getNavMap().getNavPoints().get(0); +- NavPoint h1_2 = ncx.getNavMap().getNavPoints().get(1); +- assertEquals("First item", getText(h1_1)); +- assertEquals("Second item", getText(h1_2)); +- Meta meta = ncx.getHead().getMetas().get(0); +- String id = getText(meta); +- // The UUID for the NCX file should be different if it comes from +- // another NCX than the one specified. +- assertTrue(TOCFILE_ID.equals(id)); +- +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.OPSPublication#validateContents()} . +- *
    +- *
  • There shall be a warning message
  • +- *
+- * +- * @throws Exception +- */ +- @Test +- public final void testValidateContents() throws Exception { +- setErrorExpected(); +- epub.add(oebps); +- oebps.addItem(new File("testdata/plain-page_warnings.xhtml")); +- epub.pack(epubFile); +- assertEquals(1, oebps.getValidationMessages().size()); +- ValidationMessage msg = oebps.getValidationMessages().get(0); +- assertEquals(Severity.WARNING, msg.getSeverity()); +- assertTrue(msg.getMessage().startsWith("Element \"bad\"")); +- } +- +- /** +- * Test method for bug 379052: OPS validator +- * should handle all XHTML in the manifest +- *

+- * The test will add one XHTML file that links to another XHTML file that should be validated and one that should +- * not +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug379052() throws Exception { +- oebps.setIncludeReferencedResources(true); +- epub.add(oebps); +- oebps.addItem(new File("testdata/OPF-Tests/Bug_379052/chapter-1.xhtml")); +- epub.pack(epubFile); +- // Two XHTML files, one with a warning. One CSS file and the NCX. +- assertEquals(4, oebps.getPackage().getManifest().getItems().size()); +- // Should be exactly two warning. +- assertEquals(1, oebps.getValidationMessages().size()); +- epubFile.delete(); +- } +- +- /** +- * Test method for bug 358671: Add support for +- * fallback items +- *

+- * This method tests for the exception that shall be raised when an illegal item has been added. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug358671_Illegal_Item() throws Exception { +- setErrorExpected(); +- epub.add(oebps); +- oebps.addItem(new File("testdata/OPF-Tests/Bug_358671/illegal-type.html")); +- epub.pack(epubFile); +- ValidationMessage msg = oebps.getValidationMessages().get(0); +- assertEquals(Severity.WARNING, msg.getSeverity()); +- assertEquals( +- true, +- msg.getMessage().equals( +- "Item \"illegal-type.html\" is not a core media type and does not specify a fallback item.")); +- } +- +- /** +- * Test method for bug 358671: Add support for +- * fallback items +- *

+- * This method tests for the exception that shall be raised when an illegal item has been added with an illegal +- * fallback item. Which fallback items that are allowed is specified by the OPS version. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug358671_Illegal_Fallback() throws Exception { +- setErrorExpected(); +- epub.add(oebps); +- Item item = oebps.addItem(new File("testdata/OPF-Tests/Bug_358671/illegal-type.html")); +- item.setFallback("fallback"); +- oebps.addItem("fallback", null, new File("testdata/OPF-Tests/Bug_358671/illegal-type.html"), null, null, true, +- true, false); +- epub.pack(epubFile); +- ValidationMessage msg = oebps.getValidationMessages().get(0); +- assertEquals(Severity.WARNING, msg.getSeverity()); +- assertEquals( +- true, +- msg.getMessage() +- .equals("Item \"illegal-type.html\" is not a core media type and specifies a non-core media fallback item.")); +- } +- +- /** +- * Test method for bug 358671: Add support for +- * fallback items +- *

+- * This method tests for the warning that shall be issued when an illegal item has been added with a legal fallback +- * item. +- *

+- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug358671_Legal_Fallback() throws Exception { +- epub.add(oebps); +- Item item = oebps.addItem(new File("testdata/OPF-Tests/Bug_358671/illegal-type.html")); +- item.setFallback("fallback"); +- oebps.addItem("fallback", null, new File("testdata/plain-page.xhtml"), null, null, true, true, false); +- epub.pack(epubFile); +- assertEquals(3, oebps.getPackage().getManifest().getItems().size()); +- assertEquals(1, oebps.getValidationMessages().size()); +- ValidationMessage msg = oebps.getValidationMessages().get(0); +- assertEquals(Severity.WARNING, msg.getSeverity()); +- assertEquals( +- true, +- msg.getMessage() +- .equals("Item \"illegal-type.html\" is not a core media type but a legal fallback item has been specified.")); +- } +- +- private class EPUB_NCX_Test extends OPSPublication { +- public void testReadOCF(File tocFile) throws IOException { +- readTableOfContents(tocFile); +- } +- } +- +- /** +- * See if the NCX file generated by this tooling can be read. +- * +- * @throws Exception +- */ +- @Test +- public final void testReadNCX_Dogfood() throws Exception { +- File workingFolder = new File("testdata/NCX-Tests/Dogfood/toc.ncx"); +- EPUB_NCX_Test epub = new EPUB_NCX_Test(); +- epub.testReadOCF(workingFolder); +- } +- +- /** +- * This case was discovered when testing an EPUB file generated by DocBook Reading the NCX fails with a +- * java.net.SocketException: Unexpected end of file from server. On closer inspection we can see that the file is +- * declared as XHTML (which it of course is not). This is probably due to an issue in DocBook XSL 1.76.1 +- * +- * @see http://sourceforge.net/tracker/index.php?func=detail&aid=3353537&group_id=21935&atid=373747. +- * @throws Exception +- */ +- @Test +- public final void testReadNCX_SocketException() throws Exception { +- File workingFolder = new File("testdata/NCX-Tests/SocketException/toc.ncx"); +- EPUB_NCX_Test epub = new EPUB_NCX_Test(); +- epub.testReadOCF(workingFolder); +- } +- +-} +diff --git a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestOPSPublication.java b/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestOPSPublication.java +deleted file mode 100644 +index bee8100..0000000 +--- a/org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.tests/src/org/eclipse/mylyn/docs/epub/tests/api/TestOPSPublication.java ++++ /dev/null +@@ -1,885 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2011-2014 Torkild U. Resheim. +- * +- * All rights reserved. This program and the accompanying materials are made +- * available under the terms of the Eclipse Public License v1.0 which +- * accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- *******************************************************************************/ +-package org.eclipse.mylyn.docs.epub.tests.api; +- +-import java.io.File; +-import java.io.FileWriter; +-import java.io.IOException; +-import java.util.List; +-import java.util.Locale; +- +-import org.eclipse.emf.common.util.Diagnostic; +-import org.eclipse.emf.common.util.EList; +-import org.eclipse.mylyn.docs.epub.core.EPUB; +-import org.eclipse.mylyn.docs.epub.core.OPSPublication; +-import org.eclipse.mylyn.docs.epub.core.Publication; +-import org.eclipse.mylyn.docs.epub.core.ValidationException; +-import org.eclipse.mylyn.docs.epub.dc.Contributor; +-import org.eclipse.mylyn.docs.epub.dc.Coverage; +-import org.eclipse.mylyn.docs.epub.dc.Date; +-import org.eclipse.mylyn.docs.epub.dc.Description; +-import org.eclipse.mylyn.docs.epub.dc.Identifier; +-import org.eclipse.mylyn.docs.epub.dc.Publisher; +-import org.eclipse.mylyn.docs.epub.dc.Relation; +-import org.eclipse.mylyn.docs.epub.dc.Rights; +-import org.eclipse.mylyn.docs.epub.dc.Source; +-import org.eclipse.mylyn.docs.epub.dc.Subject; +-import org.eclipse.mylyn.docs.epub.dc.Title; +-import org.eclipse.mylyn.docs.epub.opf.Item; +-import org.eclipse.mylyn.docs.epub.opf.Role; +-import org.junit.Assert; +-import org.junit.Test; +- +-import com.adobe.epubcheck.api.EpubCheck; +-import com.adobe.epubcheck.api.Report; +-import com.adobe.epubcheck.util.DefaultReportImpl; +- +-/** +- * Tests features and regressions for all versions of the OPS supporting implementation {@link Publication}. +- * +- * @author Torkild U. Resheim +- */ +-@SuppressWarnings("nls") +-public class TestOPSPublication extends AbstractTest { +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addContributor(java.lang.String, java.util.Locale, java.lang.String, org.eclipse.mylyn.docs.epub.opf.Role, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddContributor() { +- Contributor contributor = oebps.addContributor("Nomen Nescio"); +- contributor.setRole(Role.AUTHOR); +- +- oebps.addContributor(null, null, "Nomen Nescio", Role.AUTHOR, null); +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addCoverage(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddCoverage() { +- oebps.addCoverage("Coverage", Locale.CANADA_FRENCH, "My Coverage"); +- oebps.addCoverage(null, Locale.CANADA_FRENCH, "My Coverage"); +- oebps.addCoverage(null, null, "My Coverage"); +- EList Coverages = oebps.getPackage().getMetadata().getCoverages(); +- Assert.assertEquals("Coverage", Coverages.get(0).getId()); +- Assert.assertEquals("fr_CA", Coverages.get(0).getLang()); +- Assert.assertEquals("My Coverage", getText(Coverages.get(0))); +- Assert.assertEquals(null, Coverages.get(1).getId()); +- Assert.assertEquals("fr_CA", Coverages.get(1).getLang()); +- Assert.assertEquals("My Coverage", getText(Coverages.get(1))); +- Assert.assertEquals(null, Coverages.get(2).getId()); +- Assert.assertEquals(null, Coverages.get(2).getLang()); +- Assert.assertEquals("My Coverage", getText(Coverages.get(2))); +- try { +- oebps.addCoverage(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addCreator(java.lang.String, java.util.Locale, java.lang.String, org.eclipse.mylyn.docs.epub.opf.Role, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddCreator() { +- // TODO +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addDate(java.lang.String, java.util.Date, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddDateStringDateString() { +- // TODO +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addDate(java.lang.String, java.lang.String, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddDateStringStringString() { +- oebps.addDate(null, "1969", null); +- oebps.addDate(null, "1969-03", null); +- oebps.addDate(null, "1969-03-14", null); +- oebps.addDate(null, "1969-03-14", "event"); +- EList dates = oebps.getPackage().getMetadata().getDates(); +- assertEquals("1969", getText(dates.get(0))); +- assertEquals("1969-03", getText(dates.get(1))); +- assertEquals("1969-03-14", getText(dates.get(2))); +- assertEquals("event", dates.get(3).getEvent()); +- try { +- oebps.addDate(null, (String) null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addDescription(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddDescription() { +- oebps.addDescription("Description", Locale.CANADA_FRENCH, "My Description"); +- oebps.addDescription(null, Locale.CANADA_FRENCH, "My Description"); +- oebps.addDescription(null, null, "My Description"); +- EList Descriptions = oebps.getPackage().getMetadata().getDescriptions(); +- Assert.assertEquals("Description", Descriptions.get(0).getId()); +- Assert.assertEquals("fr_CA", Descriptions.get(0).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(0))); +- Assert.assertEquals(null, Descriptions.get(1).getId()); +- Assert.assertEquals("fr_CA", Descriptions.get(1).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(1))); +- Assert.assertEquals(null, Descriptions.get(2).getId()); +- Assert.assertEquals(null, Descriptions.get(2).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(2))); +- try { +- oebps.addDescription(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addFormat(java.lang.String, java.lang.String)} . +- */ +- @Test +- public final void testAddFormat() { +- oebps.addDescription("Description", Locale.CANADA_FRENCH, "My Description"); +- oebps.addDescription(null, Locale.CANADA_FRENCH, "My Description"); +- oebps.addDescription(null, null, "My Description"); +- EList Descriptions = oebps.getPackage().getMetadata().getDescriptions(); +- Assert.assertEquals("Description", Descriptions.get(0).getId()); +- Assert.assertEquals("fr_CA", Descriptions.get(0).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(0))); +- Assert.assertEquals(null, Descriptions.get(1).getId()); +- Assert.assertEquals("fr_CA", Descriptions.get(1).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(1))); +- Assert.assertEquals(null, Descriptions.get(2).getId()); +- Assert.assertEquals(null, Descriptions.get(2).getLang()); +- Assert.assertEquals("My Description", getText(Descriptions.get(2))); +- try { +- oebps.addDescription(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addIdentifier(java.lang.String, java.lang.String, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddIdentifier() { +- oebps.addIdentifier("Identifier", "ID", "My Identifier"); +- oebps.addIdentifier(null, "ID", "My Identifier"); +- oebps.addIdentifier(null, null, "My Identifier"); +- EList Identifiers = oebps.getPackage().getMetadata().getIdentifiers(); +- Assert.assertEquals("Identifier", Identifiers.get(0).getId()); +- Assert.assertEquals("ID", Identifiers.get(0).getScheme()); +- Assert.assertEquals("My Identifier", getText(Identifiers.get(0))); +- Assert.assertEquals(null, Identifiers.get(1).getId()); +- Assert.assertEquals("ID", Identifiers.get(1).getScheme()); +- Assert.assertEquals("My Identifier", getText(Identifiers.get(1))); +- Assert.assertEquals(null, Identifiers.get(2).getId()); +- Assert.assertEquals(null, Identifiers.get(2).getScheme()); +- Assert.assertEquals("My Identifier", getText(Identifiers.get(2))); +- try { +- oebps.addIdentifier(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#addItem(java.io.File)} . +- */ +- @Test +- public final void testAddItemFile() { +- // TODO +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addItem(java.lang.String, java.util.Locale, java.io.File, java.lang.String, java.lang.String, boolean, boolean, boolean)} +- * . +- */ +- @Test +- public final void testAddItemStringLocaleFileStringStringBooleanBooleanBoolean() { +- // TODO +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addLanguage(java.lang.String, java.lang.String)} . +- */ +- @Test +- public final void testAddLanguage() { +- oebps.addLanguage(null, "no"); +- oebps.addLanguage("id", "no"); +- Assert.assertEquals("no", getText(oebps.getPackage().getMetadata().getLanguages().get(0))); +- Assert.assertEquals("id", oebps.getPackage().getMetadata().getLanguages().get(1).getId()); +- try { +- oebps.addLanguage(null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#addMeta(java.lang.String, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddMeta() { +- oebps.addMeta("name", "value"); +- assertEquals("name", oebps.getPackage().getMetadata().getMetas().get(0).getName()); +- assertEquals("value", oebps.getPackage().getMetadata().getMetas().get(0).getContent()); +- try { +- oebps.addMeta(null, "value"); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- try { +- oebps.addMeta("name", null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addPublisher(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddPublisher() { +- oebps.addPublisher("Publisher", Locale.CANADA_FRENCH, "My Publisher"); +- oebps.addPublisher(null, Locale.CANADA_FRENCH, "My Publisher"); +- oebps.addPublisher(null, null, "My Publisher"); +- EList Publishers = oebps.getPackage().getMetadata().getPublishers(); +- Assert.assertEquals("Publisher", Publishers.get(0).getId()); +- Assert.assertEquals("fr_CA", Publishers.get(0).getLang()); +- Assert.assertEquals("My Publisher", getText(Publishers.get(0))); +- Assert.assertEquals(null, Publishers.get(1).getId()); +- Assert.assertEquals("fr_CA", Publishers.get(1).getLang()); +- Assert.assertEquals("My Publisher", getText(Publishers.get(1))); +- Assert.assertEquals(null, Publishers.get(2).getId()); +- Assert.assertEquals(null, Publishers.get(2).getLang()); +- Assert.assertEquals("My Publisher", getText(Publishers.get(2))); +- try { +- oebps.addPublisher(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addReference(java.lang.String, java.lang.String, org.eclipse.mylyn.docs.epub.opf.Type)} +- * . +- */ +- @Test +- public final void testAddReference() { +- // TODO +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addRelation(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddRelation() { +- oebps.addRelation("Relation", Locale.CANADA_FRENCH, "My Relation"); +- oebps.addRelation(null, Locale.CANADA_FRENCH, "My Relation"); +- oebps.addRelation(null, null, "My Relation"); +- EList Relations = oebps.getPackage().getMetadata().getRelations(); +- Assert.assertEquals("Relation", Relations.get(0).getId()); +- Assert.assertEquals("fr_CA", Relations.get(0).getLang()); +- Assert.assertEquals("My Relation", getText(Relations.get(0))); +- Assert.assertEquals(null, Relations.get(1).getId()); +- Assert.assertEquals("fr_CA", Relations.get(1).getLang()); +- Assert.assertEquals("My Relation", getText(Relations.get(1))); +- Assert.assertEquals(null, Relations.get(2).getId()); +- Assert.assertEquals(null, Relations.get(2).getLang()); +- Assert.assertEquals("My Relation", getText(Relations.get(2))); +- try { +- oebps.addRelation(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addRights(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddRights() { +- oebps.addRights("Rights", Locale.CANADA_FRENCH, "My Rights"); +- oebps.addRights(null, Locale.CANADA_FRENCH, "My Rights"); +- oebps.addRights(null, null, "My Rights"); +- EList Rightss = oebps.getPackage().getMetadata().getRights(); +- Assert.assertEquals("Rights", Rightss.get(0).getId()); +- Assert.assertEquals("fr_CA", Rightss.get(0).getLang()); +- Assert.assertEquals("My Rights", getText(Rightss.get(0))); +- Assert.assertEquals(null, Rightss.get(1).getId()); +- Assert.assertEquals("fr_CA", Rightss.get(1).getLang()); +- Assert.assertEquals("My Rights", getText(Rightss.get(1))); +- Assert.assertEquals(null, Rightss.get(2).getId()); +- Assert.assertEquals(null, Rightss.get(2).getLang()); +- Assert.assertEquals("My Rights", getText(Rightss.get(2))); +- try { +- oebps.addRights(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addSource(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddSource() { +- oebps.addSource("Source", Locale.CANADA_FRENCH, "My Source"); +- oebps.addSource(null, Locale.CANADA_FRENCH, "My Source"); +- oebps.addSource(null, null, "My Source"); +- EList Sources = oebps.getPackage().getMetadata().getSources(); +- Assert.assertEquals("Source", Sources.get(0).getId()); +- Assert.assertEquals("fr_CA", Sources.get(0).getLang()); +- Assert.assertEquals("My Source", getText(Sources.get(0))); +- Assert.assertEquals(null, Sources.get(1).getId()); +- Assert.assertEquals("fr_CA", Sources.get(1).getLang()); +- Assert.assertEquals("My Source", getText(Sources.get(1))); +- Assert.assertEquals(null, Sources.get(2).getId()); +- Assert.assertEquals(null, Sources.get(2).getLang()); +- Assert.assertEquals("My Source", getText(Sources.get(2))); +- // An IllegalArgumentException is expected +- try { +- oebps.addSource(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addSubject(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddSubject() { +- oebps.addSubject("Subject", Locale.CANADA_FRENCH, "My Subject"); +- oebps.addSubject(null, Locale.CANADA_FRENCH, "My Subject"); +- oebps.addSubject(null, null, "My Subject"); +- EList subjects = oebps.getPackage().getMetadata().getSubjects(); +- Assert.assertEquals("Subject", subjects.get(0).getId()); +- Assert.assertEquals("fr_CA", subjects.get(0).getLang()); +- Assert.assertEquals("My Subject", getText(subjects.get(0))); +- Assert.assertEquals(null, subjects.get(1).getId()); +- Assert.assertEquals("fr_CA", subjects.get(1).getLang()); +- Assert.assertEquals("My Subject", getText(subjects.get(1))); +- Assert.assertEquals(null, subjects.get(2).getId()); +- Assert.assertEquals(null, subjects.get(2).getLang()); +- Assert.assertEquals("My Subject", getText(subjects.get(2))); +- try { +- oebps.addSubject(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for +- * {@link org.eclipse.mylyn.docs.epub.core.Publication#addTitle(java.lang.String, java.util.Locale, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddTitle() { +- oebps.addTitle("Title", Locale.CANADA_FRENCH, "My Title"); +- oebps.addTitle(null, Locale.CANADA_FRENCH, "My Title"); +- oebps.addTitle(null, null, "My Title"); +- EList titles = oebps.getPackage().getMetadata().getTitles(); +- Assert.assertEquals("Title", titles.get(0).getId()); +- Assert.assertEquals("fr_CA", titles.get(0).getLang()); +- Assert.assertEquals("My Title", getText(titles.get(0))); +- Assert.assertEquals(null, titles.get(1).getId()); +- Assert.assertEquals("fr_CA", titles.get(1).getLang()); +- Assert.assertEquals("My Title", getText(titles.get(1))); +- Assert.assertEquals(null, titles.get(2).getId()); +- Assert.assertEquals(null, titles.get(2).getLang()); +- Assert.assertEquals("My Title", getText(titles.get(2))); +- try { +- oebps.addTitle(null, null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#addType(java.lang.String, java.lang.String)} +- * . +- */ +- @Test +- public final void testAddType() { +- oebps.addType("Type", "My Type"); +- oebps.addType(null, "My Type"); +- EList<org.eclipse.mylyn.docs.epub.dc.Type> Types = oebps.getPackage().getMetadata().getTypes(); +- Assert.assertEquals("Type", Types.get(0).getId()); +- Assert.assertEquals("My Type", getText(Types.get(0))); +- Assert.assertEquals(null, Types.get(1).getId()); +- Assert.assertEquals("My Type", getText(Types.get(1))); +- try { +- oebps.addType(null, null); +- fail(); +- } catch (IllegalArgumentException e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#generateTableOfContents()} . +- */ +- @Test +- public final void testGenerateTableOfContents() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getIdentifier()}. +- */ +- @Test +- public final void testGetIdentifier() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getItemById(java.lang.String)} . +- */ +- @Test +- public final void testGetItemById() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getItemsByMIMEType(java.lang.String)} . +- */ +- @Test +- public final void testGetItemsByMIMEType() { +- Item i_in_1 = oebps.addItem(new File("testdata/images/subfolder-drawing.svg")); +- Item i_in_2 = oebps.addItem(new File("testdata/plain-page.xhtml")); +- List<Item> i_out_1 = oebps.getItemsByMIMEType("image/svg+xml"); +- assertEquals(1, i_out_1.size()); +- assertEquals(i_in_1, i_out_1.get(0)); +- List<Item> i_out_2 = oebps.getItemsByMIMEType("application/xhtml+xml"); +- assertEquals(1, i_out_2.size()); +- assertEquals(i_in_2, i_out_2.get(0)); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getPackage()}. +- */ +- @Test +- public final void testGetOpfPackage() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getRootFolder()}. +- */ +- @Test +- public final void testGetRootFolder() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getSpine()}. +- */ +- @Test +- public final void testGetSpine() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getTableOfContents()} . +- */ +- @Test +- public final void testGetTableOfContents() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#getValidationMessages()} . +- */ +- @Test +- public final void testGetValidationMessages() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#pack(java.io.File)}. An EPUB where only a +- * single page has been added shall be packed without issues +- * +- * @throws Exception +- */ +- @Test +- public final void testPack_EPUB2() throws Exception { +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile); +- oebps.validateMetadata(); +- Report report = new DefaultReportImpl(epubFile.toString()); +- EpubCheck checker = new EpubCheck(epubFile, report); +- System.out.println("Validating plain EPUB 2.0.1 file"); +- System.out.println("Using version " + EpubCheck.VERSION + " of EpubCheck."); +- Assert.assertTrue(checker.validate()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#pack(java.io.File)}. An EPUB with no content +- * shall fail when packed. +- * +- * @throws Exception +- */ +- @Test +- public final void testPack_Empty() throws Exception { +- epub.add(new OPSPublication()); +- try { +- epubFile.delete(); +- epub.pack(epubFile); +- fail(); +- } catch (ValidationException e) { +- } +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#readTableOfContents(java.io.File)} . +- */ +- @Test +- public final void testReadTableOfContents() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#setCover(java.io.File, java.lang.String)} . +- * <ul> +- * <li>Cover page SVG shall exist in the unpacked folder</li> +- * <li>Cover page HTML shall exist in the unpacked folder</li> +- * </ul> +- * +- * @throws Exception +- */ +- @Test +- public final void testSetCover() throws Exception { +- oebps.setCover(new File("testdata/drawing.svg"), "Title"); +- oebps.addItem(new File("testdata/plain-page.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile); +- +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- oebps = epub2.getOPSPublications().get(0); +- File root = oebps.getRootFolder(); +- File svg = new File(root.getAbsolutePath() + File.separator + "drawing.svg"); +- Assert.assertTrue(svg.exists()); +- File html = new File(root.getAbsolutePath() + File.separator + "cover-page.xhtml"); +- Assert.assertTrue(html.exists()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#setGenerateToc(boolean)} . +- */ +- @Test +- public final void testSetGenerateToc() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#setIdentifierId(java.lang.String)} . +- */ +- @Test +- public final void testSetIdentifierId() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#setIncludeReferencedResources(boolean)}. This +- * is determining whether or not the referenced resources has been picked up and included in the resulting EPUB. +- * Also handles <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=375795">bug 375795</a>: [epub][patch] +- * Automatic inclusion of referenced resources fail on anchor references +- * +- * @throws Exception +- */ +- @Test +- public final void testSetIncludeReferencedResources() throws Exception { +- oebps.setIncludeReferencedResources(true); +- oebps.addItem(new File("testdata/plain-page_link.xhtml")); +- epub.add(oebps); +- // Included resources will only be added when we pack +- epub.pack(epubFile); +- +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- oebps = epub2.getOPSPublications().get(0); +- File root = oebps.getRootFolder(); +- File svg = new File(root.getAbsolutePath() + File.separator + "drawing.svg"); +- Assert.assertTrue(svg.exists()); +- File svg2 = new File(root.getAbsolutePath() + File.separator + "images" + File.separator +- + "subfolder-drawing.svg"); +- Assert.assertTrue(svg2.exists()); +- File html = new File(root.getAbsolutePath() + File.separator + "plain-page_no-header.xhtml"); +- Assert.assertTrue(html.exists()); +- File html2 = new File(root.getAbsolutePath() + File.separator + "plain-page.xhtml"); +- Assert.assertTrue(html2.exists()); +- // The manifest shall only contain the items we have linked to in addition to the toc.ncx and the file that we +- // started from -- a total of six files. +- Assert.assertEquals(6, oebps.getPackage().getManifest().getItems().size()); +- +- } +- +- /** +- * Test method for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=380016">bug 380016</a>: Reference scanner +- * should also include referenced CSS style sheets +- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug380016() throws Exception { +- setErrorExpected(); +- oebps.setIncludeReferencedResources(true); +- oebps.addItem(new File("testdata/OPF-Tests/Bug_380016/chapter.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile); +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- oebps = epub2.getOPSPublications().get(0); +- File root = oebps.getRootFolder(); +- File svg = new File(root.getAbsolutePath() + File.separator + "style.css"); +- Assert.assertTrue(svg.exists()); +- } +- +- /** +- * Test method for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=360701">bug 360701</a>: [epub] Automatic +- * inclusion of referenced resources don't work for WikiText generated HTML. +- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug360701() throws Exception { +- setErrorExpected(); +- oebps.setIncludeReferencedResources(true); +- // This page is similar to what WikiText would generate +- oebps.addItem(new File("testdata/plain-page_link.html")); +- epub.add(oebps); +- // Included resources will only be added when we pack +- epub.pack(epubFile); +- +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- oebps = epub2.getOPSPublications().get(0); +- File root = oebps.getRootFolder(); +- File svg = new File(root.getAbsolutePath() + File.separator + "drawing.svg"); +- Assert.assertTrue(svg.exists()); +- File svg2 = new File(root.getAbsolutePath() + File.separator + "images" + File.separator +- + "subfolder-drawing.svg"); +- Assert.assertTrue(svg2.exists()); +- File html = new File(root.getAbsolutePath() + File.separator + "plain-page_no-header.html"); +- Assert.assertTrue(html.exists()); +- +- } +- +- /** +- * Test method for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=373052">bug 373052</a>: [epub] Reference +- * scanner does not handle absolute paths +- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug373052() throws Exception { +- setErrorExpected(); +- // We need to link to a absolute file so we create a temporary HTML file +- // in which we have the link.m +- File htmlFile = File.createTempFile("temp", ".xhtml"); +- File svgFile = new File("testdata/drawing.svg"); +- +- FileWriter fw = new FileWriter(htmlFile); +- // A proper declaration must be added or the file type cannot be +- // correctly detected. +- fw.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); +- fw.write("<!DOCTYPE html\n" +- + " PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">"); +- fw.write("<html xmlns=\"http://www.w3.org/1999/xhtml\"><body>"); +- fw.write("<img src=\"" + svgFile.getAbsolutePath() + "\"/>"); +- fw.write("</body></html>"); +- fw.close(); +- +- oebps.setIncludeReferencedResources(true); +- oebps.addItem(htmlFile); +- epub.add(oebps); +- epub.pack(epubFile); +- +- htmlFile.delete(); +- +- EPUB epub2 = new EPUB(); +- epub2.unpack(epubFile, epubFolder); +- oebps = epub2.getOPSPublications().get(0); +- File root = oebps.getRootFolder(); +- File svg = new File(root.getAbsolutePath() + File.separator + "drawing.svg"); +- Assert.assertTrue(svg.exists()); +- +- } +- +- /** +- * Test method for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=376312">bug 376312</a>: [epub] Automatic +- * inclusion of detected resources may add the same resource twice or more +- * <p> +- * File A references file C as do file B. File C references file A. Before the fix there would be two instances of +- * file C. +- * </p> +- * +- * @throws Exception +- */ +- public final void test_Bug376312() throws Exception { +- setErrorExpected(); +- oebps.setIncludeReferencedResources(true); +- oebps.addItem(new File("testdata/circular/file-a.xhtml")); +- oebps.addItem(new File("testdata/circular/file-b.xhtml")); +- epub.add(oebps); +- epub.pack(epubFile); +- EList<Item> items = oebps.getPackage().getManifest().getItems(); +- // File A, B, C and the NCX +- assertEquals(4, items.size()); +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#setTableOfContents(java.io.File)} . +- * +- * @see TestOPS2Publication#testSetTableOfContents() +- */ +- @Test +- public final void testSetTableOfContents() { +- // Handled by subclass test. +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#unpack(java.io.File)} . +- */ +- @Test +- public final void testUnpack() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#validateContents()} . +- */ +- @Test +- public final void testValidateContents() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#validateMetadata()} . +- */ +- @Test +- public final void testValidateMetadata() { +- // TODO +- } +- +- /** +- * Test method for {@link org.eclipse.mylyn.docs.epub.core.Publication#writeTableOfContents(java.io.File)} . +- */ +- @Test +- public final void testWriteTableOfContents() { +- // TODO +- } +- +- private class EPUB_OPF_Test extends OPSPublication { +- public void testReadOPF(File rootFile) throws IOException { +- readOPF(rootFile); +- } +- } +- +- /** +- * See if the OPF file generated by this tooling can be read. +- * +- * @throws Exception +- */ +- @Test +- public final void testReadOCF_Dogfood() throws Exception { +- File rootFile = new File("testdata/OPF-Tests/Dogfood/content.opf"); +- EPUB_OPF_Test epub = new EPUB_OPF_Test(); +- epub.testReadOPF(rootFile); +- } +- +- /** +- * This case was discovered when testing an EPUB file generated by DocBook Reading the OPF fails with a +- * java.net.SocketException: Unexpected end of file from server. On closer inspection we can see that the file is +- * declared as XHTML (which it of course is not). This is probably due to an issue in DocBook XSL 1.76.1 +- * +- * @see http://sourceforge.net/tracker/index.php?func=detail&aid=3353537 &group_id=21935&atid=373747. +- * @throws Exception +- */ +- @Test +- public final void testReadOCF_SocketException() throws Exception { +- File rootFile = new File("testdata/OPF-Tests/SocketException/content.opf"); +- EPUB_OPF_Test oebps = new EPUB_OPF_Test(); +- oebps.testReadOPF(rootFile); +- } +- +- /** +- * Test method for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=380729">bug 380729</a>: Allow reference +- * elements to have "other." types +- * +- * @throws Exception +- */ +- @Test +- public final void test_Bug380729() throws Exception { +- // Validation is normally not performed when loading content. However +- // the previous implementation of the reference type was an +- // enumeration so it would fail when attempting to set it and there +- // was no matching item. Hence this code should now pass as the OPF +- // contains previously invalid values. +- File rootFile = new File("testdata/OPF-Tests/Bug_380729/content.opf"); +- EPUB_OPF_Test oebps = new EPUB_OPF_Test(); +- oebps.testReadOPF(rootFile); +- +- // This is required for validation +- oebps.addSubject(null, null, "Required subject"); +- +- // Validate that "cover" and "other.ms-coverpage" already read from +- // the OPF file is OK. +- List<Diagnostic> problems = oebps.validateMetadata(); +- assertEquals(problems.size(), 0); +- +- // Add illegal reference type and see that we get an error +- oebps.addReference("cover-page.xhtml", "cover", "invalid"); +- problems = oebps.validateMetadata(); +- assertEquals(problems.size(), 1); +- } +-} diff --git a/SOURCES/eclipse-mylyn-remove-hudson-discovery.patch b/SOURCES/eclipse-mylyn-remove-hudson-discovery.patch new file mode 100644 index 0000000..090dd71 --- /dev/null +++ b/SOURCES/eclipse-mylyn-remove-hudson-discovery.patch @@ -0,0 +1,292 @@ +diff --git org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/META-INF/MANIFEST.MF org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/META-INF/MANIFEST.MF +index dc4a512..ab101b8 100644 +--- org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/META-INF/MANIFEST.MF ++++ org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/META-INF/MANIFEST.MF +@@ -20,5 +20,4 @@ Require-Bundle: org.eclipse.core.runtime, + Bundle-ActivationPolicy: lazy + Bundle-RequiredExecutionEnvironment: JavaSE-1.6 + Bundle-Localization: plugin +-Export-Package: org.eclipse.mylyn.internal.hudson.ui;x-internal:=true +-Bundle-Activator: org.eclipse.mylyn.internal.hudson.ui.HudsonUiPlugin ++ +diff --git org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/build.properties org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/build.properties +index 5ea1ded..aa184c6 100644 +--- org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/build.properties ++++ org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/build.properties +@@ -18,4 +18,4 @@ bin.includes = META-INF/,\ + icons/ + src.includes = about.html + +-jars.extra.classpath = platform:/plugin/org.eclipse.ecf,platform:/plugin/org.eclipse.ecf.discovery,platform:/plugin/org.eclipse.ecf.provider.discovery,platform:/plugin/org.eclipse.ecf.provider.jmdns ++#jars.extra.classpath = platform:/plugin/org.eclipse.ecf,platform:/plugin/org.eclipse.ecf.discovery,platform:/plugin/org.eclipse.ecf.provider.discovery,platform:/plugin/org.eclipse.ecf.provider.jmdns +diff --git org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/plugin.xml org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/plugin.xml +index d3f9f4f..27afb29 100644 +--- org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/plugin.xml ++++ org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/plugin.xml +@@ -34,11 +34,4 @@ + </description> + </wizard> + </extension> +- <extension +- point="org.eclipse.mylyn.builds.ui.startup"> +- <startup +- class="org.eclipse.mylyn.internal.hudson.ui.HudsonStartup"> +- </startup> +- </extension> +- + </plugin> +diff --git org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonDiscovery.java org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonDiscovery.java +deleted file mode 100644 +index 9500904..0000000 +--- org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonDiscovery.java ++++ /dev/null +@@ -1,208 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2010, 2011 Itema AS and others. +- * All rights reserved. This program and the accompanying materials +- * are made available under the terms of the Eclipse Public License v1.0 +- * which accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Torkild U. Resheim - initial API and implementation +- * Torkild U. Resheim - Uniquely identify Jenkins servers, bug 341725 +- * Torkild U. Resheim - Distinguish between Hudson and Jenkins, bug 353861 +- * Tasktop Technologies - improvements +- *******************************************************************************/ +- +-package org.eclipse.mylyn.internal.hudson.ui; +- +-import java.net.URISyntaxException; +-import java.util.List; +-import java.util.UUID; +- +-import org.eclipse.core.runtime.IStatus; +-import org.eclipse.core.runtime.Status; +-import org.eclipse.ecf.core.ContainerConnectException; +-import org.eclipse.ecf.core.ContainerCreateException; +-import org.eclipse.ecf.core.ContainerFactory; +-import org.eclipse.ecf.core.IContainer; +-import org.eclipse.ecf.discovery.IDiscoveryLocator; +-import org.eclipse.ecf.discovery.IServiceEvent; +-import org.eclipse.ecf.discovery.IServiceInfo; +-import org.eclipse.ecf.discovery.IServiceListener; +-import org.eclipse.ecf.discovery.IServiceProperties; +-import org.eclipse.ecf.discovery.identity.IServiceID; +-import org.eclipse.ecf.discovery.identity.IServiceTypeID; +-import org.eclipse.mylyn.builds.ui.BuildsUi; +-import org.eclipse.mylyn.commons.core.StatusHandler; +-import org.eclipse.mylyn.commons.repositories.core.RepositoryLocation; +-import org.eclipse.osgi.util.NLS; +- +-/** +- * This class implements a mechanism for discovering Hudson and Jenkins servers through the use of Multicast DNS (MDNS). +- * +- * @author Torkild U. Resheim, Itema AS +- * @author Steffen Pingel +- */ +-public class HudsonDiscovery { +- /** +- * This class works around a source incompatibility between the org.eclipse.ecf.discovery version in Luna and +- * earlier versions. Version 5.0 added the triggerDiscovery method to IServiceListener. This class can be extended +- * in order to implement this method without the @Overide annotation causing compilation to fail against earlier +- * versions (e.g. Kepler). +- */ +- private static abstract class AbstractServiceListener { +- public abstract boolean triggerDiscovery(); +- } +- +- private final class HudsonServiceListener extends AbstractServiceListener implements IServiceListener { +- public void serviceDiscovered(IServiceEvent anEvent) { +- IServiceInfo serviceInfo = anEvent.getServiceInfo(); +- IServiceID serviceId = serviceInfo.getServiceID(); +- IServiceTypeID serviceTypeId = serviceId.getServiceTypeID(); +- // Note that Jenkins will claim that it's both Jenkins and +- // Hudson for backward compatibility. +- if (serviceTypeId.getName().equals(JENKINS_MDNS_ID)) { +- IServiceProperties properties = serviceInfo.getServiceProperties(); +- try { +- if (properties.getProperty(URL_PROPERTY) == null) { +- notifyMessage(Messages.JenkinsDiscovery_MessageTitle, NLS.bind( +- Messages.JenkinsDiscovery_MissingURL, new Object[] { serviceInfo.getLocation() +- .getHost() })); +- } else { +- issueJenkinsNotification(properties); +- } +- } catch (URISyntaxException e) { +- StatusHandler.log(new Status(IStatus.ERROR, HudsonConnectorUi.ID_PLUGIN, NLS.bind( +- Messages.Discovery_IncorrectURI, new Object[] { properties.getProperty(URL_PROPERTY) +- .toString() }), e)); +- } +- } +- if (serviceTypeId.getName().equals(HUDSON_MDNS_ID)) { +- IServiceProperties properties = serviceInfo.getServiceProperties(); +- try { +- if (properties.getProperty(URL_PROPERTY) == null) { +- notifyMessage(Messages.HudsonDiscovery_MessageTitle, NLS.bind( +- Messages.HudsonDiscovery_MissingURL, +- new Object[] { serviceInfo.getLocation().getHost() })); +- } else { +- issueHudsonNotification(properties); +- } +- } catch (URISyntaxException e) { +- StatusHandler.log(new Status(IStatus.ERROR, HudsonConnectorUi.ID_PLUGIN, NLS.bind( +- Messages.Discovery_IncorrectURI, new Object[] { properties.getProperty(URL_PROPERTY) +- .toString() }), e)); +- } +- } +- } +- +- public void serviceUndiscovered(IServiceEvent anEvent) { +- // Ignore this for now +- } +- +- @Override +- public boolean triggerDiscovery() { +- return false; +- } +- } +- +- private static final String ECF_DISCOVERY_JMDNS = "ecf.discovery.jmdns"; //$NON-NLS-1$ +- +- private static final String HUDSON_MDNS_ID = "_hudson._tcp.local._iana"; //$NON-NLS-1$ +- +- private static final String JENKINS_MDNS_ID = "_jenkins._tcp.local._iana"; //$NON-NLS-1$ +- +- private static final String URL_PROPERTY = "url"; //$NON-NLS-1$ +- +- /** Server id property name (Jenkins only). */ +- private static final String SERVER_ID_PROPERTY = "server-id"; //$NON-NLS-1$ +- +- private IContainer container; +- +- public HudsonDiscovery() { +- } +- +- protected IContainer getContainer() throws ContainerCreateException { +- return ContainerFactory.getDefault().createContainer(ECF_DISCOVERY_JMDNS); +- } +- +- /** +- * Determines whether or not the detected server is a new server or not. +- * +- * @param url +- * the server URL +- * @param id +- * the server identifier +- * @return <code>true</code> if the detected server is new. +- */ +- private boolean isNew(String url, String id) { +- if (url == null) { +- return false; +- } +- List<RepositoryLocation> locations = BuildsUi.getServerLocations(); +- for (RepositoryLocation location : locations) { +- if (location.hasUrl(url) || location.getId().equals(id)) { +- return false; +- } +- } +- return true; +- } +- +- public void start() { +- try { +- container = getContainer(); +- final IDiscoveryLocator adapter = (IDiscoveryLocator) container.getAdapter(IDiscoveryLocator.class); +- adapter.addServiceListener(new HudsonServiceListener()); +- container.connect(null, null); +- +- } catch (ContainerCreateException e) { +- StatusHandler.log(new Status(IStatus.WARNING, HudsonConnectorUi.ID_PLUGIN, +- Messages.Discovery_CouldNotStartService, e)); +- } catch (ContainerConnectException e) { +- StatusHandler.log(new Status(IStatus.WARNING, HudsonConnectorUi.ID_PLUGIN, +- Messages.Discovery_CouldNotStartService, e)); +- } +- } +- +- public void stop() { +- if (container != null) { +- container.disconnect(); +- container = null; +- } +- } +- +- private void notifyMessage(String title, String description) { +- BuildsUi.serverDiscovered(title, description); +- } +- +- private void issueHudsonNotification(IServiceProperties properties) throws URISyntaxException { +- String url = properties.getProperty(URL_PROPERTY).toString(); +- String id = getId(properties); +- if (isNew(url, id)) { +- notifyMessage( +- Messages.HudsonDiscovery_MessageTitle, +- NLS.bind(Messages.HudsonDiscovery_MessageText, new Object[] { url, +- Messages.HudsonDiscovery_ServerName, url, id })); +- } +- } +- +- private void issueJenkinsNotification(IServiceProperties properties) throws URISyntaxException { +- String url = properties.getProperty(URL_PROPERTY).toString(); +- String id = getId(properties); +- if (isNew(url, id)) { +- // Change the first segment (org.eclipse.mylyn.hudson) to the id of +- // the new repository type when we start differentiation between the two +- notifyMessage( +- Messages.JenkinsDiscovery_MessageTitle, +- NLS.bind(Messages.JenkinsDiscovery_MessageText, new Object[] { url, +- Messages.JenkinsDiscovery_ServerName, url, id })); +- } +- } +- +- private String getId(IServiceProperties properties) { +- String id = (String) properties.getProperty(SERVER_ID_PROPERTY); +- if (id == null) { +- id = UUID.randomUUID().toString(); +- } +- return id; +- } +- +-} +diff --git org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonUiPlugin.java org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonUiPlugin.java +deleted file mode 100644 +index a160eb0..0000000 +--- org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonUiPlugin.java ++++ /dev/null +@@ -1,35 +0,0 @@ +-/******************************************************************************* +- * Copyright (c) 2011 Tasktop Technologies. +- * All rights reserved. This program and the accompanying materials +- * are made available under the terms of the Eclipse Public License v1.0 +- * which accompanies this distribution, and is available at +- * http://www.eclipse.org/legal/epl-v10.html +- * +- * Contributors: +- * Tasktop Technologies - initial API and implementation +- *******************************************************************************/ +- +-package org.eclipse.mylyn.internal.hudson.ui; +- +-import org.eclipse.ui.plugin.AbstractUIPlugin; +-import org.osgi.framework.BundleContext; +- +-/** +- * @author Steffen Pingel +- */ +-public class HudsonUiPlugin extends AbstractUIPlugin { +- +- public static String ID_PLUGIN = "org.eclipse.mylyn.hudson.ui"; +- +- public HudsonUiPlugin() { +- } +- +- @Override +- public void stop(BundleContext context) throws Exception { +- if (HudsonStartup.getInstance() != null) { +- HudsonStartup.getInstance().stop(); +- } +- super.stop(context); +- } +- +-} diff --git a/SOURCES/eclipse-mylyn-remove-nullable-annotation.patch b/SOURCES/eclipse-mylyn-remove-nullable-annotation.patch new file mode 100644 index 0000000..19f34fe --- /dev/null +++ b/SOURCES/eclipse-mylyn-remove-nullable-annotation.patch @@ -0,0 +1,19 @@ +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskInitializationData.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskInitializationData.java +index 39c3f1f..5bc9214 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskInitializationData.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskInitializationData.java +@@ -191,7 +191,6 @@ public class TaskInitializationData implements ITaskMapping { + /** + * Throws {@link UnsupportedOperationException}. + */ +- @Nullable + public void merge(ITaskMapping source) { + throw new UnsupportedOperationException(); + } +@@ -248,4 +247,4 @@ public class TaskInitializationData implements ITaskMapping { + attributesById.setAttribute(TaskAttribute.VERSION, version); + } + +-} +\ No newline at end of file ++} diff --git a/SOURCES/fetch-eclipse-mylyn-incubator.sh b/SOURCES/fetch-eclipse-mylyn-incubator.sh new file mode 100755 index 0000000..06bdaf2 --- /dev/null +++ b/SOURCES/fetch-eclipse-mylyn-incubator.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +set -e + +RELEASE_TAG="f327e85766e4919d6a822dd516a7b9cb77e88b4a" +FETCHED_SOURCES_NAME="eclipse-mylyn-${RELEASE_TAG}-incubator-fetched-src" + +#clean up old runs +rm -rf org.eclipse.mylyn.all +rm -rf $FETCHED_SOURCES_NAME +rm -rf $RELEASE_TAG + +#checkout +git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.incubator.git $RELEASE_TAG +cd $RELEASE_TAG +git checkout $RELEASE_TAG + +#remove projects we do not need +ls -1 | grep -v -e "org.eclipse.mylyn.trac.wiki-feature" \ + -e "org.eclipse.mylyn.trac.wiki" \ + -e "org.eclipse.mylyn.web.tasks-feature" \ + -e "org.eclipse.mylyn.web.tasks" | xargs rm -rf + +#remove precomipled binaries +find . -type f -name ".class" -exec rm {} \; +find . -type f -name ".jar" -exec rm {} \; +rm -rf .git +find . -type f -name ".gitignore" -exec rm {} \; +find . -type f -name ".gitmodules" -exec rm {} \; + +cd .. + +#package and clean up +mv $RELEASE_TAG $FETCHED_SOURCES_NAME +tar -cjf $FETCHED_SOURCES_NAME.tar.bz2 $FETCHED_SOURCES_NAME +rm -rf $FETCHED_SOURCES_NAME diff --git a/SOURCES/fetch-eclipse-mylyn.sh b/SOURCES/fetch-eclipse-mylyn.sh new file mode 100755 index 0000000..cb61bec --- /dev/null +++ b/SOURCES/fetch-eclipse-mylyn.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e + +RELEASE_TAG="R_3_12_0" +FETCHED_SOURCES_NAME="eclipse-mylyn-${RELEASE_TAG}-fetched-src" + +#clean up old runs +rm -rf org.eclipse.mylyn.all +rm -rf $FETCHED_SOURCES_NAME +rm -rf $RELEASE_TAG + +#checkout +git clone --recursive git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.all.git $RELEASE_TAG +cd $RELEASE_TAG +git checkout $RELEASE_TAG +git submodule update + +#remove precomipled binaries +find . -type f -name ".class" -exec rm {} \; +find . -type f -name ".jar" -exec rm {} \; +rm -rf .git +find . -type f -name ".gitignore" -exec rm {} \; +find . -type f -name ".gitmodules" -exec rm {} \; + +cd .. + +#package and clean up +mv $RELEASE_TAG $FETCHED_SOURCES_NAME +tar -cjf $FETCHED_SOURCES_NAME.tar.bz2 $FETCHED_SOURCES_NAME +rm -rf $FETCHED_SOURCES_NAME diff --git a/SOURCES/lucene4.patch b/SOURCES/lucene4.patch new file mode 100644 index 0000000..faa4f40 --- /dev/null +++ b/SOURCES/lucene4.patch @@ -0,0 +1,168 @@ +diff --git a/org.eclipse.mylyn.tasks.index.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.index.core/META-INF/MANIFEST.MF +index 44080b1..962ff79 100644 +--- org.eclipse.mylyn.tasks.index.core/META-INF/MANIFEST.MF ++++ org.eclipse.mylyn.tasks.index.core/META-INF/MANIFEST.MF +@@ -7,7 +7,9 @@ Bundle-Vendor: %Bundle-Vendor + Require-Bundle: org.eclipse.core.runtime, + org.eclipse.mylyn.tasks.core;bundle-version="3.8.0", + org.eclipse.mylyn.commons.core;bundle-version="3.8.0", +- org.apache.lucene.core;bundle-version="[2.9.1,3.7.0)" ++ org.apache.lucene.core;bundle-version="[4.0.0,5.0.0)", ++ org.apache.lucene.queryparser;bundle-version="[4.0.0,5.0.0)", ++ org.apache.lucene.analysis;bundle-version="[4.0.0,5.0.0)" + Bundle-RequiredExecutionEnvironment: JavaSE-1.6 + Bundle-ActivationPolicy: lazy + Export-Package: org.eclipse.mylyn.internal.tasks.index.core;x-internal:=true +diff --git a/org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskAnalyzer.java b/org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskAnalyzer.java +index b1b88c1..1cbf72c 100644 +--- org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskAnalyzer.java ++++ org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskAnalyzer.java +@@ -11,8 +11,12 @@ + *******************************************************************************/ + package org.eclipse.mylyn.internal.tasks.index.core; + +-import org.apache.lucene.analysis.KeywordAnalyzer; +-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper; ++import java.util.HashMap; ++import java.util.Map; ++ ++import org.apache.lucene.analysis.Analyzer; ++import org.apache.lucene.analysis.core.KeywordAnalyzer; ++import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper; + import org.apache.lucene.analysis.standard.StandardAnalyzer; + import org.apache.lucene.util.Version; + +@@ -24,10 +28,12 @@ import org.apache.lucene.util.Version; + class TaskAnalyzer { + + public static PerFieldAnalyzerWrapper instance() { +- PerFieldAnalyzerWrapper wrapper = new PerFieldAnalyzerWrapper(new StandardAnalyzer(Version.LUCENE_CURRENT)); +- wrapper.addAnalyzer(TaskListIndex.FIELD_IDENTIFIER.getIndexKey(), new KeywordAnalyzer()); +- wrapper.addAnalyzer(TaskListIndex.FIELD_TASK_KEY.getIndexKey(), new KeywordAnalyzer()); +- wrapper.addAnalyzer(TaskListIndex.FIELD_REPOSITORY_URL.getIndexKey(), new KeywordAnalyzer()); ++ Map<String, Analyzer> analyzerPerField = new HashMap<String, Analyzer>(); ++ analyzerPerField.put(TaskListIndex.FIELD_IDENTIFIER.getIndexKey(), new KeywordAnalyzer()); ++ analyzerPerField.put(TaskListIndex.FIELD_TASK_KEY.getIndexKey(), new KeywordAnalyzer()); ++ analyzerPerField.put(TaskListIndex.FIELD_REPOSITORY_URL.getIndexKey(), new KeywordAnalyzer()); ++ PerFieldAnalyzerWrapper wrapper = new PerFieldAnalyzerWrapper(new StandardAnalyzer(Version.LUCENE_CURRENT), ++ analyzerPerField); + return wrapper; + } + } +--- org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskListIndex.java.sav 2014-03-28 12:12:59.000000000 +0200 ++++ org.eclipse.mylyn.tasks.index.core/src/org/eclipse/mylyn/internal/tasks/index/core/TaskListIndex.java 2014-03-31 14:52:27.320005081 +0300 +@@ -38,12 +38,16 @@ import org.apache.lucene.document.DateTo + import org.apache.lucene.document.Document; + import org.apache.lucene.document.Field; + import org.apache.lucene.document.Field.Store; ++import org.apache.lucene.document.StringField; + import org.apache.lucene.index.CorruptIndexException; ++import org.apache.lucene.index.DirectoryReader; + import org.apache.lucene.index.IndexReader; + import org.apache.lucene.index.IndexWriter; ++import org.apache.lucene.index.IndexWriterConfig; ++import org.apache.lucene.index.IndexableField; + import org.apache.lucene.index.Term; +-import org.apache.lucene.queryParser.ParseException; +-import org.apache.lucene.queryParser.QueryParser; ++import org.apache.lucene.queryparser.classic.ParseException; ++import org.apache.lucene.queryparser.classic.QueryParser; + import org.apache.lucene.search.BooleanClause; + import org.apache.lucene.search.BooleanClause.Occur; + import org.apache.lucene.search.BooleanQuery; +@@ -591,12 +595,6 @@ public class TaskListIndex implements IT + } catch (IOException e) { + StatusHandler.log(new Status(IStatus.ERROR, TasksIndexCore.ID_PLUGIN, + "Unexpected failure within task list index", e)); //$NON-NLS-1$ +- } finally { +- try { +- indexSearcher.close(); +- } catch (IOException e) { +- // ignore +- } + } + + } else { +@@ -674,12 +672,6 @@ public class TaskListIndex implements IT + } catch (IOException e) { + StatusHandler.log(new Status(IStatus.ERROR, TasksIndexCore.ID_PLUGIN, + "Unexpected failure within task list index", e)); //$NON-NLS-1$ +- } finally { +- try { +- indexSearcher.close(); +- } catch (IOException e) { +- // ignore +- } + } + } + } finally { +@@ -769,7 +761,7 @@ public class TaskListIndex implements IT + try { + synchronized (this) { + if (indexReader == null) { +- indexReader = IndexReader.open(directory, true); ++ indexReader = DirectoryReader.open(directory); + lastResults = null; + } + return indexReader; +@@ -983,7 +975,7 @@ public class TaskListIndex implements IT + if (value == null) { + return; + } +- Field field = document.getField(indexField.getIndexKey()); ++ IndexableField field = document.getField(indexField.getIndexKey()); + if (field == null) { + field = new Field(indexField.getIndexKey(), value, Store.YES, + org.apache.lucene.document.Field.Index.ANALYZED); +@@ -991,7 +983,7 @@ public class TaskListIndex implements IT + } else { + String existingValue = field.stringValue(); + if (!indexField.equals(FIELD_PERSON) || !existingValue.contains(value)) { +- field.setValue(existingValue + " " + value); //$NON-NLS-1$ ++ document.add(new StringField(field.name(), existingValue + " " + value, Store.YES)); //$NON-NLS-1$ + } + } + } +@@ -1004,13 +996,13 @@ public class TaskListIndex implements IT + // move the date by the GMT offset if there is any + + String value = DateTools.dateToString(date, Resolution.HOUR); +- Field field = document.getField(indexField.getIndexKey()); ++ IndexableField field = document.getField(indexField.getIndexKey()); + if (field == null) { + field = new Field(indexField.getIndexKey(), value, Store.YES, + org.apache.lucene.document.Field.Index.ANALYZED); + document.add(field); + } else { +- field.setValue(value); ++ document.add(new StringField(field.name(), value, Store.YES)); + } + } + +@@ -1069,7 +1061,7 @@ public class TaskListIndex implements IT + try { + if (!rebuildIndex) { + try { +- IndexReader reader = IndexReader.open(directory, false); ++ IndexReader reader = DirectoryReader.open(directory); + reader.close(); + } catch (CorruptIndexException e) { + rebuildIndex = true; +@@ -1216,7 +1208,7 @@ public class TaskListIndex implements IT + writer = createIndexWriter(true); + } catch (CorruptIndexException e) { + if (directory instanceof FSDirectory) { +- cleanDirectory(((FSDirectory) directory).getFile()); ++ cleanDirectory(((FSDirectory) directory).getDirectory()); + writer = createIndexWriter(true); + } else { + throw e; +@@ -1264,7 +1256,7 @@ public class TaskListIndex implements IT + + protected IndexWriter createIndexWriter(boolean create) throws CorruptIndexException, LockObtainFailedException, + IOException { +- return new IndexWriter(directory, TaskAnalyzer.instance(), create, IndexWriter.MaxFieldLength.UNLIMITED); ++ return new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_CURRENT, TaskAnalyzer.instance())); + } + + /** diff --git a/SOURCES/redhat-bugzilla-custom-transitions.txt b/SOURCES/redhat-bugzilla-custom-transitions.txt new file mode 100644 index 0000000..3d600bc --- /dev/null +++ b/SOURCES/redhat-bugzilla-custom-transitions.txt @@ -0,0 +1,15 @@ +CustomStatusNames=true +DuplicateStatus=CLOSED +ClosedCustomStatus=CLOSED +ClosedCustomStatus=POST +<transitions> +name :UNCONFIRMED:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED: +name :NEW:, can_change_to :ASSIGNED,MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED: +name :ASSIGNED:, can_change_to :MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED: +name :MODIFIED:, can_change_to :NEW,ASSIGNED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED: +name :ON_DEV:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_QA,RELEASE_PENDING,POST,CLOSED: +name :ON_QA:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,RELEASE_PENDING,POST,VERIFIED,CLOSED: +name :RELEASE_PENDING:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,POST,CLOSED: +name :POST:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,CLOSED: +name :VERIFIED:, can_change_to :ASSIGNED,RELEASE_PENDING,CLOSED: +name :CLOSED:, can_change_to :ASSIGNED: diff --git a/SPECS/eclipse-mylyn.spec b/SPECS/eclipse-mylyn.spec new file mode 100644 index 0000000..4c6dd3f --- /dev/null +++ b/SPECS/eclipse-mylyn.spec @@ -0,0 +1,1086 @@ +%{?scl:%scl_package eclipse-mylyn} +%{!?scl:%global pkg_name %{name}} + +%global install_loc %{_datadir}/eclipse/dropins +%global tag R_3_12_0 +%global incubator_tag a1a4646ea6d027e89f828a9c45bd8fa79721a90c + +%{!?scl:%global _non_scl_javadir %{_javadir}} +%{?scl:%global _non_scl_javadir /usr/share/java} + +Name: %{?scl_prefix}eclipse-mylyn +Summary: Eclipse Mylyn main feature. +Version: 3.12.0 +Release: 4%{?dist} +License: EPL +URL: http://www.eclipse.org/mylyn + +# bash fetch-eclipse-mylyn.sh +Source0: %{pkg_name}-%{tag}-fetched-src.tar.xz +Source1: fetch-eclipse-mylyn.sh +Source6: redhat-bugzilla-custom-transitions.txt + +Source7: eclipse-mylyn-%{incubator_tag}-incubator-fetched-src.tar.xz +Source8: fetch-eclipse-mylyn-incubator.sh + +Patch0: %{pkg_name}-remove-hudson-discovery.patch +Patch1: %{pkg_name}-add-apache-xmlrpc.patch +Patch2: %{pkg_name}-ensure-sites-build-after-changes.patch +Patch3: %{pkg_name}-disable-online-tests.patch + +Patch4: %{pkg_name}-merge-incubator.patch +Patch5: %{pkg_name}-bug-419133.patch +Patch6: lucene4.patch +Patch7: %{pkg_name}-disable-subclipse.patch +Patch8: %{pkg_name}-remove-epubcheck-tests.patch +Patch9: %{pkg_name}-remove-nullable-annotation.patch + +BuildArch: noarch + +BuildRequires: %{?scl_prefix}eclipse-platform >= 1:4.2.0 +BuildRequires: %{?scl_prefix}eclipse-pde >= 1:4.2.0 +BuildRequires: %{?scl_prefix}eclipse-cdt +BuildRequires: %{?scl_prefix}eclipse-egit +BuildRequires: %{?scl_prefix}eclipse-jgit +BuildRequires: %{?scl_prefix}eclipse-egit +BuildRequires: %{?scl_prefix}eclipse-emf +BuildRequires: %{?scl_prefix}eclipse-license +#Disable jacoco build time only +#BuildRequires: jacoco +BuildRequires: %{?scl_prefix}lucene +BuildRequires: %{?scl_prefix}lucene-queryparser +BuildRequires: %{?maven_scl_prefix}maven-local +BuildRequires: tycho +BuildRequires: apache-commons-lang >= 2.6-6 +BuildRequires: apache-commons-logging +BuildRequires: apache-commons-io >= 2.3 +BuildRequires: ws-commons-util >= 1.0.1-21 +BuildRequires: %{?scl_prefix}xmlrpc-client >= 3.1.3 +BuildRequires: %{?scl_prefix}xmlrpc-common >= 3.1.3 +BuildRequires: %{?scl_prefix}xmlrpc-server >= 3.1.3 +BuildRequires: %{?scl_prefix}rome >= 0.9-1 +BuildRequires: jakarta-commons-httpclient +BuildRequires: %{?scl_prefix}httpcomponents-client >= 4.1.3-2 +BuildRequires: %{?scl_prefix}httpcomponents-core >= 4.1.4 +BuildRequires: %{?scl_prefix}google-gson >= 2.0.0 +BuildRequires: %{?scl_prefix}guava +BuildRequires: xalan-j2 +BuildRequires: junit +BuildRequires: hamcrest +BuildRequires: %{?scl_prefix}objenesis +BuildRequires: %{?scl_prefix}mockito +BuildRequires: %{?maven_scl_prefix}maven-install-plugin +BuildRequires: %{?maven_scl_prefix}maven-deploy-plugin +BuildRequires: %{?maven_scl_prefix}maven-plugin-build-helper +BuildRequires: %{?scl_prefix}tika +BuildRequires: %{?scl_prefix}tika-parsers-epub +BuildRequires: %{?scl_prefix}jsoup + +Requires: %{?scl_prefix}eclipse-platform >= 1:4.2.0 +Requires: apache-commons-lang >= 2.6-6 +Requires: apache-commons-logging +Requires: apache-commons-io >= 2.3 +Requires: ws-commons-util >= 1.0.1-21 +Requires: %{?scl_prefix}xmlrpc-client >= 3.1.3 +Requires: %{?scl_prefix}xmlrpc-common >= 3.1.3 +Requires: %{?scl_prefix}xmlrpc-server >= 3.1.3 +Requires: %{?scl_prefix}rome >= 0.9-1 +Requires: xml-commons-apis +Requires: %{?scl_prefix}httpcomponents-client >= 4.1.3-2 +Requires: %{?scl_prefix}httpcomponents-core >= 4.1.4 +Requires: jakarta-commons-httpclient +Requires: %{?scl_prefix}jdom >= 1.1.2-3 +Requires: %{?scl_prefix}lucene +Requires: %{?scl_prefix}guava +Requires: %{?scl_prefix}google-gson >= 2.0.0 +%{?scl:Requires: %scl_runtime} + +%description +Mylyn integrates task support into Eclipse. It supports offline editing +for certain task repositories and monitors work activity to hide +information that is not relevant to the current task. + +%package context-java +Summary: Mylyn Bridge: Java Development +Requires: %{?scl_prefix}eclipse-jdt +Requires: %{name} = %{version}-%{release} + +%description context-java +Mylyn Task-Focused UI extensions for JDT. Provides focusing of Java +element views and editors. + +%package context-pde +Summary: Mylyn Bridge: Plug-in Development +Requires: %{?scl_prefix}eclipse-pde +Requires: %{name}-context-java = %{version}-%{release} + +%description context-pde +Mylyn Task-Focused UI extensions for PDE, Ant, Team Support and CVS. + +%package context-cdt +Summary: Mylyn Bridge: C/C++ Development +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}eclipse-cdt + +%description context-cdt +Mylyn Task-Focused UI extensions for CDT. Provides focusing of C/C++ +element views and editors. + + +%package context-team +Summary: Mylyn Context Connector: Team Support +Requires: %{name} = %{version}-%{release} + +%description context-team +Mylyn Task-Focused UI extensions for Team version control. + +%package ide +Summary: Mylyn Context Connector: Eclipse IDE +Requires: %{name}-context-team = %{version}-%{release} + +%description ide +Mylyn Task-Focused UI extensions for the Eclipse IDE. +Provides focusing of common IDE views and editors. + +%package tasks-bugzilla +Summary: Mylyn Tasks Connector: Bugzilla +Requires: %{name} = %{version}-%{release} + +%description tasks-bugzilla +Provides Task List integration, offline support and rich editing for the +open source Bugzilla bug tracker. + + +%package docs-wikitext +Summary: Mylyn WikiText +Requires: %{?scl_prefix}eclipse-platform >= 1:3.8.0 +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}jsoup + +%description docs-wikitext +Enables parsing and display of lightweight markup (wiki text). + + +%package docs-htmltext +Summary: Mylyn HtmlText +Requires: %{?scl_prefix}eclipse-platform >= 1:3.8.0 + +%description docs-htmltext +Enables editing of HTML text. + +%package docs-epub +Summary: Mylyn EPub +Requires: %{?scl_prefix}eclipse-platform >= 1:3.8.0 +Requires: %{?scl_prefix}tika +Requires: %{?scl_prefix}tika-parsers-epub +Group: Development/Tools + +%description docs-epub +The EPUB framework in Mylyn Docs offers API to create, manipulate, +read and write EPUB formatted files. + +%package tasks-trac +Summary: Mylyn Tasks Connector: Trac +Requires: %{?scl_prefix}eclipse-platform >= 1:4.2.0 +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}google-gson + +%description tasks-trac +Provides Task List integration, offline support and rich editing +for the open source Trac issue tracker. + +%package tasks-web +Summary: Mylyn Tasks Connector: Web Templates (Advanced) (Incubation) +Requires: %{?scl_prefix}eclipse-platform >= 1:4.2.0 +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}jdom >= 1.1.2-3 +Requires: %{?scl_prefix}rome >= 0.9 +Provides: %{name}-webtasks = %{version}-%{release} + +%description tasks-web +Provides Task List integration for web-based issue trackers +and templates for example projects. + + +%package versions +Summary: Eclipse Mylyn Versions +Requires: %{name} = %{version}-%{release} +Group: Development/Tools + +%description versions +Provides a framework for accessing team providers for Eclipse Mylyn. + + +%package versions-git +Summary: Mylyn Versions Connector: Git +Requires: %{?scl_prefix}eclipse-platform >= 1:3.8.0 +Requires: %{?scl_prefix}eclipse-egit >= 0.10.1 +Requires: %{name}-versions = %{version}-%{release} + +%description versions-git +Provides Git integration for Eclipse Mylyn. + +%package versions-cvs +Summary: Mylyn Versions Connector: CVS +Requires: %{?scl_prefix}eclipse-platform >= 1:3.8.0 +Requires: %{name}-versions = %{version}-%{release} + +%description versions-cvs +Provides CVS integration for Eclipse Mylyn. + +%package builds +Summary: Eclipse Mylyn Builds +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}eclipse-emf +Requires: %{name}-versions = %{version}-%{release} +Requires: %{?scl_prefix}xml-commons-apis + +%description builds +Provides a common framework to interact with continuous integration +build providers using Eclipse Mylyn. + +%package builds-hudson +Summary: Mylyn Builds Connector: Hudson/Jenkins +Requires: %{?scl_prefix}eclipse-platform >= 1:4.2.0-0.6 +Requires: %{name} = %{version}-%{release} +Requires: %{?scl_prefix}google-gson >= 1.6.0 +Requires: %{name}-builds = %{version}-%{release} + +%description builds-hudson +Support for the open source Hudson and Jenkins continuous integration servers. + +%package sdk +Summary: Mylyn SDK +Requires: %{name} = %{version}-%{release} +Requires: %{name}-context-java = %{version}-%{release} +Requires: %{name}-context-pde = %{version}-%{release} +Requires: %{name}-context-cdt = %{version}-%{release} +Requires: %{name}-context-team = %{version}-%{release} +Requires: %{name}-ide = %{version}-%{release} +Requires: %{name}-tasks-bugzilla = %{version}-%{release} +Requires: %{name}-docs-wikitext = %{version}-%{release} +Requires: %{name}-docs-htmltext = %{version}-%{release} +Requires: %{name}-docs-epub = %{version}-%{release} +Requires: %{name}-tasks-trac = %{version}-%{release} +Requires: %{name}-versions = %{version}-%{release} +Requires: %{name}-versions-git = %{version}-%{release} +Requires: %{name}-versions-cvs = %{version}-%{release} +Requires: %{name}-builds = %{version}-%{release} +Requires: %{name}-builds-hudson = %{version}-%{release} +Requires: %{?scl_prefix}guava +Requires: %{?scl_prefix}xalan-j2 +Requires: %{?scl_prefix}hamcrest +Requires: %{?scl_prefix}objenesis +Requires: %{?scl_prefix}junit +Requires: %{?scl_prefix}mockito + +%description sdk +Sources for all Mylyn bundles + +%package tests +Summary: Mylyn test bundles +Requires: %{?scl_prefix}eclipse-tests +Requires: %{?scl_prefix}eclipse-swtbot +%description tests +All the test bundles for mylyn packages. + +%prep +%setup -q -n eclipse-mylyn-%{tag}-fetched-src +tar xaf %{SOURCE7} -C org.eclipse.mylyn.tasks --strip-components=1 + +%patch0 +%patch1 +%patch2 -b .sav +%patch3 -b .sav +%patch4 -b .sav +%patch5 +pushd org.eclipse.mylyn.tasks +%patch6 -b .sav +popd +%patch7 +%patch8 -p1 +%patch9 + +#Disable plugins we can live without and for some reason are redundant (unpackaged or causing build failures). +#There must be empty line after each %%pom_* macro invocation. +grep -l -r --include="pom.xml" findbugs-maven-plugin . | ( while read pom_path; do %pom_remove_plugin org.codehaus.mojo:findbugs-maven-plugin $pom_path ; done ) ; +find . -name feature.xml -exec sed -i -e "s/javax.mail/com.sun.mail.javax.mail/" {} \; +grep -l -r --include="pom.xml" maven-pmd-plugin . | ( while read pom_path; do %pom_remove_plugin org.apache.maven.plugins:maven-pmd-plugin $pom_path ; done ) ; + +#Disable modules we can't build yet +%pom_disable_module org.eclipse.mylyn.reviews . + +%pom_disable_module org.eclipse.mylyn.commons.tck-feature org.eclipse.mylyn.commons +%pom_disable_module org.eclipse.mylyn.commons.compatibility-feature org.eclipse.mylyn.commons + +%pom_disable_module org.eclipse.mylyn.tests org.eclipse.mylyn + +%pom_disable_module org.eclipse.mylyn.test-feature org.eclipse.mylyn.tasks + +%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_disable_module org.eclipse.mylyn.wikitext-standalone org.eclipse.mylyn.docs + +#Disable all tests (except one that was easier to build than patch dependent bundles. +# grep -v org.eclipse.mylyn.doc +#grep -l -r --include="pom.xml" "tests" . | ( while read pom_path; do echo `%pom_xpath_remove "*[local-name() = 'module' and contains(text(),'tests') and not(contains(text(),'tests.'))]" $pom_path` ; done ) ; +# Disable tests for which the required bundles are not included in the update site +%pom_disable_module org.eclipse.mylyn.wikitext.creole.tests org.eclipse.mylyn.docs +%pom_disable_module org.eclipse.mylyn.tasks.activity.tests org.eclipse.mylyn.tasks +%pom_disable_module org.eclipse.mylyn.bugzilla.rest.tests org.eclipse.mylyn.tasks/connector-bugzilla-rest +%pom_disable_module org.eclipse.mylyn.bugzilla.rest.core.tests org.eclipse.mylyn.tasks/connector-bugzilla-rest +%pom_disable_module org.eclipse.mylyn.bugzilla.rest.ui.tests org.eclipse.mylyn.tasks/connector-bugzilla-rest + +#Correct hamcrest and mockito 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.eclipse.core.runtime.compatibility.auth/org.eclipse.core.runtime.compatibility/g" `find . -name MANIFEST.MF` +sed -i -e "s/org.apache.ant.source;/org.apache.ant;/g" `find . -name MANIFEST.MF` +sed -i -e "s/org.apache.xmlrpc/org.apache.xmlrpc,org.apache.xmlrpc.common,org.apache.xmlrpc.server/g" org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.tests/META-INF/MANIFEST.MF +sed -i -e "s/org.apache.xmlrpc;bundle-version=\"3.0.0\"/org.apache.xmlrpc,org.apache.xmlrpc.common/g" org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.tests/META-INF/MANIFEST.MF + +#Remove all architectures that do not match current build architecture. +%pom_xpath_remove "*[local-name() = 'environment' and + (child::*[local-name() = 'os' and not(text() = 'linux')] + or child::*[local-name() = 'ws' and not(text() = 'gtk')] + or child::*[local-name() = 'arch' and not(text() = '%{_arch}')]) ]" org.eclipse.mylyn/org.eclipse.mylyn-parent/pom.xml + +%pom_remove_plugin :tycho-packaging-plugin org.eclipse.mylyn/org.eclipse.mylyn-parent +%pom_remove_plugin :jacoco-maven-plugin org.eclipse.mylyn/org.eclipse.mylyn.maven-parent/pom.xml +%pom_remove_plugin :jacoco-maven-plugin org.eclipse.mylyn/org.eclipse.mylyn-parent/pom.xml +%pom_set_parent org.eclipse.mylyn.tasks:org.eclipse.mylyn.tasks-parent:%{version}-SNAPSHOT org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.wiki/pom.xml +%pom_set_parent org.eclipse.mylyn.tasks:org.eclipse.mylyn.tasks-parent:%{version}-SNAPSHOT org.eclipse.mylyn.tasks/org.eclipse.mylyn.trac.wiki-feature/pom.xml +%pom_set_parent org.eclipse.mylyn.tasks:org.eclipse.mylyn.tasks-parent:%{version}-SNAPSHOT org.eclipse.mylyn.tasks/org.eclipse.mylyn.web.tasks/pom.xml +%pom_set_parent org.eclipse.mylyn.tasks:org.eclipse.mylyn.tasks-parent:%{version}-SNAPSHOT org.eclipse.mylyn.tasks/org.eclipse.mylyn.web.tasks-feature/pom.xml +sed -i -e "s|3.11.0-SNAPSHOT|3.12.0-SNAPSHOT|g" org.eclipse.mylyn.docs/pom.xml + +rm org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.ui/src/org/eclipse/mylyn/internal/hudson/ui/HudsonStartup.java + +#Be more tolerant for guava +sed -i -e "s/compatible/greaterOrEqual/g" org.eclipse.mylyn.versions/org.eclipse.mylyn.versions.sdk-feature/feature.xml +sed -i -e "s/e3.5/e3.6/g" org.eclipse.mylyn.commons/org.eclipse.mylyn.commons-target/pom.xml + +%build +scl enable %{scl} - <<"EOF" +%{?scl:%scl_maven_opts} +export MAVEN_OPTS="-XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}" +xmvn -o clean install -Dmaven.test.skip=true +EOF + +%install +install -d %{buildroot}%{install_loc}/mylyn +install -d %{buildroot}%{install_loc}/mylyn/eclipse +install -d %{buildroot}%{install_loc}/mylyn/eclipse/plugins +install -d %{buildroot}%{install_loc}/mylyn/eclipse/features + +cp org.eclipse.mylyn/org.eclipse.mylyn-site/target/site/plugins/*.jar %{buildroot}%{install_loc}/mylyn/eclipse/plugins/ + +pushd %{buildroot}%{install_loc}/mylyn/eclipse/plugins/ + + rm com.google.gson_*.jar + ln -s %{_javadir}/google-gson.jar + + rm com.sun.syndication_*.jar + ln -s %{_javadir}/rome*.jar + + rm javax.xml_*.jar + ln -s %{_non_scl_javadir}/jaxp.jar + + rm org.apache.xerces_*.jar + ln -s %{_non_scl_javadir}/xerces-j2.jar + + rm org.apache.xml.resolver_*.jar + ln -s %{_non_scl_javadir}/xml-commons-resolver.jar + + rm org.apache.xml.serializer*.jar + ln -s %{_non_scl_javadir}/xalan-j2-serializer.jar + + rm org.apache.commons.io_*.jar + ln -s %{_non_scl_javadir}/apache-commons-io.jar + + rm org.apache.commons.lang_*.jar + ln -s %{_non_scl_javadir}/apache-commons-lang.jar + + rm org.apache.commons.httpclient_*.jar + ln -s %{_javadir}/httpcomponents/httpclient.jar + ln -s %{_javadir}/httpcomponents/httpcore-nio.jar + ln -s %{_non_scl_javadir}/commons-httpclient.jar + + rm org.apache.ws.commons.util_*.jar + ln -s %{_non_scl_javadir}/ws-commons-util.jar + + rm org.apache.xmlrpc_*.jar + ln -s %{_javadir}/xmlrpc-client.jar + ln -s %{_javadir}/xmlrpc-common.jar + ln -s %{_javadir}/xmlrpc-server.jar + + rm org.jdom_*.jar + ln -s %{_javadir}/jdom.jar + + rm org.jsoup_*.jar + ln -s %{_javadir}/jsoup/jsoup.jar + + rm com.google.guava_*.jar + ln -s %{_javadir}/guava.jar + + rm org.apache.tika.core_*.jar + ln -s %{_javadir}/tika/tika-core.jar + + rm org.apache.tika.parsers_*.jar + ln -s %{_javadir}/tika/tika-parsers.jar + + ln -s %{_javadir}/lucene/lucene-queryparser.jar + + rm org.apache.lucene.core_*.jar #bundled by platform + rm org.apache.httpcomponents.httpclient_*.jar #bundled by platform + rm org.apache.httpcomponents.httpcore_*.jar #bundled by platform + rm org.apache.commons.logging_*.jar #bundled by platform + rm org.apache.commons.codec_*.jar #bundled by platform +popd + +mkdir -p %{buildroot}%{install_loc}/mylyn/eclipse/features +for f in `ls -1 org.eclipse.mylyn/org.eclipse.mylyn-site/target/site/features/ | grep jar$`; do + unzip org.eclipse.mylyn/org.eclipse.mylyn-site/target/site/features/$f -d %{buildroot}%{install_loc}/mylyn/eclipse/features/${f/.jar//}; +done + +install %{SOURCE6} %{buildroot}%{install_loc}/mylyn/eclipse/redhat-bugzilla-custom-transitions.txt + +# Collect and install test jars +mkdir -p %{buildroot}%{_javadir}/mylyn-tests/plugins +set +e +for pom in `find . -name pom.xml`; do + grep -q '<packaging>eclipse-test-plugin</packaging>' ${pom} + if [ $? -eq 0 ]; then + ls ${pom/pom.xml/}'target/' + testjar=`ls ${pom/pom.xml/}'target/'*.jar | grep -v sources` + mv ${testjar} %{buildroot}%{_javadir}/mylyn-tests/plugins + fi +done +set -e + +%files +%dir %{install_loc}/mylyn +%dir %{install_loc}/mylyn/eclipse +%dir %{install_loc}/mylyn/eclipse/features/ +%dir %{install_loc}/mylyn/eclipse/plugins/ +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn_feature_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.tasks.ide_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.index.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.index.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.search_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tasks.bugs_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.help.ui_*.jar +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.activity_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.identity_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.notifications_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.repositories_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.repositories.http_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.discovery_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.monitor_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.activity.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.identity.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.notifications.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.notifications.feed_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.notifications.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.repositories.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.repositories.http.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.repositories.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.screenshots_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.workbench_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.discovery.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.discovery.ui*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.monitor.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.monitor.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.sdk.util_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.xmlrpc_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.commons.net_*.jar +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.context_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.context.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.context.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.resources.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.context.tasks.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/apache-commons-lang.jar +%{install_loc}/mylyn/eclipse/plugins/apache-commons-io.jar +%{install_loc}/mylyn/eclipse/plugins/jdom.jar +%{install_loc}/mylyn/eclipse/plugins/rome*.jar +%{install_loc}/mylyn/eclipse/plugins/xmlrpc-client.jar +%{install_loc}/mylyn/eclipse/plugins/xmlrpc-common.jar +%{install_loc}/mylyn/eclipse/plugins/xmlrpc-server.jar +%{install_loc}/mylyn/eclipse/plugins/commons-httpclient.jar +%{install_loc}/mylyn/eclipse/plugins/httpclient.jar +%{install_loc}/mylyn/eclipse/plugins/httpcore-nio.jar +%{install_loc}/mylyn/eclipse/plugins/ws-commons-util.jar +%{install_loc}/mylyn/eclipse/plugins/jaxp.jar +%{install_loc}/mylyn/eclipse/plugins/google-gson.jar +%{install_loc}/mylyn/eclipse/plugins/guava.jar +%{install_loc}/mylyn/eclipse/plugins/lucene-queryparser.jar + +%files context-java +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.java_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.java.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.java.tasks_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.ide.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.ide.ant_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.debug.ui_*.jar + +%files context-pde +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.pde_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.pde.ui_*.jar + +%files context-cdt +%{install_loc}/mylyn/eclipse/features/org.eclipse.cdt.mylyn_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.cdt.mylyn.ui_*.jar + +%files context-team +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.team_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.team.ui_*.jar + +%files ide +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.ide_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.team.cvs_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.bugzilla.ide_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.ide.ui_*.jar + +%files tasks-bugzilla +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.bugzilla_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.bugzilla.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.bugzilla.ui_*.jar +%{install_loc}/mylyn/eclipse/redhat-bugzilla-custom-transitions.txt + +%files tasks-trac +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.trac_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.trac.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.trac.ui_*.jar +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.trac.wiki_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.trac.wiki_*.jar + +%files tasks-web +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.web.tasks_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.web.tasks_*.jar + +%files docs-wikitext +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.wikitext_feature_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.core.ant_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.core.osgi_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.textile.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.html.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.mediawiki.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.mediawiki.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.markdown.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.markdown.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.confluence.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.tracwiki.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.twiki.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.help.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.textile.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.confluence.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.tracwiki.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.twiki.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.tasks.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.context.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/jsoup.jar + +%files docs-htmltext +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.htmltext_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.htmltext.ui_*.jar + +%files docs-epub +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.docs.epub_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.docs.epub.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.docs.epub.help_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.docs.epub.ui_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.docs.epub.ant.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/tika*.jar + +%files versions +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.versions_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.versions.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.versions.ui_*.jar + +%files versions-git +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.git_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.git.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.git.ui_*.jar + +%files versions-cvs +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.cvs_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.cvs.core_*.jar + +%files builds +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.builds_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.builds.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.builds.ui_*.jar + +%files builds-hudson +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.hudson_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.hudson.core_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.hudson.ui_*.jar + +%files sdk +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.builds.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.context.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.commons.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.docs.epub.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.docs.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.sdk_feature_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.versions.sdk_* +%{install_loc}/mylyn/eclipse/features/org.eclipse.mylyn.wikitext.sdk_* +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.context.sdk.java_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.context.sdk.util_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.wikitext.help.sdk_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.tests.util_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.mylyn.*.source_*.jar +%{install_loc}/mylyn/eclipse/plugins/org.eclipse.cdt.mylyn.ui.source_*.jar +%{install_loc}/mylyn/eclipse/plugins/guava.jar +%{install_loc}/mylyn/eclipse/plugins/xerces-j2.jar +%{install_loc}/mylyn/eclipse/plugins/xalan-j2-serializer.jar +%{install_loc}/mylyn/eclipse/plugins/xml-commons-resolver.jar + +%files tests +%{_javadir}/mylyn-tests + +%changelog +* Fri Aug 29 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-4 +- Add Rs on guava and google-gson. + +* Fri Jul 18 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-3 +- Correct symlinks for xmlrpc. + +* Wed Jul 16 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-2 +- Remove setting of Bundle-RequiredExecutionEnvironment to JavaSE-1.8 + +* Wed Jul 16 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-2 +- Add B/BR on jakarta-commons-httpclient + +* Thu Jul 10 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-1 +- Add missing Rs to mylyn-tests + +* Thu Jul 10 2014 Sami Wagiaalla <swagiaal@redhat.com> - 3.12.0-0.7 +- Update to R_3_12_0 tag. +- Add mylyn-tests package. + +* Thu Jun 26 2014 Sami Wagiaala <swagiaal@redhat.com> - 3.12.0-0.3.14.git20140509 +- Remove commons-httpclient symlink. +- Remove BR/R on jakarta-commons-httpclient. + +* Wed Jun 04 2014 Roland Grunberg <rgrunber@redhat.com> - 3.12.0-0.3.13.git20140509 +- Make additional fixes to symlinks. + +* Tue Jun 03 2014 Roland Grunberg <rgrunber@redhat.com> - 3.12.0-0.3.12.git20140509 +- Add symlink for lucene-queryparser in dropins. + +* Tue Jun 3 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.11.git20140509 +- Delete unused patches. + +* Fri May 30 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.8.git20140509 +- Reenable epub. + +* Thu May 29 2014 Jeff Johnston <jjohnstn@redhat.com> - 3.12.0-0.3.7.git20140509 +- Fix jsoup jar link + +* Wed May 28 2014 Jeff Johnston <jjohnstn@redhat.com> - 3.12.0-0.3.6.git20140509 +- Fix links for SCL-ized BR/Rs to be to %%{_javadir} +- Revert some changes from previous fix as packages aren't yet SCL-ized + +* Tue May 27 2014 Mat Booth <mat.booth@redhat.com> - 3.12.0-0.3.5.git20140509 +- SCL-ise more BRs and Rs + +* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.4.git20140509 +- Fix scl prefixed deps. + +* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.3.git20140509 +- Fix rome release in requires. + +* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.2.git20140509 +- Yet another fix for removed provides. + +* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.1.git20140509 +- Another simplification of provides/scl deps. + +* Tue May 27 2014 Alexander Kurtakov <akurtako@redhat.com> 3.12.0-0.3.git20140509 +- Fix Requires to use scl_prefix. +- Drop useless Provides/Obsoletes in scl. + +* Mon May 26 2014 Sami Wagiaalla <swagiaal@redhat.com> 3.9.1-4 +- Disable epub modules. +- Use requirements from DTS where appropriate. + +* Thu May 22 2014 Sami Wagiaalla <swagiaal@redhat.com> 3.9.1-4 +- Update to rawhide version. +- Use available pakcages from dts. +- Remove unused patches. + +* Wed May 21 2014 Sami Wagiaalla <swagiaal@redhat.com> 3.9.1-4 +- Prepare for DTS 3 +- build Use xmvn. +- Use maven-local. + +* Mon Oct 28 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.1-4 +- Include axis dependency. +- Fix bogus date. + +* Fri Oct 11 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.1-3 +- Include fix for Eclipse bug 419133. + +* Wed Oct 9 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.1-2 +- Rebase to Kepler SR1 (RHBZ#1015996). + +* Fri Jun 28 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-1 +- Rebase to Kepler release. + +* Fri Jun 7 2013 Roland Grunberg <rgrunber@redhat.com> 3.9.0-0.6.git2ad84d +- Update to latest upstream. + +* Fri May 31 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-0.5.gita6b7cd +- Update latest to latest upstream. + +* Thu May 23 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-0.4.git8b0964 +- Rebase to RC1. + +* Tue Apr 2 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-0.3.gitf9e1cd +- Import from f19 into RHEL 6. +- Build for and use java 6. +- Drop subclipse subpackage. + +* Fri Mar 15 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-0.2.gitf9e1cd +- Make noarch always. + +* Fri Mar 1 2013 Krzysztof Daniel <kdaniel@redhat.com> 3.9.0-0.1.gitf9e1cd +- Update to latest upstream. +- Initial SCLization. + +* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 3.8.2-3 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Fri Nov 23 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.2-2 +- Remove javax.xml. + +* Tue Oct 2 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.2-1 +- Update to 3.8.2 upstream release. + +* Tue Sep 18 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.1-2 +- Replace xmlrpc3 with xmlrpc to fix broken dependencies. + +* Mon Aug 20 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.1-1 +- Update to latest upstream release. + +* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 13 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.0-5 +- Improve obsoletes/conflicts to prevent dissappearing after + update packages and mixing versions. + +* Thu Jul 12 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.0-4 +- Change the root location of all files. + +* Wed Jul 11 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.0-3 +- Symlink the wsdl jar provided by axis package. + +* Tue Jul 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.0-2 +- Add proper BR for jpackage-utils and maven. + +* Tue Jul 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.8.0-1 +- Completely repackaged mylyn. +- Added epub feature. +- Added support for subclipse. + +* Mon May 7 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.7.0-5 +- Patch for bug 378230 added. + +* Mon Apr 30 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.7.0-4 +- Include schema description. + +* Fri Apr 13 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.7.0-3 +- Move to eclipse 4.2. +- Build help. +- Fix the minimum eclipse-rcp requirement + +* Mon Apr 2 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.7.0-2 +- Bump version to fix upgradepath. + +* Mon Mar 26 2012 Krzysztof Daniel <kdaniel@redhat.com> 3.7.0-1 +- Update to upstream 3.7.0 release + +* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Dec 2 2011 Sami Wagiaalla <swagiaal@redhat.com> 3.6.4-2 +- Set noarch conditionally. + +* Tue Nov 29 2011 Sami Wagiaalla <swagiaal@redhat.com> 3.6.4-2 +- Add ExclusiveArch: %{ix86} x86_64 for RHEL. + +* Mon Nov 28 2011 Andrew Robinson <arobinso@redhat.com> 3.6.4-1 +- Update to upstream 3.6.4 release. + +* Mon Oct 31 2011 Andrew Robinson <arobinso@redhat.com> 3.6.3-1 +- Update to upstream 3.6.3 release. + +* Fri Oct 7 2011 Alexander Kurtakov <akurtako@redhat.com> 3.6.2-1 +- Update to upstream 3.6.2 release. + +* Thu Jul 14 2011 Severin Gehwolf <sgehwolf@redhat.com> 3.6.0-3 +- Mylyn requires Eclipse 3.5 and up. Changed R/BRs + accordingly. + +* Thu Jul 14 2011 Severin Gehwolf <sgehwolf@redhat.com> 3.6.0-2 +- Fix qualifier to match upstream. + +* Wed Jul 13 2011 Severin Gehwolf <sgehwolf@redhat.com> 3.6.0-1 +- Update to upstream's 3.6.0 release. + +* Tue Apr 26 2011 Severin Gehwolf <sgehwolf@redhat.com> 3.5.1-1 +- Update to upstream 3.5.1. + +* Fri Apr 8 2011 Severin Gehwolf <sgehwolf@redhat.com> 3.5.0-1 +- Update to upstream 3.5.0 release. This update splits this + existing SRPM up into about 7 additional ones. +- Now requires new package eclipse-mylyn-commons. + +* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 5 2011 Alexander Kurtakov <akurtako@redhat.com> 3.4.2-4 +- Fix symlink to non-existing versioned jar. + +* Tue Dec 7 2010 Severin Gehwolf <sgehwolf@redhat.com> 3.4.2-3 +- Really fix FTBFS. + +* Tue Dec 7 2010 Severin Gehwolf <sgehwolf@redhat.com> 3.4.2-2 +- Fix FTBFS RH Bz #660784 + +* Fri Oct 8 2010 Chris Aniszczyk <zx@redhat.com> 3.4.2-1 +- Update to 3.4.2. + +* Wed Sep 1 2010 Jeff Johnston <jjohnstn@redhat.com> 3.4.1-3 +- Resolves: #605285 +- Fix obsoletes/provides for eclipse-cdt-mylyn using an epoch of 2. + +* Wed Sep 1 2010 Alexander Kurtakov <akurtako@redhat.com> 3.4.1-2 +- Backport patch for wikitext to work with Fedora wiki. + +* Tue Aug 31 2010 Alexander Kurtakov <akurtako@redhat.com> 3.4.1-1 +- Update to 3.4.1. + +* Tue Jul 27 2010 Charley Wang <chwang@redhat.com> 3.4.0-4 +- Add Wikitext SDK to eclipse-mylyn + +* Wed Jul 21 2010 Charley Wang <chwang@redhat.com> 3.4.0-3 +- Relax cdt requires, remove extraneous links, fix xmlrpc split + +* Thu Jul 15 2010 Charley Wang <chwang@redhat.com> 3.4.0-2 +- Add required jar links to mylyn dropins directory + +* Wed Jul 14 2010 Charley Wang <chwang@redhat.com> 3.4.0-1 +- Update to 3.4.0. Add mylyn-commons feature, remove commons.soap + +* Wed Mar 3 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.2-4 +- Relax bundle version requires for commons-lang. + +* Thu Feb 25 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.2-3 +- Really update to 3.3.2. + +* Thu Feb 25 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.2-2 +- Bump release. + +* Thu Feb 25 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.2-1 +- Update to 3.3.2. + +* Wed Feb 17 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.1-5 +- Adapt to commons-lang 2.4. + +* Wed Feb 17 2010 Alexander Kurtakov <akurtako@redhat.com> 3.3.1-4 +- Fix FTBFS rhbz#564704. + +* Thu Jan 07 2010 Andrew Overholt <overholt@redhat.com> 3.3.1-3 +- Remove Fedora customizations (adding bugzilla instances). + +* Thu Jan 07 2010 Andrew Overholt <overholt@redhat.com> 3.3.1-2 +- Update license field to add ASL 2.0 for wikitext. + +* Thu Dec 17 2009 Alexander Kurtakov <akurtako@redhat.com> 3.3.1-1 +- Update to 3.3.1 version. + +* Sun Nov 22 2009 Alexander Kurtakov <akurtako@redhat.com> 3.3.0-4 +- Fix build with newer common-codec. + +* Wed Oct 28 2009 Alexander Kurtakov <akurtako@redhat.com> 3.3.0-3 +- CDT subpackage obsoletes eclipse-cdt-mylyn. + +* Tue Oct 27 2009 Alexander Kurtakov <akurtako@redhat.com> 3.3.0-2 +- Fix cdt description. Bump qualifier to be newer than Galileo update site. + +* Tue Oct 27 2009 Alexander Kurtakov <akurtako@redhat.com> 3.3.0-1 +- Update to 3.3.0. +- Add cdt bridge. +- Remove BR/R which are required by eclipse itself now. + +* Tue Sep 22 2009 Alexander Kurtakov <akurtako@redhat.com> 3.2.1-2 +- Add patch for correct building of o.e.wikitext.help.ui. + +* Tue Aug 4 2009 Alexander Kurtakov <akurtako@redhat.com> 3.2.1-1 +- Update to 3.2.1. + +* Wed Apr 22 2009 Andrew Overholt <overholt@redhat.com> 3.1.1-1 +- 3.1.1 +- Bug fixes from 3.1.0: http://tinyurl.com/mylyn-3-1-1bugs +- Remove wikitext build patch that has been merged upstream. + +* Wed Mar 25 2009 Alexander Kurtakov <akurtako@redhat.com> 3.1.0-3 +- Fix documentation build. + +* Mon Mar 23 2009 Alexander Kurtakov <akurtako@redhat.com> 3.1.0-2 +- Rebuild to not ship p2 context.xml. + +* Tue Mar 17 2009 Andrew Overholt <overholt@redhat.com> 3.1.0-1 +- 3.1.0 +- Add wikitext sub-package. +- Update to new Fedora customizations plugin. +- Don't repack JARs as it breaks help content. + +* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 9 2009 Andrew Overholt <overholt@redhat.com> 3.0.4-1 +- 3.0.4 + +* Wed Nov 12 2008 Andrew Overholt <overholt@redhat.com> 3.0.3-4 +- Add patch for e.o#239435 (rhbz#470356). + +* Fri Oct 31 2008 Alexander Kurtakov <akurtako@redhat.com> 3.0.3-3 +- Don't apply nojaxb.patch. +- Fix eclipse-mylyn-splitxmlrpc.patch to Import-Package:org.apache.xmlrpc. + +* Tue Oct 21 2008 Alexander Kurtakov <akurtako@redhat.com> 3.0.3-2 +- BR ws-jaxme. +- Bump xmlrpc3 requires for proper OSGi metadata. +- Fix trac feature.xml to not require different qualifier for the deps. + +* Tue Oct 21 2008 Alexander Kurtakov <akurtako@redhat.com> 3.0.3-1 +- 3.0.3. +- Rebase addfedoracustomizations.patch. + +* Sat Oct 18 2008 Alexander Kurtakov <akurtako@redhat.com> 3.0.1-3 +- Add >= for jdom to ensure proper OSGi metadata + +* Mon Aug 11 2008 Andrew Overholt <overholt@redhat.com> 3.0.1-2 +- Add >= for requirements to ensure proper OSGi metadata + +* Fri Aug 08 2008 Andrew Overholt <overholt@redhat.com> 3.0.1-1 +- Fix fuzz on adding Fedora customizations patch +- Add patch to make Red Hat bugzilla 3.0 + +* Thu Aug 07 2008 Andrew Overholt <overholt@redhat.com> 3.0.1-1 +- Add webtasks sub-package + +* Tue Aug 05 2008 Andrew Overholt <overholt@redhat.com> 3.0.1-1 +- Update install locations +- Add qualifier hack for now + +* Wed Jul 30 2008 Andrew Overholt <overholt@redhat.com> 3.0.1-1 +- 3.0.1 +- Add patch to not require jaxb (required by XML-RPC Orbit bundle) +- Fold -ide and -bugzilla into main package +- Add commented-out webtasks sub-package; to be enabled after rome + review is complete + +* Thu Jul 17 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.2-6 +- fix license tag + +* Wed May 14 2008 Andrew Overholt <overholt@redhat.com> 2.3.2-6 +- ".qualifier" -> actual release qualifier in build (due to upstream + build system change (e.o#108291, rh#446468). + +* Tue Apr 15 2008 Andrew Overholt <overholt@redhat.com> 2.3.2-5 +- Re-build to attempt to fix rhbz#442251 (broken cpio archive). + +* Tue Apr 15 2008 Jesse Keating <jkeating@redhat.com> - 2.3.2-4 +- Rebuild due to filesystem corruption + +* Mon Apr 07 2008 Andrew Overholt <overholt@redhat.com> 2.3.2-3 +- Fix commons-lang symlink. + +* Mon Apr 07 2008 Andrew Overholt <overholt@redhat.com> 2.3.2-2 +- Upload sources. + +* Fri Apr 04 2008 Andrew Overholt <overholt@redhat.com> 2.3.2-1 +- 2.3.2. +- Add jakarta-commons-lang dependency. + +* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.1.0-2 +- Autorebuild for GCC 4.3 + +* Wed Oct 24 2007 Andrew Overholt <overholt@redhat.com> 2.1.0-1 +- 2.1.0 +- Enable GNOME bugzilla by default + +* Tue Oct 02 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-10 +- Add %%post gcj blocks for sub-packages (thanks to David Walluck). +- Rename fetching script (s/mylar/mylyn/). + +* Fri Sep 21 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-9 +- Really remove all mylar references in mylyn feature - courtesy + Mandriva package. + +* Wed Sep 19 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-8 +- Add patch and source to have common bugzilla servers by default. + +* Tue Sep 18 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-7 +- Fix filename of webcore jar. + +* Tue Sep 18 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-6 +- Re-add gcj support (accidentally removed the flag). + +* Fri Sep 07 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-5 +- Make web.core its own jar. +- Unpack web.core so we can symlink to dependencies. +- Symlink to dependencies of web.core. +- Remove rome jar and exports from web.core. +- BR/R all the versions of dependencies that have OSGi manifests. + +* Fri Aug 24 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-4 +- ExcludeArch ppc64 (no xmlrpc3 on ppc64 due to rh#239123). + +* Thu Aug 23 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-3 +- Add BR on eclipse-pde. + +* Thu Aug 23 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-2 +- Add BR and R on eclipse-cvs-client. + +* Thu Aug 23 2007 Andrew Overholt <overholt@redhat.com> 2.0.0-1 +- Re-name to eclipse-mylyn. + +* Fri Aug 10 2007 Ben Konrath <bkonrath@redhat.com> 2.0.0-1 +- 2.0.0 +- Add -java and -pde sub-packages. + +* Wed Apr 25 2007 Andrew Overholt <overholt@redhat.com> 2.0-0.1.M2a.1 +- 2.0M2a (a re-tag to fix some tagging issues). + +* Wed Apr 18 2007 Andrew Overholt <overholt@redhat.com> 1.0-4 +- Add workaround for missing method in GNU Classpath. + +* Thu Apr 12 2007 Andrew Overholt <overholt@redhat.com> 1.0-3 +- Add Obsoletes and Provides for eclipse-bugzilla on + eclipse-mylar-bugzilla (comments in bug #222677). If someone notices + missing functionality to warrant removing the Provides, please file a + bug. + +* Tue Mar 20 2007 Andrew Overholt <overholt@redhat.com> 1.0-2 +- Use xmlrpc3 jars instead of xmlrpc + +* Fri Mar 16 2007 Andrew Overholt <overholt@redhat.com> 1.0-1 +- Initial build