diff options
author | Matthew Piggott | 2011-03-18 17:50:24 +0000 |
---|---|---|
committer | Matthew Piggott | 2011-03-18 17:51:33 +0000 |
commit | 8ffc2f3999270c29596e9f647a743f56c7935512 (patch) | |
tree | 11f714d9a4b97bf7fe6a0c1ed6fe4b11e6d9cd80 /org.eclipse.m2e.discovery-directory | |
parent | 20adda52abe844ebd1acae94ade1984c86262acc (diff) | |
download | m2e-core-8ffc2f3999270c29596e9f647a743f56c7935512.tar.gz m2e-core-8ffc2f3999270c29596e9f647a743f56c7935512.tar.xz m2e-core-8ffc2f3999270c29596e9f647a743f56c7935512.zip |
Add validation for m2e marketplace content
Diffstat (limited to 'org.eclipse.m2e.discovery-directory')
14 files changed, 520 insertions, 1 deletions
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.classpath b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.classpath new file mode 100644 index 00000000..798048dd --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.gitignore b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.gitignore new file mode 100644 index 00000000..ea8c4bf7 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.gitignore @@ -0,0 +1 @@ +/target diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.project b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.project new file mode 100644 index 00000000..0c230bb5 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.m2e.discovery-directory.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..2619beaf --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +#Fri Mar 18 09:43:06 EDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 00000000..facff118 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,5 @@ +#Fri Mar 18 09:35:09 EDT 2011
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/META-INF/MANIFEST.MF b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..c0a83049 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/META-INF/MANIFEST.MF @@ -0,0 +1,33 @@ +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.m2e.discovery.directory.tests;singleton:=true
+Bundle-Version: 0.13.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui,
+ org.junit,
+ org.eclipse.equinox.p2.discovery,
+ org.eclipse.equinox.p2.discovery.compatibility,
+ org.eclipse.equinox.p2.core,
+ org.eclipse.equinox.p2.ui.discovery,
+ org.eclipse.m2e.discovery.oss
+Bundle-RequiredExecutionEnvironment: J2SE-1.5,
+ JavaSE-1.6
+Bundle-ClassPath: .
+Bundle-Vendor: %Bundle-Vendor
+MavenArtifact-GroupId: org.eclipse.m2e
+MavenArtifact-ArtifactId: org.eclipse.m2e.test
+Import-Package: org.eclipse.equinox.internal.p2.discovery,
+ org.eclipse.equinox.internal.p2.discovery.compatibility,
+ org.eclipse.equinox.internal.p2.discovery.compatibility.util,
+ org.eclipse.equinox.internal.p2.discovery.model,
+ org.eclipse.equinox.internal.p2.discovery.util,
+ org.eclipse.equinox.p2.metadata,
+ org.eclipse.equinox.p2.query,
+ org.eclipse.equinox.p2.repository.metadata,
+ org.eclipse.m2e.core.project.configurator,
+ org.eclipse.m2e.internal.discovery,
+ org.eclipse.m2e.internal.discovery.strategy,
+ org.eclipse.m2e.internal.discovery.wizards
+Bundle-Activator: org.eclipse.m2e.discovery.directory.tests.TestActivator
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/build.properties b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/build.properties new file mode 100644 index 00000000..6fc49046 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/build.properties @@ -0,0 +1,16 @@ +# +# Copyright (c) 2008-2010 Sonatype, Inc. +# 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: +# Sonatype, Inc. - initial API and implementation +# + +bin.includes = META-INF/,\ + . +jars.compile.order = . +output.. = target/classes +source.. = src/
\ No newline at end of file diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/pom.xml b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/pom.xml new file mode 100644 index 00000000..f5dba0ec --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/pom.xml @@ -0,0 +1,36 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.m2e.discovery-parent</artifactId>
+ <groupId>org.eclipse.m2e</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.m2e.discovery-parent/pom.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.m2e.discovery-directory.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <url>https://repository.sonatype.org/content/repositories/snapshots/</url>
+ </repository>
+ <repository>
+ <id>m2e-latest-build</id>
+ <layout>p2</layout>
+ <url>${m2e-core.url}</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>src</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+</project>
\ No newline at end of file diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/DiscoveryDirectoryTest.java b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/DiscoveryDirectoryTest.java new file mode 100644 index 00000000..58a1f05a --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/DiscoveryDirectoryTest.java @@ -0,0 +1,206 @@ +/******************************************************************************* + * Copyright (c) 2010 Sonatype, Inc. + * 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: + * Sonatype, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.m2e.discovery.directory.tests; + +import java.lang.reflect.InvocationTargetException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Collections; + +import junit.framework.TestCase; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; +import org.eclipse.equinox.internal.p2.discovery.AbstractCatalogSource; +import org.eclipse.equinox.internal.p2.discovery.Catalog; +import org.eclipse.equinox.internal.p2.discovery.DiscoveryCore; +import org.eclipse.equinox.internal.p2.discovery.model.CatalogCategory; +import org.eclipse.equinox.internal.p2.discovery.model.CatalogItem; +import org.eclipse.equinox.internal.p2.discovery.model.Icon; +import org.eclipse.equinox.p2.core.IProvisioningAgent; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IVersionedId; +import org.eclipse.equinox.p2.metadata.VersionedId; +import org.eclipse.equinox.p2.query.IQuery; +import org.eclipse.equinox.p2.query.IQueryResult; +import org.eclipse.equinox.p2.query.QueryUtil; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; +import org.eclipse.jface.operation.IRunnableContext; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.resource.LocalResourceManager; +import org.eclipse.jface.resource.ResourceManager; +import org.eclipse.jface.window.IShellProvider; +import org.eclipse.m2e.internal.discovery.MavenDiscovery; +import org.eclipse.m2e.internal.discovery.wizards.MavenCatalogConfiguration; +import org.eclipse.m2e.internal.discovery.wizards.MavenCatalogViewer; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.internal.Workbench; + + +@SuppressWarnings("restriction") +public class DiscoveryDirectoryTest extends TestCase implements IShellProvider { + + private ResourceManager resourceManager; + + private Shell shell; + + private Catalog catalog; + + private MavenCatalogConfiguration configuration; + + private IProgressMonitor monitor; + + @Override + public void setUp() throws Exception { + catalog = new Catalog(); + catalog.setEnvironment(DiscoveryCore.createEnvironment()); + catalog.setVerifyUpdateSiteAvailability(false); + catalog.getDiscoveryStrategies().add(new TestM2EBundleStrategy()); + + // Build the list of tags to show in the Wizard header + catalog.setTags(Collections.singletonList(MavenDiscovery.APPLICABLE_TAG)); + + // Create configuration for the catalog + configuration = new MavenCatalogConfiguration(); + configuration.setShowTagFilter(true); + configuration.setSelectedTags(Collections.singletonList(MavenDiscovery.APPLICABLE_TAG)); + configuration.setShowInstalledFilter(false); + configuration.setSelectedPackagingTypes(Collections.EMPTY_LIST); + configuration.setSelectedMojos(Collections.EMPTY_LIST); + configuration.setSelectedLifecycleIds(Collections.EMPTY_LIST); + configuration.setSelectedConfigurators(Collections.EMPTY_LIST); + shell = new Shell(Workbench.getInstance().getDisplay()); + this.resourceManager = new LocalResourceManager(JFaceResources.getResources(Workbench.getInstance().getDisplay())); + monitor = new NullProgressMonitor(); + } + + public void tearDown() throws Exception { + resourceManager.dispose(); + shell.dispose(); + resourceManager = null; + shell = null; + } + + /* + * This is to ensure that each CatalogCategory has a valid icon associated with it. + */ + public void testImagesPresent() throws Exception { + updateMavenCatalog(); + + for(CatalogCategory category : catalog.getCategories()) { + assertNotNull("Icon missing for catalog category: " + category.getId(), + getIconImage(category.getSource(), category.getIcon(), 48, true)); + } + } + + /* + * This ensures each CatalogItem has a valid update site which has the IU available. + */ + public void testHasIUs() throws Exception { + updateMavenCatalog(); + IMetadataRepositoryManager mgr = getMetadataRepositoryManager(); + + for(CatalogItem item : catalog.getItems()) { + URI uri = getUri(item); + if(uri.getHost().equals("localhost")) { + // these should be tests entries, we don't care about them. + continue; + } + IMetadataRepository repo = mgr.loadRepository(uri, monitor); + assertFalse("Has IUs: " + item.getId(), item.getInstallableUnits().isEmpty()); + if(repo == null) { + fail("Unknown failure loading repository for item: " + item.getId()); + return; + } + for(String iuId : item.getInstallableUnits()) { + IVersionedId iuVid = VersionedId.parse(iuId); + IQuery<IInstallableUnit> q = QueryUtil.createIUQuery(iuVid); + IQueryResult<IInstallableUnit> result = repo.query(q, monitor); + assertFalse("CatalogItem " + item.getId() + " missing IU: " + iuId, result.isEmpty()); + } + } + } + + private URI getUri(CatalogItem item) { + URI uri = null; + try { + uri = new URI(item.getSiteUrl()); + return uri; + } catch(URISyntaxException ex) { + throw new IllegalArgumentException("Failed to create URI for CatalogItem " + item.getId() + "\n" + + item.getSiteUrl(), ex); + } + } + + private Image getIconImage(AbstractCatalogSource discoverySource, Icon icon, int dimension, boolean fallback) { + String imagePath; + switch(dimension) { + case 64: + imagePath = icon.getImage64(); + if(imagePath != null || !fallback) { + break; + } + case 48: + imagePath = icon.getImage48(); + if(imagePath != null || !fallback) { + break; + } + case 32: + imagePath = icon.getImage32(); + break; + default: + throw new IllegalArgumentException(); + } + if(imagePath != null && imagePath.length() > 0) { + URL resource = discoverySource.getResource(imagePath); + if(resource != null) { + ImageDescriptor descriptor = ImageDescriptor.createFromURL(resource); + return resourceManager.createImage(descriptor); + } + } + return null; + } + + private IMetadataRepositoryManager getMetadataRepositoryManager() { + IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(TestActivator.getDefault().getBundle() + .getBundleContext(), IProvisioningAgent.SERVICE_NAME); + return (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME); + } + + private void updateMavenCatalog() { + MavenCatalogViewer mcv = new MavenCatalogViewer(catalog, this, new RunnableContext(), configuration); + mcv.createControl(shell); + mcv.updateCatalog(); + } + + private static class RunnableContext implements IRunnableContext { + public RunnableContext() { + } + + public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, + InterruptedException { + runnable.run(new NullProgressMonitor()); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.window.IShellProvider#getShell() + */ + public Shell getShell() { + return shell; + } +} diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestActivator.java b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestActivator.java new file mode 100644 index 00000000..9811eb85 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestActivator.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2010 Sonatype, Inc. + * 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: + * Sonatype, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.m2e.discovery.directory.tests; + +import org.osgi.framework.BundleContext; + +import org.eclipse.core.runtime.Plugin; + +public class TestActivator extends Plugin { + private static TestActivator instance; + + public void start(BundleContext context) throws Exception { + super.start(context); + instance = this; + } + + public void stop(BundleContext context) throws Exception { + super.stop(context); + instance = null; + } + + /** + * @return Returns the instance. + */ + public static TestActivator getDefault() { + return instance; + } +} diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestM2EBundleStrategy.java b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestM2EBundleStrategy.java new file mode 100644 index 00000000..2d894eb6 --- /dev/null +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-directory.tests/src/org/eclipse/m2e/discovery/directory/tests/TestM2EBundleStrategy.java @@ -0,0 +1,43 @@ +package org.eclipse.m2e.discovery.directory.tests;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IContributor;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.equinox.internal.p2.discovery.AbstractCatalogSource;
+import org.eclipse.equinox.internal.p2.discovery.Policy;
+import org.eclipse.equinox.internal.p2.discovery.compatibility.BundleDiscoverySource;
+import org.eclipse.equinox.internal.p2.discovery.compatibility.ConnectorDiscoveryExtensionReader;
+import org.eclipse.m2e.internal.discovery.strategy.M2ERemoteBundleDiscoveryStrategy;
+
+@SuppressWarnings("restriction")
+public class TestM2EBundleStrategy extends M2ERemoteBundleDiscoveryStrategy {
+
+ @Override
+ public void performDiscovery(IProgressMonitor monitor) throws CoreException {
+ if (items == null || categories == null) {
+ throw new IllegalStateException();
+ }
+ IExtensionPoint extensionPoint = getExtensionRegistry().getExtensionPoint(ConnectorDiscoveryExtensionReader.EXTENSION_POINT_ID);
+ IExtension[] extensions = extensionPoint.getExtensions();
+ monitor.beginTask("Loading local extensions", extensions.length == 0 ? 1 : extensions.length);
+ try {
+ if (extensions.length > 0) {
+ processExtensions(new SubProgressMonitor(monitor, extensions.length), extensions);
+ }
+ } finally {
+ monitor.done();
+ }
+ }
+
+ @Override
+ protected AbstractCatalogSource computeDiscoverySource(IContributor contributor) {
+ Policy policy = new Policy(true);
+ BundleDiscoverySource bundleDiscoverySource = new BundleDiscoverySource(Platform.getBundle(contributor.getName()));
+ bundleDiscoverySource.setPolicy(policy);
+ return bundleDiscoverySource;
+ }
+}
diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-parent/pom.xml b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-parent/pom.xml index e2d1e1c5..c7939f5c 100644 --- a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-parent/pom.xml +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery-parent/pom.xml @@ -20,7 +20,12 @@ <properties> <discovery.folder>/home/data/users/prapicau/downloads/technology/m2e/discovery/</discovery.folder> + <tycho-version>0.10.0</tycho-version> + <!-- References the latest m2eclipse build over https by default --> + <m2e-core.url>https://grid.sonatype.org/ci/view/M2E/job/m2eclipse-core-e37-at-eclipse/jdk=java-5x,label=m2e/lastSuccessfulBuild/artifact/org.eclipse.m2e.site/target/site/</m2e-core.url> </properties> + + <build> <extensions> <extension> @@ -29,5 +34,92 @@ <version>1.0-beta-7</version> </extension> </extensions> + <plugins> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho-version}</version> + <extensions>true</extensions> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-test-plugin</artifactId> + <configuration> + <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds> + <environmentVariables> + <TEMP>${java.io.tmpdir}</TEMP> + </environmentVariables> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho-version}</version> + <configuration> + <resolver>p2</resolver> + <pomDependencies>consider</pomDependencies> + <target> + <artifact> + <groupId>org.eclipse.m2e</groupId> + <artifactId>target-platform</artifactId> + <version>0.13.0-SNAPSHOT</version> + <classifier>m2e-e37</classifier> + </artifact> + </target> + <ignoreTychoRepositories>true</ignoreTychoRepositories> + </configuration> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-lifecycle-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-packaging-plugin</artifactId> + <version>${tycho-version}</version> + <configuration> + <!-- workaround for TYCHO-349 or TYCHO-313 --> + <strictVersions>false</strictVersions> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-test-plugin</artifactId> + <version>${tycho-version}</version> + <configuration> + <useUIHarness>true</useUIHarness> + <includes> + <include>**/*Test.java</include> + </includes> + <argLine>${tycho.test.jvmArgs}</argLine> + <forkedProcessTimeoutInSeconds>7200</forkedProcessTimeoutInSeconds> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-compiler-plugin</artifactId> + <version>${tycho-version}</version> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>tycho-p2-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + <!-- important for self-hosting --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.4.3</version> + </plugin> + </plugins> + </pluginManagement> </build> </project>
\ No newline at end of file diff --git a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery.oss/pom.xml b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery.oss/pom.xml index 0316e157..9c287754 100644 --- a/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery.oss/pom.xml +++ b/org.eclipse.m2e.discovery-directory/org.eclipse.m2e.discovery.oss/pom.xml @@ -11,7 +11,7 @@ <modelVersion>4.0.0</modelVersion> <artifactId>org.eclipse.m2e.discovery.oss</artifactId> - <packaging>jar</packaging> + <packaging>eclipse-plugin</packaging> <build> <resources> diff --git a/org.eclipse.m2e.discovery-directory/pom.xml b/org.eclipse.m2e.discovery-directory/pom.xml index 51b76b1f..5594d120 100644 --- a/org.eclipse.m2e.discovery-directory/pom.xml +++ b/org.eclipse.m2e.discovery-directory/pom.xml @@ -15,6 +15,7 @@ <modules> <module>org.eclipse.m2e.discovery.oss</module> <module>org.eclipse.m2e.discovery-parent</module> + <module>org.eclipse.m2e.discovery-directory.tests</module> </modules> <profiles> |