mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
+3
-1
@@ -19,6 +19,7 @@ import com.intellij.openapi.roots.SourceFolder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.java.JavaResourceRootType;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootProperties;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
|
||||
@@ -41,7 +42,8 @@ public class JpsSourceFolder extends JpsContentFolderBase implements SourceFolde
|
||||
|
||||
@Override
|
||||
public boolean isTestSource() {
|
||||
return mySourceRoot.getRootType() == JavaSourceRootType.TEST_SOURCE;
|
||||
return mySourceRoot.getRootType() == JavaSourceRootType.TEST_SOURCE ||
|
||||
mySourceRoot.getRootType() == JavaResourceRootType.TEST_RESOURCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+5
@@ -128,6 +128,11 @@ public class MavenRootModelAdapter {
|
||||
return myRootModel;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String[] getSourceRootUrls(boolean includingTests) {
|
||||
return myRootModelModuleExtension.getSourceRootUrls(includingTests);
|
||||
}
|
||||
|
||||
public Module getModule() {
|
||||
return myRootModel.getModule();
|
||||
}
|
||||
|
||||
+32
-6
@@ -25,6 +25,8 @@ import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.project.model.impl.module.JpsRootModel;
|
||||
import com.intellij.project.model.impl.module.content.JpsContentEntry;
|
||||
import com.intellij.project.model.impl.module.content.JpsSourceFolder;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.SmartList;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -32,15 +34,14 @@ import org.jetbrains.idea.maven.utils.Url;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootProperties;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleType;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
@@ -97,7 +98,18 @@ public class MavenSourceFoldersModuleExtension extends ModuleExtension<MavenSour
|
||||
if (StringUtil.equals(jpsSourceFolder.getUrl(), eachFolder.getUrl())
|
||||
&& eachFolder.getRootType().equals(jpsSourceFolder.getRootType())) {
|
||||
found = true;
|
||||
eachFolder.setPackagePrefix(jpsSourceFolder.getPackagePrefix());
|
||||
if (eachFolder.getRootType() instanceof JavaSourceRootType) {
|
||||
final JavaSourceRootProperties jpsJavaSourceRootProperties =
|
||||
jpsSourceFolder.getJpsElement().getProperties((JavaSourceRootType)eachFolder.getRootType());
|
||||
|
||||
final JavaSourceRootProperties javaSourceRootProperties =
|
||||
eachFolder.getJpsElement().getProperties((JavaSourceRootType)eachFolder.getRootType());
|
||||
|
||||
if (javaSourceRootProperties != null && jpsJavaSourceRootProperties != null) {
|
||||
javaSourceRootProperties.applyChanges(jpsJavaSourceRootProperties);
|
||||
}
|
||||
}
|
||||
|
||||
myJpsSourceFolders.remove(jpsSourceFolder);
|
||||
Disposer.dispose(jpsSourceFolder);
|
||||
break;
|
||||
@@ -168,7 +180,11 @@ public class MavenSourceFoldersModuleExtension extends ModuleExtension<MavenSour
|
||||
final JpsModuleSourceRoot jpsModuleSourceRoot =
|
||||
JpsElementFactory.getInstance().createModuleSourceRoot(url.getUrl(), rootType, properties);
|
||||
final JpsContentEntry dummyJpsContentEntry = new JpsContentEntry(myDummyJpsModule, myDummyJpsRootModel, url.getUrl());
|
||||
myJpsSourceFolders.add(new JpsSourceFolder(jpsModuleSourceRoot, dummyJpsContentEntry));
|
||||
|
||||
final JpsSourceFolder jpsSourceFolder = new JpsSourceFolder(jpsModuleSourceRoot, dummyJpsContentEntry);
|
||||
myJpsSourceFolders.add(jpsSourceFolder);
|
||||
// since dummyJpsContentEntry created for each source folder, we will dispose it on that source folder disposal
|
||||
Disposer.register(jpsSourceFolder, dummyJpsContentEntry);
|
||||
|
||||
isJpsSourceFoldersChanged = true;
|
||||
}
|
||||
@@ -188,6 +204,16 @@ public class MavenSourceFoldersModuleExtension extends ModuleExtension<MavenSour
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String[] getSourceRootUrls(boolean includingTests) {
|
||||
List<String> result = new SmartList<String>();
|
||||
for (JpsSourceFolder eachFolder : myJpsSourceFolders) {
|
||||
if (includingTests || !eachFolder.isTestSource()) {
|
||||
result.add(eachFolder.getUrl());
|
||||
}
|
||||
}
|
||||
return ArrayUtil.toStringArray(result);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ContentEntry getContentRootFor(@NotNull Url url) {
|
||||
|
||||
Reference in New Issue
Block a user