Search in sources :

Example 6 with Project

use of org.gradle.api.Project in project gradle by gradle.

the class GradleProjectBuilder method buildHierarchy.

private DefaultGradleProject<LaunchableGradleTask> buildHierarchy(Project project) {
    List<DefaultGradleProject<LaunchableGradleTask>> children = new ArrayList<DefaultGradleProject<LaunchableGradleTask>>();
    for (Project child : project.getChildProjects().values()) {
        children.add(buildHierarchy(child));
    }
    DefaultGradleProject<LaunchableGradleTask> gradleProject = new DefaultGradleProject<LaunchableGradleTask>().setProjectIdentifier(new DefaultProjectIdentifier(project.getRootDir(), project.getPath())).setName(project.getName()).setDescription(project.getDescription()).setBuildDirectory(project.getBuildDir()).setProjectDirectory(project.getProjectDir()).setChildren(children);
    gradleProject.getBuildScript().setSourceFile(project.getBuildFile());
    gradleProject.setTasks(tasks(gradleProject, (TaskContainerInternal) project.getTasks()));
    for (DefaultGradleProject child : children) {
        child.setParent(gradleProject);
    }
    return gradleProject;
}
Also used : LaunchableGradleTask(org.gradle.plugins.ide.internal.tooling.model.LaunchableGradleTask) Project(org.gradle.api.Project) DefaultGradleProject(org.gradle.tooling.internal.gradle.DefaultGradleProject) DefaultGradleProject(org.gradle.tooling.internal.gradle.DefaultGradleProject) ArrayList(java.util.ArrayList) TaskContainerInternal(org.gradle.api.internal.tasks.TaskContainerInternal) DefaultProjectIdentifier(org.gradle.tooling.internal.gradle.DefaultProjectIdentifier)

Example 7 with Project

use of org.gradle.api.Project in project gradle by gradle.

the class IdeaModelBuilder method appendModule.

private void appendModule(Map<String, DefaultIdeaModule> modules, IdeaModule ideaModule, DefaultIdeaProject ideaProject, DefaultGradleProject rootGradleProject) {
    DefaultIdeaContentRoot contentRoot = new DefaultIdeaContentRoot().setRootDirectory(ideaModule.getContentRoot()).setSourceDirectories(srcDirs(ideaModule.getSourceDirs(), ideaModule.getGeneratedSourceDirs())).setTestDirectories(srcDirs(ideaModule.getTestSourceDirs(), ideaModule.getGeneratedSourceDirs())).setExcludeDirectories(ideaModule.getExcludeDirs());
    Project project = ideaModule.getProject();
    DefaultIdeaModule defaultIdeaModule = new DefaultIdeaModule().setName(ideaModule.getName()).setParent(ideaProject).setGradleProject(rootGradleProject.findByPath(ideaModule.getProject().getPath())).setContentRoots(Collections.singletonList(contentRoot)).setJdkName(ideaModule.getJdkName()).setCompilerOutput(new DefaultIdeaCompilerOutput().setInheritOutputDirs(ideaModule.getInheritOutputDirs() != null ? ideaModule.getInheritOutputDirs() : false).setOutputDir(ideaModule.getOutputDir()).setTestOutputDir(ideaModule.getTestOutputDir()));
    JavaPluginConvention javaPluginConvention = project.getConvention().findPlugin(JavaPluginConvention.class);
    if (javaPluginConvention != null) {
        final IdeaLanguageLevel ideaModuleLanguageLevel = ideaModule.getLanguageLevel();
        JavaVersion moduleSourceLanguageLevel = convertIdeaLanguageLevelToJavaVersion(ideaModuleLanguageLevel);
        JavaVersion moduleTargetBytecodeVersion = ideaModule.getTargetBytecodeVersion();
        defaultIdeaModule.setJavaLanguageSettings(new DefaultIdeaJavaLanguageSettings().setSourceLanguageLevel(moduleSourceLanguageLevel).setTargetBytecodeVersion(moduleTargetBytecodeVersion));
    }
    modules.put(ideaModule.getName(), defaultIdeaModule);
}
Also used : DefaultIdeaContentRoot(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaContentRoot) IdeaProject(org.gradle.plugins.ide.idea.model.IdeaProject) DefaultGradleProject(org.gradle.tooling.internal.gradle.DefaultGradleProject) Project(org.gradle.api.Project) DefaultIdeaProject(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaProject) DefaultIdeaModule(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaModule) JavaPluginConvention(org.gradle.api.plugins.JavaPluginConvention) DefaultIdeaJavaLanguageSettings(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaJavaLanguageSettings) DefaultIdeaLanguageLevel(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaLanguageLevel) IdeaLanguageLevel(org.gradle.plugins.ide.idea.model.IdeaLanguageLevel) JavaVersion(org.gradle.api.JavaVersion) DefaultIdeaCompilerOutput(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaCompilerOutput)

Example 8 with Project

use of org.gradle.api.Project in project gradle by gradle.

the class IdeaModelBuilder method buildAll.

@Override
public DefaultIdeaProject buildAll(String modelName, Project project) {
    Project root = project.getRootProject();
    applyIdeaPlugin(root);
    DefaultGradleProject<?> rootGradleProject = gradleProjectBuilder.buildAll(project);
    return build(root, rootGradleProject);
}
Also used : IdeaProject(org.gradle.plugins.ide.idea.model.IdeaProject) DefaultGradleProject(org.gradle.tooling.internal.gradle.DefaultGradleProject) Project(org.gradle.api.Project) DefaultIdeaProject(org.gradle.plugins.ide.internal.tooling.idea.DefaultIdeaProject)

Example 9 with Project

use of org.gradle.api.Project in project gradle by gradle.

the class BuildInvocationsBuilder method findTasks.

private void findTasks(Project project, Map<String, LaunchableGradleTaskSelector> taskSelectors, Collection<String> visibleTasks) {
    for (Project child : project.getChildProjects().values()) {
        findTasks(child, taskSelectors, visibleTasks);
    }
    for (Task task : taskLister.listProjectTasks(project)) {
        // this way, for each task selector, its description will be the one from the selected task with the 'smallest' path
        if (!taskSelectors.containsKey(task.getName())) {
            LaunchableGradleTaskSelector taskSelector = new LaunchableGradleTaskSelector().setDescription(task.getDescription()).setPath(task.getPath());
            taskSelectors.put(task.getName(), taskSelector);
        } else {
            LaunchableGradleTaskSelector taskSelector = taskSelectors.get(task.getName());
            if (hasPathWithLowerOrdering(task, taskSelector)) {
                taskSelector.setDescription(task.getDescription()).setPath(task.getPath());
            }
        }
        // visible tasks are specified as those that have a non-empty group
        if (PublicTaskSpecification.INSTANCE.isSatisfiedBy(task)) {
            visibleTasks.add(task.getName());
        }
    }
}
Also used : Project(org.gradle.api.Project) ToolingModelBuilderSupport.buildFromTask(org.gradle.plugins.ide.internal.tooling.ToolingModelBuilderSupport.buildFromTask) LaunchableGradleTask(org.gradle.plugins.ide.internal.tooling.model.LaunchableGradleTask) Task(org.gradle.api.Task) LaunchableGradleTaskSelector(org.gradle.plugins.ide.internal.tooling.model.LaunchableGradleTaskSelector)

Example 10 with Project

use of org.gradle.api.Project in project gradle by gradle.

the class EclipseModelBuilder method applyEclipsePlugin.

private void applyEclipsePlugin(Project root) {
    Set<Project> allProjects = root.getAllprojects();
    for (Project p : allProjects) {
        p.getPluginManager().apply(EclipsePlugin.class);
    }
    root.getPlugins().getPlugin(EclipsePlugin.class).performPostEvaluationActions();
}
Also used : DefaultGradleProject(org.gradle.tooling.internal.gradle.DefaultGradleProject) Project(org.gradle.api.Project) DefaultEclipseProject(org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseProject) EclipsePlugin(org.gradle.plugins.ide.eclipse.EclipsePlugin)

Aggregations

Project (org.gradle.api.Project)74 File (java.io.File)17 Task (org.gradle.api.Task)11 Configuration (org.gradle.api.artifacts.Configuration)8 TaskAction (org.gradle.api.tasks.TaskAction)8 DefaultGradleProject (org.gradle.tooling.internal.gradle.DefaultGradleProject)8 StyledTextOutput (org.gradle.internal.logging.text.StyledTextOutput)6 IdeaProject (org.gradle.plugins.ide.idea.model.IdeaProject)6 ArrayList (java.util.ArrayList)5 Action (org.gradle.api.Action)4 FileCollection (org.gradle.api.file.FileCollection)4 IOException (java.io.IOException)3 Map (java.util.Map)3 Set (java.util.Set)3 Gradle (org.gradle.api.invocation.Gradle)3 ExtraPropertiesExtension (org.gradle.api.plugins.ExtraPropertiesExtension)3 PatternSet (org.gradle.api.tasks.util.PatternSet)3 DefaultEclipseProject (org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseProject)3 CompileOptions (com.android.build.gradle.internal.CompileOptions)2 GlobalScope (com.android.build.gradle.internal.scope.GlobalScope)2