Search in sources :

Example 1 with ProvidedRuntimeLibraryDependency

use of org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency in project n4js by eclipse.

the class N4JSModel method getProvidedRuntimeLibraries.

public ImmutableList<? extends IN4JSSourceContainerAware> getProvidedRuntimeLibraries(N4JSProject project) {
    ImmutableList.Builder<IN4JSSourceContainerAware> providedRuntimes = ImmutableList.builder();
    EList<ProvidedRuntimeLibraryDependency> runtimeLibraries = getAllProvidedRuntimeLibraries(project);
    URI projectLocation = project.getLocation();
    // GHOLD-249: If the project n4mf file has parse errors, we need a lot of null checks.
    for (ProvidedRuntimeLibraryDependency runtimeLibrary : runtimeLibraries) {
        if (null != runtimeLibrary.getProject()) {
            URI location = workspace.getLocation(projectLocation, runtimeLibrary, PROJECT);
            if (null == location) {
                location = externalLibraryWorkspace.getLocation(projectLocation, runtimeLibrary, PROJECT);
            }
            if (null != location) {
                providedRuntimes.add(getN4JSProject(location));
            } else {
                // Assuming archive (NFAR)
                location = workspace.getLocation(projectLocation, runtimeLibrary, ARCHIVE);
                if (null != location) {
                    providedRuntimes.add(getN4JSArchive(project, location));
                }
            }
        }
    }
    return providedRuntimes.build();
}
Also used : ImmutableList(com.google.common.collect.ImmutableList) IN4JSSourceContainerAware(org.eclipse.n4js.projectModel.IN4JSSourceContainerAware) ProvidedRuntimeLibraryDependency(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency) URI(org.eclipse.emf.common.util.URI)

Example 2 with ProvidedRuntimeLibraryDependency

use of org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency in project n4js by eclipse.

the class N4JSModel method getAllProvidedRuntimeLibraries.

private EList<ProvidedRuntimeLibraryDependency> getAllProvidedRuntimeLibraries(N4JSProject project) {
    URI projectLocation = project.getLocation();
    if (projectLocation == null)
        return ECollections.emptyEList();
    ProjectDescription description = getProjectDescription(projectLocation);
    if (description == null)
        return ECollections.emptyEList();
    EList<ProvidedRuntimeLibraryDependency> runtimeLibraries = description.getAllProvidedRuntimeLibraries();
    if (runtimeLibraries == null)
        return ECollections.emptyEList();
    return runtimeLibraries;
}
Also used : ProvidedRuntimeLibraryDependency(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency) URI(org.eclipse.emf.common.util.URI) ProjectDescription(org.eclipse.n4js.n4mf.ProjectDescription) SimpleProjectDescription(org.eclipse.n4js.n4mf.SimpleProjectDescription)

Example 3 with ProvidedRuntimeLibraryDependency

use of org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency in project n4js by eclipse.

the class N4MFSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == N4mfPackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case N4mfPackage.BOOTSTRAP_MODULE:
                sequence_BootstrapModule(context, (BootstrapModule) semanticObject);
                return;
            case N4mfPackage.DECLARED_VERSION:
                sequence_DeclaredVersion(context, (DeclaredVersion) semanticObject);
                return;
            case N4mfPackage.EXEC_MODULE:
                sequence_ExecModule(context, (ExecModule) semanticObject);
                return;
            case N4mfPackage.EXTENDED_RUNTIME_ENVIRONMENT:
                sequence_ExtendedRuntimeEnvironment(context, (ExtendedRuntimeEnvironment) semanticObject);
                return;
            case N4mfPackage.IMPLEMENTED_PROJECTS:
                sequence_ImplementedProjects(context, (ImplementedProjects) semanticObject);
                return;
            case N4mfPackage.INIT_MODULES:
                sequence_InitModules(context, (InitModules) semanticObject);
                return;
            case N4mfPackage.MODULE_FILTER:
                sequence_ModuleFilter(context, (ModuleFilter) semanticObject);
                return;
            case N4mfPackage.MODULE_FILTER_SPECIFIER:
                sequence_ModuleFilterSpecifier(context, (ModuleFilterSpecifier) semanticObject);
                return;
            case N4mfPackage.PROJECT_DEPENDENCIES:
                sequence_ProjectDependencies(context, (ProjectDependencies) semanticObject);
                return;
            case N4mfPackage.PROJECT_DEPENDENCY:
                sequence_ProjectDependency(context, (ProjectDependency) semanticObject);
                return;
            case N4mfPackage.PROJECT_DESCRIPTION:
                sequence_ProjectDescription(context, (ProjectDescription) semanticObject);
                return;
            case N4mfPackage.PROJECT_REFERENCE:
                sequence_ProjectReference(context, (ProjectReference) semanticObject);
                return;
            case N4mfPackage.PROVIDED_RUNTIME_LIBRARIES:
                sequence_ProvidedRuntimeLibraries(context, (ProvidedRuntimeLibraries) semanticObject);
                return;
            case N4mfPackage.PROVIDED_RUNTIME_LIBRARY_DEPENDENCY:
                sequence_ProvidedRuntimeLibraryDependency(context, (ProvidedRuntimeLibraryDependency) semanticObject);
                return;
            case N4mfPackage.REQUIRED_RUNTIME_LIBRARIES:
                sequence_RequiredRuntimeLibraries(context, (RequiredRuntimeLibraries) semanticObject);
                return;
            case N4mfPackage.REQUIRED_RUNTIME_LIBRARY_DEPENDENCY:
                sequence_RequiredRuntimeLibraryDependency(context, (RequiredRuntimeLibraryDependency) semanticObject);
                return;
            case N4mfPackage.SIMPLE_PROJECT_DESCRIPTION:
                sequence_SimpleProjectDescription(context, (SimpleProjectDescription) semanticObject);
                return;
            case N4mfPackage.SOURCE_FRAGMENT:
                sequence_SourceFragment(context, (SourceFragment) semanticObject);
                return;
            case N4mfPackage.TESTED_PROJECT:
                sequence_TestedProject(context, (TestedProject) semanticObject);
                return;
            case N4mfPackage.TESTED_PROJECTS:
                sequence_TestedProjects(context, (TestedProjects) semanticObject);
                return;
            case N4mfPackage.VERSION_CONSTRAINT:
                sequence_VersionConstraint(context, (VersionConstraint) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ModuleFilterSpecifier(org.eclipse.n4js.n4mf.ModuleFilterSpecifier) ParserRule(org.eclipse.xtext.ParserRule) ImplementedProjects(org.eclipse.n4js.n4mf.ImplementedProjects) Action(org.eclipse.xtext.Action) ProjectReference(org.eclipse.n4js.n4mf.ProjectReference) VersionConstraint(org.eclipse.n4js.n4mf.VersionConstraint) TestedProjects(org.eclipse.n4js.n4mf.TestedProjects) SimpleProjectDescription(org.eclipse.n4js.n4mf.SimpleProjectDescription) ProjectDependencies(org.eclipse.n4js.n4mf.ProjectDependencies) RequiredRuntimeLibraryDependency(org.eclipse.n4js.n4mf.RequiredRuntimeLibraryDependency) EPackage(org.eclipse.emf.ecore.EPackage) SourceFragment(org.eclipse.n4js.n4mf.SourceFragment) ExecModule(org.eclipse.n4js.n4mf.ExecModule) ProjectDescription(org.eclipse.n4js.n4mf.ProjectDescription) SimpleProjectDescription(org.eclipse.n4js.n4mf.SimpleProjectDescription) BootstrapModule(org.eclipse.n4js.n4mf.BootstrapModule) TestedProject(org.eclipse.n4js.n4mf.TestedProject) ExtendedRuntimeEnvironment(org.eclipse.n4js.n4mf.ExtendedRuntimeEnvironment) ProvidedRuntimeLibraries(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraries) ProvidedRuntimeLibraryDependency(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency) ProjectDependency(org.eclipse.n4js.n4mf.ProjectDependency) RequiredRuntimeLibraries(org.eclipse.n4js.n4mf.RequiredRuntimeLibraries) ModuleFilter(org.eclipse.n4js.n4mf.ModuleFilter) InitModules(org.eclipse.n4js.n4mf.InitModules) Parameter(org.eclipse.xtext.Parameter) DeclaredVersion(org.eclipse.n4js.n4mf.DeclaredVersion)

Example 4 with ProvidedRuntimeLibraryDependency

use of org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency in project n4js by eclipse.

the class ProjectDescriptionImpl method getAllProvidedRuntimeLibraries.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public EList<ProvidedRuntimeLibraryDependency> getAllProvidedRuntimeLibraries() {
    EList<ProvidedRuntimeLibraryDependency> _xifexpression = null;
    ProvidedRuntimeLibraries _providedRuntimeLibraries = this.getProvidedRuntimeLibraries();
    boolean _tripleEquals = (null == _providedRuntimeLibraries);
    if (_tripleEquals) {
        _xifexpression = XcoreCollectionLiterals.<ProvidedRuntimeLibraryDependency>emptyEList();
    } else {
        _xifexpression = this.getProvidedRuntimeLibraries().getProvidedRuntimeLibraries();
    }
    return _xifexpression;
}
Also used : ProvidedRuntimeLibraries(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraries) ProvidedRuntimeLibraryDependency(org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency)

Aggregations

ProvidedRuntimeLibraryDependency (org.eclipse.n4js.n4mf.ProvidedRuntimeLibraryDependency)4 URI (org.eclipse.emf.common.util.URI)2 ProjectDescription (org.eclipse.n4js.n4mf.ProjectDescription)2 ProvidedRuntimeLibraries (org.eclipse.n4js.n4mf.ProvidedRuntimeLibraries)2 SimpleProjectDescription (org.eclipse.n4js.n4mf.SimpleProjectDescription)2 ImmutableList (com.google.common.collect.ImmutableList)1 EPackage (org.eclipse.emf.ecore.EPackage)1 BootstrapModule (org.eclipse.n4js.n4mf.BootstrapModule)1 DeclaredVersion (org.eclipse.n4js.n4mf.DeclaredVersion)1 ExecModule (org.eclipse.n4js.n4mf.ExecModule)1 ExtendedRuntimeEnvironment (org.eclipse.n4js.n4mf.ExtendedRuntimeEnvironment)1 ImplementedProjects (org.eclipse.n4js.n4mf.ImplementedProjects)1 InitModules (org.eclipse.n4js.n4mf.InitModules)1 ModuleFilter (org.eclipse.n4js.n4mf.ModuleFilter)1 ModuleFilterSpecifier (org.eclipse.n4js.n4mf.ModuleFilterSpecifier)1 ProjectDependencies (org.eclipse.n4js.n4mf.ProjectDependencies)1 ProjectDependency (org.eclipse.n4js.n4mf.ProjectDependency)1 ProjectReference (org.eclipse.n4js.n4mf.ProjectReference)1 RequiredRuntimeLibraries (org.eclipse.n4js.n4mf.RequiredRuntimeLibraries)1 RequiredRuntimeLibraryDependency (org.eclipse.n4js.n4mf.RequiredRuntimeLibraryDependency)1