Search in sources :

Example 6 with Outlet

use of org.eclipse.xpand2.output.Outlet in project applause by applause.

the class AndroidBuildStrategy method configureOutlet.

@Override
protected void configureOutlet(Outlet outlet) {
    JavaBeautifier beautifier = new JavaBeautifier();
    outlet.addPostprocessor(beautifier);
}
Also used : JavaBeautifier(org.eclipse.xpand2.output.JavaBeautifier)

Example 7 with Outlet

use of org.eclipse.xpand2.output.Outlet in project applause by applause.

the class ApplauseDslProjectCreator method enhanceProject.

protected void enhanceProject(final IProject project, final IProgressMonitor monitor) throws CoreException {
    OutputImpl output = new OutputImpl();
    output.addOutlet(new Outlet(false, getEncoding(), null, true, project.getLocation().makeAbsolute().toOSString()));
    XpandExecutionContextImpl execCtx = new XpandExecutionContextImpl(output, null);
    execCtx.getResourceManager().setFileEncoding("ISO-8859-1");
    execCtx.registerMetaModel(new JavaBeansMetaModel());
    XpandFacade facade = XpandFacade.create(execCtx);
    facade.evaluate("org::applause::lang::ui::wizard::ApplauseDslNewProject::main", getProjectInfo());
    project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
}
Also used : Outlet(org.eclipse.xpand2.output.Outlet) XpandExecutionContextImpl(org.eclipse.xpand2.XpandExecutionContextImpl) JavaBeansMetaModel(org.eclipse.xtend.type.impl.java.JavaBeansMetaModel) OutputImpl(org.eclipse.xpand2.output.OutputImpl) XpandFacade(org.eclipse.xpand2.XpandFacade)

Example 8 with Outlet

use of org.eclipse.xpand2.output.Outlet in project applause by applause.

the class AbstractBuildStrategy method build.

public void build(IProgressMonitor monitor) throws CoreException {
    if (canBuildProject()) {
        final IFolder folder = getPlatformProject().getFolder(getGeneratedSourcesFolderName());
        // FIXME: maybe we should just create the folder if it's missing?!
        if (!folder.exists())
            return;
        List<EObject> objects = new ArrayList<EObject>();
        for (Delta d : context.getDeltas()) {
            if (d.getNew() != null) {
                for (IEObjectDescription desc : d.getNew().getExportedObjects()) {
                    EObject obj = context.getResourceSet().getEObject(desc.getEObjectURI(), true);
                    EcoreUtil2.resolveAll(context.getResourceSet());
                    objects.add(obj);
                }
            }
        }
        Iterable<Application> applicationObjects = Iterables.filter(objects, Application.class);
        if (!Iterables.isEmpty(applicationObjects)) {
            deletePreviouslyGeneratedFiles(monitor, folder);
        }
        for (Application app : applicationObjects) {
            OutputImpl output = new OutputImpl();
            Outlet outlet = createOutlet(folder);
            configureOutlet(outlet);
            output.addOutlet(outlet);
            // IFolder rootFolder = (IFolder) getPlatformProject().getAdapter(IFolder.class);
            // // IPath location = getPlatformProject().getFullPath();
            // // IFolder rootFolder = ResourcesPlugin.getWorkspace().getRoot().getFolder(location);
            // Outlet projectRootOutlet = createOutlet(rootFolder);
            // projectRootOutlet.setName("ROOT");
            // output.addOutlet(projectRootOutlet);
            generate(app, output);
            copyResources(app, getModelProject().getFolder("/Images"));
            getPlatformProject().build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);
            return;
        }
    }
}
Also used : Delta(org.eclipse.xtext.resource.IResourceDescription.Delta) EObject(org.eclipse.emf.ecore.EObject) ArrayList(java.util.ArrayList) Outlet(org.eclipse.xpand2.output.Outlet) Application(org.applause.lang.applauseDsl.Application) OutputImpl(org.eclipse.xpand2.output.OutputImpl) IFolder(org.eclipse.core.resources.IFolder) IEObjectDescription(org.eclipse.xtext.resource.IEObjectDescription)

Aggregations

Outlet (org.eclipse.xpand2.output.Outlet)7 OutputImpl (org.eclipse.xpand2.output.OutputImpl)2 NewlineNormalizer (org.eclipse.xtext.generator.NewlineNormalizer)2 File (java.io.File)1 Charset (java.nio.charset.Charset)1 ArrayList (java.util.ArrayList)1 Application (org.applause.lang.applauseDsl.Application)1 IFolder (org.eclipse.core.resources.IFolder)1 EObject (org.eclipse.emf.ecore.EObject)1 XpandExecutionContextImpl (org.eclipse.xpand2.XpandExecutionContextImpl)1 XpandFacade (org.eclipse.xpand2.XpandFacade)1 FileHandle (org.eclipse.xpand2.output.FileHandle)1 FileHandleImpl (org.eclipse.xpand2.output.FileHandleImpl)1 JavaBeautifier (org.eclipse.xpand2.output.JavaBeautifier)1 JavaBeansMetaModel (org.eclipse.xtend.type.impl.java.JavaBeansMetaModel)1 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)1 AntlrOptions (org.eclipse.xtext.generator.parser.antlr.AntlrOptions)1 IEObjectDescription (org.eclipse.xtext.resource.IEObjectDescription)1 Delta (org.eclipse.xtext.resource.IResourceDescription.Delta)1