use of org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseProject in project gradle by gradle.
the class EclipseModelBuilder method populate.
private void populate(Project project) {
((ProjectInternal) project).getModel().applyToMutableState(state -> {
EclipseModel eclipseModel = project.getExtensions().getByType(EclipseModel.class);
boolean projectDependenciesOnly = this.projectDependenciesOnly;
ClasspathElements classpathElements = gatherClasspathElements(projectOpenStatus, eclipseModel.getClasspath(), projectDependenciesOnly);
DefaultEclipseProject eclipseProject = findEclipseProject(project);
eclipseProject.setClasspath(classpathElements.getExternalDependencies());
eclipseProject.setProjectDependencies(classpathElements.getProjectDependencies());
eclipseProject.setSourceDirectories(classpathElements.getSourceDirectories());
eclipseProject.setClasspathContainers(classpathElements.getClasspathContainers());
eclipseProject.setOutputLocation(classpathElements.getEclipseOutputLocation() != null ? classpathElements.getEclipseOutputLocation() : new DefaultEclipseOutputLocation("bin"));
eclipseProject.setAutoBuildTasks(!eclipseModel.getAutoBuildTasks().getDependencies(null).isEmpty());
org.gradle.plugins.ide.eclipse.model.Project xmlProject = new org.gradle.plugins.ide.eclipse.model.Project(new XmlTransformer());
XmlFileContentMerger projectFile = eclipseModel.getProject().getFile();
if (projectFile == null) {
xmlProject.configure(eclipseModel.getProject());
} else {
eclipseModel.getProject().mergeXmlProject(xmlProject);
}
populateEclipseProjectTasks(eclipseProject, tasksFactory.getTasks(project));
populateEclipseProject(eclipseProject, xmlProject);
populateEclipseProjectJdt(eclipseProject, eclipseModel.getJdt());
});
for (Project childProject : project.getChildProjects().values()) {
populate(childProject);
}
}
use of org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseProject in project gradle by gradle.
the class EclipseModelBuilder method buildHierarchy.
private DefaultEclipseProject buildHierarchy(Project project) {
List<DefaultEclipseProject> children = new ArrayList<>();
for (Project child : project.getChildProjects().values()) {
children.add(buildHierarchy(child));
}
EclipseModel eclipseModel = project.getExtensions().getByType(EclipseModel.class);
org.gradle.plugins.ide.eclipse.model.EclipseProject internalProject = eclipseModel.getProject();
String name = internalProject.getName();
String description = GUtil.elvis(internalProject.getComment(), null);
DefaultEclipseProject eclipseProject = new DefaultEclipseProject(name, project.getPath(), description, project.getProjectDir(), children).setGradleProject(rootGradleProject.findByPath(project.getPath()));
for (DefaultEclipseProject child : children) {
child.setParent(eclipseProject);
}
addProject(project, eclipseProject);
return eclipseProject;
}
Aggregations