| /******************************************************************************* |
| * Copyright (c) 23.04.2012 Aaron Digulla. |
| * 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: |
| * Aaron Digulla - initial API and implementation and/or initial documentation |
| *******************************************************************************/ |
| |
| package m4e.p2; |
| |
| import static org.junit.Assert.*; |
| import m4e.CommonTestCode; |
| import m4e.MopSetup; |
| |
| import org.junit.Test; |
| |
| class XtextTest { |
| |
| static { |
| MopSetup.setup() |
| } |
| |
| @Test |
| public void testXtext() throws Exception { |
| def url = new URL( 'http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/' ) |
| def loader = new P2RepoLoader( workDir: CommonTestCode.newFile( "xtext" ), url: url ) |
| def repo = loader.load() |
| |
| def bundle = repo.find( 'org.eclipse.xtext', new Version( '2.2.1.v201112130541' ) ) |
| assertEquals( 'P2Plugin( id=org.eclipse.xtext, version=2.2.1.v201112130541, name=Xtext )', bundle.toString() ) |
| |
| bundle = repo.latest( 'org.eclipse.xtext.runtime.feature.group' ) |
| assertEquals( 'P2Feature( id=org.eclipse.xtext.runtime.feature.group, version=2.1.1.v201111141332, name=Xtext Runtime )', bundle.toString() ) |
| |
| bundle = repo.latest( 'org.eclipse.xtext.runtime.source.feature.group' ) |
| assertEquals( 'P2Feature( id=org.eclipse.xtext.runtime.source.feature.group, version=2.1.1.v201111141332, name=Source for Xtext Runtime )', bundle.toString() ) |
| |
| def deps = new DependencySet( repo: repo ) |
| deps.resolveDependencies( 'org.eclipse.xtext.runtime.source.feature.group' ) |
| |
| def unknownIds = deps.unknownIds as ArrayList |
| unknownIds.sort() |
| assertEquals( '' |
| , unknownIds.join( '\n' ) ) |
| |
| assertEquals( |
| '''\ |
| P2Feature( id=org.eclipse.xtext.runtime.source.feature.group, version=2.1.1.v201111141332, name=Source for Xtext Runtime ) |
| P2Plugin( id=com.google.collect.source, version=1.0.0.v201105210816, name=Google Collections ) |
| P2Plugin( id=com.google.inject.source, version=2.0.0.v201105231817, name=Google Guice Source ) |
| P2Plugin( id=org.antlr.runtime.source, version=3.2.0.v201101311130, name=ANTLR Runtime Source ) |
| P2Plugin( id=org.apache.log4j.source, version=1.2.15.v201012070815, name=Apache Jakarta log4j Source Bundle ) |
| P2Plugin( id=org.eclipse.xtext.logging.source, version=1.2.15.v201111141332, name=org.eclipse.xtext.logging Source ) |
| P2Plugin( id=org.eclipse.xtext.common.types.source, version=2.1.1.v201111141332, name=Xtext Common Types Source ) |
| P2Plugin( id=org.eclipse.xtext.source, version=2.1.1.v201111141332, name=Xtext Source ) |
| P2Plugin( id=org.eclipse.xtext.util.source, version=2.1.1.v201111141332, name=Xtext Utility Source ) |
| P2Plugin( id=org.eclipse.xtext.generator.source, version=2.1.1.v201111141332, name=Xtext Generator Source ) |
| P2Plugin( id=org.eclipse.xtext.ecore.source, version=2.1.1.v201111141332, name=Xtext Ecore Support Source ) |
| P2Plugin( id=org.eclipse.xtext.builder.source, version=2.1.1.v201111141332, name=Xtext Builder Source )''' |
| , deps.bundles.join( '\n' ) ) |
| |
| deps = new DependencySet( repo: repo ) |
| deps.resolveDependencies( 'org.eclipse.xtext.runtime.feature.group' ) |
| |
| unknownIds = deps.unknownIds as ArrayList |
| unknownIds.sort() |
| assertEquals( '''\ |
| com.google.common.base |
| com.google.common.collect |
| com.ibm.icu |
| com.ibm.icu.text |
| de.itemis.xtext.antlr |
| org.apache.ant |
| org.eclipse.compare |
| org.eclipse.core.expressions |
| org.eclipse.core.filesystem |
| org.eclipse.core.resources |
| org.eclipse.core.runtime |
| org.eclipse.emf.codegen |
| org.eclipse.emf.codegen.ecore |
| org.eclipse.emf.common |
| org.eclipse.emf.common.notify |
| org.eclipse.emf.common.util |
| org.eclipse.emf.ecore |
| org.eclipse.emf.ecore.edit |
| org.eclipse.emf.ecore.resource |
| org.eclipse.emf.ecore.xmi |
| org.eclipse.emf.edit.ui |
| org.eclipse.jdt.core |
| org.eclipse.jdt.core.manipulation |
| org.eclipse.jdt.launching |
| org.eclipse.jdt.ui |
| org.eclipse.jface |
| org.eclipse.jface.text |
| org.eclipse.ltk.core.refactoring |
| org.eclipse.ltk.ui.refactoring |
| org.eclipse.search |
| org.eclipse.team.core |
| org.eclipse.team.ui |
| org.eclipse.text |
| org.eclipse.ui |
| org.eclipse.ui.editors |
| org.eclipse.ui.forms |
| org.eclipse.ui.ide |
| org.eclipse.ui.views |
| org.eclipse.ui.workbench.texteditor |
| org.osgi.framework''' |
| , unknownIds.join( '\n' ) ) |
| |
| assertEquals( |
| '''\ |
| P2Feature( id=org.eclipse.xtext.runtime.feature.group, version=2.1.1.v201111141332, name=Xtext Runtime ) |
| P2Plugin( id=org.eclipse.xtend, version=1.1.0.v201108020519, name=Xtend core ) |
| P2Plugin( id=org.eclipse.emf.mwe.core, version=1.2.1.v201112070431, name=MWE Core ) |
| P2Plugin( id=org.apache.commons.cli, version=1.2.0.v201105210650, name=Apache Commons CLI ) |
| P2Plugin( id=org.apache.commons.lang, version=2.4.0.v201005080502, name=Apache Jakarta Commons Lang ) |
| P2Plugin( id=org.apache.commons.logging, version=1.1.1.v201005080502, name=Apache Commons Logging Plug-in ) |
| P2Plugin( id=org.eclipse.emf.mwe2.runtime, version=2.2.0.v201112070431, name=Modeling Workflow Engine 2 Runtime ) |
| P2Plugin( id=com.google.inject, version=2.0.0.v201105231817, name=Google Guice ) |
| P2Plugin( id=org.aopalliance, version=1.0.0.v201105210816, name=Aopalliance Plug-in ) |
| P2Plugin( id=org.apache.log4j, version=1.2.15.v201012070815, name=Apache Jakarta log4j Plug-in ) |
| P2Plugin( id=org.antlr.runtime, version=3.2.0.v201101311130, name=ANTLR Runtime ) |
| P2Plugin( id=org.eclipse.xpand, version=1.1.0.v201108020519, name=Xpand core ) |
| P2Plugin( id=org.eclipse.xtend.typesystem.emf, version=1.0.1.v201108020519, name=Xtend emf typesystem ) |
| P2Plugin( id=org.eclipse.emf.mwe.utils, version=1.2.1.v201112070431, name=MWE Utilities ) |
| P2Plugin( id=org.eclipse.xtext, version=2.1.1.v201111141332, name=Xtext ) |
| P2Plugin( id=org.eclipse.xtext.util, version=2.1.1.v201111141332, name=Xtext Utility ) |
| P2Plugin( id=com.google.collect, version=1.0.0.v201105210816, name=Google Collections ) |
| P2Plugin( id=org.eclipse.xtext.generator, version=2.1.1.v201111141332, name=Xtext Generator ) |
| P2Plugin( id=org.eclipse.xtext.common.types, version=2.1.1.v201111141332, name=Xtext Common Types ) |
| P2Plugin( id=org.eclipse.emf.mwe2.lib, version=2.2.0.v201112070431, name=MWE2 Lib ) |
| P2Plugin( id=org.eclipse.xtext.xbase.lib, version=2.1.1.v201111141332, name=Xbase Runtime Library ) |
| P2Plugin( id=org.eclipse.xtext.xtend2.lib, version=2.1.1.v201111141332, name=Xtend2 Runtime Library ) |
| P2Plugin( id=org.eclipse.xtext.ecore, version=2.1.1.v201111141332, name=Xtext Ecore Support ) |
| P2Plugin( id=org.eclipse.xtext.logging, version=1.2.15.v201111141332, name=Xtext log4j fragment ) |
| P2Plugin( id=org.eclipse.xtext.builder, version=2.1.1.v201111141332, name=Xtext Builder ) |
| P2Plugin( id=org.eclipse.xtext.ui, version=2.1.1.v201111141332, name=Xtext UI Core ) |
| P2Plugin( id=org.eclipse.xtext.common.types.ui, version=2.1.1.v201111141332, name=Xtext Common Types UI ) |
| P2Plugin( id=org.eclipse.xtext.runtime_root, version=2.1.1.v201111141332, name=org.eclipse.xtext.runtime_root )''' |
| , deps.bundles.join( '\n' ) ) |
| } |
| } |