Search in sources :

Example 1 with AbstractFile

use of org.eclipse.xtext.xtext.wizard.AbstractFile in project xtext-core by eclipse.

the class RuntimeProjectDescriptor method getFiles.

@Override
public Iterable<? extends AbstractFile> getFiles() {
    final ArrayList<AbstractFile> files = CollectionLiterals.<AbstractFile>newArrayList();
    Iterable<? extends AbstractFile> _files = super.getFiles();
    Iterables.<AbstractFile>addAll(files, _files);
    PlainTextFile _grammarFile = this.getGrammarFile();
    files.add(_grammarFile);
    PlainTextFile _file = this.file(Outlet.MAIN_JAVA, this.getWorkflowFilePath(), this.workflow());
    files.add(_file);
    PlainTextFile _workflowLaunchConfigFile = this.getWorkflowLaunchConfigFile();
    files.add(_workflowLaunchConfigFile);
    boolean _isEclipsePluginProject = this.getConfig().getRuntimeProject().isEclipsePluginProject();
    if (_isEclipsePluginProject) {
        PlainTextFile _launchConfigFile = this.getLaunchConfigFile();
        files.add(_launchConfigFile);
    }
    boolean _isPlainMavenBuild = this.isPlainMavenBuild();
    if (_isPlainMavenBuild) {
        PlainTextFile _file_1 = this.file(Outlet.ROOT, "jar-with-ecore-model.xml", this.jarDescriptor());
        files.add(_file_1);
    }
    return files;
}
Also used : AbstractFile(org.eclipse.xtext.xtext.wizard.AbstractFile) PlainTextFile(org.eclipse.xtext.xtext.wizard.PlainTextFile)

Example 2 with AbstractFile

use of org.eclipse.xtext.xtext.wizard.AbstractFile in project xtext-core by eclipse.

the class WizardConfigurationTest method inlinedTestProjectsDontOverrideMainSources.

@Test
public void inlinedTestProjectsDontOverrideMainSources() {
    TestProjectDescriptor _testProject = this.config.getRuntimeProject().getTestProject();
    _testProject.setEnabled(true);
    this.config.setPreferredBuildSystem(BuildSystem.MAVEN);
    this.config.setSourceLayout(SourceLayout.MAVEN);
    final Function1<AbstractFile, Boolean> _function = (AbstractFile it) -> {
        String _relativePath = it.getRelativePath();
        return Boolean.valueOf(Objects.equal(_relativePath, "pom.xml"));
    };
    final AbstractFile pom = IterableExtensions.findFirst(this.config.getRuntimeProject().getFiles(), _function);
    Assert.assertTrue((pom instanceof PomFile));
    Assert.assertTrue(((PomFile) pom).getContent().toString().contains("<artifactId>org.example.mydsl</artifactId>"));
}
Also used : AbstractFile(org.eclipse.xtext.xtext.wizard.AbstractFile) PomFile(org.eclipse.xtext.xtext.wizard.PomFile) TestProjectDescriptor(org.eclipse.xtext.xtext.wizard.TestProjectDescriptor) Test(org.junit.Test)

Example 3 with AbstractFile

use of org.eclipse.xtext.xtext.wizard.AbstractFile in project xtext-core by eclipse.

the class CliProjectsCreator method createProject.

public void createProject(final ProjectDescriptor project) {
    String _location = project.getLocation();
    final File projectRoot = new File(_location);
    projectRoot.mkdirs();
    final Consumer<AbstractFile> _function = (AbstractFile it) -> {
        try {
            String _pathFor = project.getConfig().getSourceLayout().getPathFor(it.getOutlet());
            String _plus = (_pathFor + "/");
            String _relativePath = it.getRelativePath();
            final String projectRelativePath = (_plus + _relativePath);
            final File file = new File(projectRoot, projectRelativePath);
            file.getParentFile().mkdirs();
            boolean _matched = false;
            if (it instanceof TextFile) {
                _matched = true;
                final String normalizedContent = ((TextFile) it).getContent().replace(Strings.newLine(), this.lineDelimiter);
                Files.write(normalizedContent, file, project.getConfig().getEncoding());
            }
            if (!_matched) {
                if (it instanceof BinaryFile) {
                    _matched = true;
                    Files.write(Resources.toByteArray(((BinaryFile) it).getContent()), file);
                }
            }
            boolean _isExecutable = it.isExecutable();
            if (_isExecutable) {
                file.setExecutable(true);
            }
        } catch (Throwable _e) {
            throw Exceptions.sneakyThrow(_e);
        }
    };
    project.getFiles().forEach(_function);
    final Consumer<String> _function_1 = (String it) -> {
        new File(projectRoot, it).mkdirs();
    };
    project.getSourceFolders().forEach(_function_1);
}
Also used : AbstractFile(org.eclipse.xtext.xtext.wizard.AbstractFile) TextFile(org.eclipse.xtext.xtext.wizard.TextFile) BinaryFile(org.eclipse.xtext.xtext.wizard.BinaryFile) TextFile(org.eclipse.xtext.xtext.wizard.TextFile) AbstractFile(org.eclipse.xtext.xtext.wizard.AbstractFile) File(java.io.File) BinaryFile(org.eclipse.xtext.xtext.wizard.BinaryFile)

Example 4 with AbstractFile

use of org.eclipse.xtext.xtext.wizard.AbstractFile in project xtext-core by eclipse.

the class ParentProjectDescriptor method getFiles.

@Override
public Iterable<? extends AbstractFile> getFiles() {
    final ArrayList<AbstractFile> files = CollectionLiterals.<AbstractFile>newArrayList();
    Iterable<? extends AbstractFile> _files = super.getFiles();
    Iterables.<AbstractFile>addAll(files, _files);
    boolean _needsGradleBuild = this.getConfig().needsGradleBuild();
    if (_needsGradleBuild) {
        PlainTextFile _file = this.file(Outlet.ROOT, "settings.gradle", this.settingsGradle());
        files.add(_file);
        PlainTextFile _file_1 = this.file(Outlet.ROOT, "gradle/source-layout.gradle", this.sourceLayoutGradle());
        files.add(_file_1);
        PlainTextFile _file_2 = this.file(Outlet.ROOT, "gradle/maven-deployment.gradle", this.mavenDeploymentGradle());
        files.add(_file_2);
        boolean _isNeedsGradleWrapper = this.getConfig().isNeedsGradleWrapper();
        if (_isNeedsGradleWrapper) {
            PlainTextFile _file_3 = this.file(Outlet.ROOT, "gradlew", this.loadResource("gradlew/gradlew"), true);
            files.add(_file_3);
            PlainTextFile _file_4 = this.file(Outlet.ROOT, "gradlew.bat", this.loadResource("gradlew/gradlew.bat"));
            files.add(_file_4);
            PlainTextFile _file_5 = this.file(Outlet.ROOT, "gradle/wrapper/gradle-wrapper.properties", this.loadResource("gradlew/gradle-wrapper.properties"));
            files.add(_file_5);
            BinaryFile _binaryFile = this.binaryFile(Outlet.ROOT, "gradle/wrapper/gradle-wrapper.jar", this.getClass().getClassLoader().getResource("gradlew/gradle-wrapper.jar"));
            files.add(_binaryFile);
        }
    }
    return files;
}
Also used : AbstractFile(org.eclipse.xtext.xtext.wizard.AbstractFile) PlainTextFile(org.eclipse.xtext.xtext.wizard.PlainTextFile) BinaryFile(org.eclipse.xtext.xtext.wizard.BinaryFile)

Aggregations

AbstractFile (org.eclipse.xtext.xtext.wizard.AbstractFile)4 BinaryFile (org.eclipse.xtext.xtext.wizard.BinaryFile)2 PlainTextFile (org.eclipse.xtext.xtext.wizard.PlainTextFile)2 File (java.io.File)1 PomFile (org.eclipse.xtext.xtext.wizard.PomFile)1 TestProjectDescriptor (org.eclipse.xtext.xtext.wizard.TestProjectDescriptor)1 TextFile (org.eclipse.xtext.xtext.wizard.TextFile)1 Test (org.junit.Test)1