blob: 54fcc91d652e5ea2fcdc09f422d165fdb41824e7 [file] [log] [blame]
/*******************************************************************************
* 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' ) )
}
}