diff --git a/java-coverage-impl/pom.xml b/java-coverage-impl/pom.xml index 2c4fb6cb81..de738a7f5b 100644 --- a/java-coverage-impl/pom.xml +++ b/java-coverage-impl/pom.xml @@ -16,53 +16,71 @@ - limitations under the License. --> - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - - consulo - arch.ide-api-provided - 3-SNAPSHOT - - + + consulo + arch.ide-api-provided + 3-SNAPSHOT + + - - - consulo - https://maven.consulo.io/repository/snapshots/ - - true - interval:60 - - - + + + consulo + https://maven.consulo.io/repository/snapshots/ + + true + interval:60 + + + - consulo.plugin - consulo.java-java.coverage.impl - 3-SNAPSHOT - jar + consulo.plugin + consulo.java-java.coverage.impl + 3-SNAPSHOT + jar - - - ${project.groupId} - consulo.java-java.language.impl - ${project.version} - - - ${project.groupId} - consulo.java-java.execution.impl - ${project.version} - - - ${project.groupId} - consulo.java-java.coverage.rt - ${project.version} - + + + + consulo.maven + maven-consulo-plugin + true + + + generate-sources + + generate-localize + + + + + + - - org.jacoco - org.jacoco.core - 0.7.9 - - + + + ${project.groupId} + consulo.java-java.language.impl + ${project.version} + + + ${project.groupId} + consulo.java-java.execution.impl + ${project.version} + + + ${project.groupId} + consulo.java-java.coverage.rt + ${project.version} + + + + org.jacoco + org.jacoco.core + 0.7.9 + + \ No newline at end of file diff --git a/java-coverage-impl/src/main/java/com/intellij/java/coverage/view/JavaCoverageViewExtension.java b/java-coverage-impl/src/main/java/com/intellij/java/coverage/view/JavaCoverageViewExtension.java index 47da235527..6d611c2068 100644 --- a/java-coverage-impl/src/main/java/com/intellij/java/coverage/view/JavaCoverageViewExtension.java +++ b/java-coverage-impl/src/main/java/com/intellij/java/coverage/view/JavaCoverageViewExtension.java @@ -6,11 +6,11 @@ import com.intellij.java.language.psi.*; import consulo.annotation.access.RequiredReadAction; import consulo.application.Application; -import consulo.application.util.function.Computable; import consulo.execution.coverage.CoverageSuite; import consulo.execution.coverage.CoverageSuitesBundle; import consulo.execution.coverage.CoverageViewManager; import consulo.execution.coverage.view.*; +import consulo.java.coverage.localize.JavaCoverageLocalize; import consulo.language.psi.*; import consulo.language.psi.scope.GlobalSearchScope; import consulo.language.psi.util.PsiTreeUtil; @@ -24,296 +24,325 @@ import java.util.function.Supplier; /** - * User: anna - * Date: 1/5/12 + * @author anna + * @since 2012-01-05 */ public class JavaCoverageViewExtension extends CoverageViewExtension { - private final JavaCoverageAnnotator myAnnotator; + private final JavaCoverageAnnotator myAnnotator; - public JavaCoverageViewExtension( - JavaCoverageAnnotator annotator, - Project project, - CoverageSuitesBundle suitesBundle, - CoverageViewManager.StateBean stateBean - ) { - super(project, suitesBundle, stateBean); - myAnnotator = annotator; - } + public JavaCoverageViewExtension( + JavaCoverageAnnotator annotator, + Project project, + CoverageSuitesBundle suitesBundle, + CoverageViewManager.StateBean stateBean + ) { + super(project, suitesBundle, stateBean); + myAnnotator = annotator; + } - @Override - public String getSummaryForNode(AbstractTreeNode node) { - final String coverageInformationString = myAnnotator - .getPackageCoverageInformationString((PsiJavaPackage) node.getValue(), null, getCoverageDataManager(), getStateBean().myFlattenPackages); - return "Coverage Summary for Package \'" + node.toString() + "\': " + getNotCoveredMessage(coverageInformationString); - } + @Override + public String getSummaryForNode(AbstractTreeNode node) { + String coverageInformationString = myAnnotator.getPackageCoverageInformationString( + (PsiJavaPackage) node.getValue(), + null, + getCoverageDataManager(), + getStateBean().myFlattenPackages + ); + return "Coverage Summary for Package \'" + node.toString() + "\': " + getNotCoveredMessage(coverageInformationString); + } - @Override - @RequiredReadAction - public String getSummaryForRootNode(AbstractTreeNode childNode) { - final Object value = childNode.getValue(); - String coverageInformationString = - myAnnotator.getPackageCoverageInformationString((PsiPackage) value, null, getCoverageDataManager()); - if (coverageInformationString == null) { - if (!getCoverageViewManager().isReady()) return "Loading..."; - PackageAnnotator.PackageCoverageInfo info = new PackageAnnotator.PackageCoverageInfo(); - final Collection children = childNode.getChildren(); - for (Object child : children) { - final Object childValue = ((CoverageListNode) child).getValue(); - if (childValue instanceof PsiPackage psiPackage) { - final PackageAnnotator.PackageCoverageInfo coverageInfo = - myAnnotator.getPackageCoverageInfo(psiPackage, getStateBean().myFlattenPackages); - if (coverageInfo != null) { - info = JavaCoverageAnnotator.merge(info, coverageInfo); - } - } else { - final PackageAnnotator.ClassCoverageInfo classCoverageInfo = getClassCoverageInfo(((PsiClass) childValue)); - if (classCoverageInfo != null) { - info.coveredClassCount += classCoverageInfo.coveredMethodCount > 0 ? 1 : 0; - info.totalClassCount++; + @Override + @RequiredReadAction + public String getSummaryForRootNode(AbstractTreeNode childNode) { + Object value = childNode.getValue(); + String coverageInformationString = + myAnnotator.getPackageCoverageInformationString((PsiPackage) value, null, getCoverageDataManager()); + if (coverageInformationString == null) { + if (!getCoverageViewManager().isReady()) { + return "Loading..."; + } + PackageAnnotator.PackageCoverageInfo info = new PackageAnnotator.PackageCoverageInfo(); + Collection children = childNode.getChildren(); + for (Object child : children) { + Object childValue = ((CoverageListNode) child).getValue(); + if (childValue instanceof PsiPackage psiPackage) { + PackageAnnotator.PackageCoverageInfo coverageInfo = + myAnnotator.getPackageCoverageInfo(psiPackage, getStateBean().myFlattenPackages); + if (coverageInfo != null) { + info = JavaCoverageAnnotator.merge(info, coverageInfo); + } + } + else { + PackageAnnotator.ClassCoverageInfo classCoverageInfo = getClassCoverageInfo(((PsiClass) childValue)); + if (classCoverageInfo != null) { + info.coveredClassCount += classCoverageInfo.coveredMethodCount > 0 ? 1 : 0; + info.totalClassCount++; - info.coveredMethodCount += classCoverageInfo.coveredMethodCount; - info.totalMethodCount += classCoverageInfo.totalMethodCount; + info.coveredMethodCount += classCoverageInfo.coveredMethodCount; + info.totalMethodCount += classCoverageInfo.totalMethodCount; - info.coveredLineCount += classCoverageInfo.partiallyCoveredLineCount + classCoverageInfo.fullyCoveredLineCount; - info.totalLineCount += classCoverageInfo.totalLineCount; - } + info.coveredLineCount += classCoverageInfo.partiallyCoveredLineCount + classCoverageInfo.fullyCoveredLineCount; + info.totalLineCount += classCoverageInfo.totalLineCount; + } + } + } + coverageInformationString = JavaCoverageAnnotator.getCoverageInformationString(info, false); } - } - coverageInformationString = JavaCoverageAnnotator.getCoverageInformationString(info, false); + return "Coverage Summary for \'all classes in scope\': " + getNotCoveredMessage(coverageInformationString); } - return "Coverage Summary for \'all classes in scope\': " + getNotCoveredMessage(coverageInformationString); - } - private static String getNotCoveredMessage(String coverageInformationString) { - if (coverageInformationString == null) { - coverageInformationString = "not covered"; + private static String getNotCoveredMessage(String coverageInformationString) { + if (coverageInformationString == null) { + coverageInformationString = "not covered"; + } + return coverageInformationString; } - return coverageInformationString; - } - @Override - public String getPercentage(int columnIndex, AbstractTreeNode node) { - final Object value = node.getValue(); - if (value instanceof PsiClass psiClass) { + @Override + public String getPercentage(int columnIndex, AbstractTreeNode node) { + Object value = node.getValue(); + if (value instanceof PsiClass psiClass) { - //no coverage gathered - if (psiClass.isInterface()) return null; + //no coverage gathered + if (psiClass.isInterface()) { + return null; + } - final String qualifiedName = psiClass.getQualifiedName(); - if (columnIndex == 1) { - return myAnnotator.getClassCoveredPercentage(qualifiedName); - } else if (columnIndex == 2) { - return myAnnotator.getClassMethodPercentage(qualifiedName); - } + String qualifiedName = psiClass.getQualifiedName(); + if (columnIndex == 1) { + return myAnnotator.getClassCoveredPercentage(qualifiedName); + } + else if (columnIndex == 2) { + return myAnnotator.getClassMethodPercentage(qualifiedName); + } - return myAnnotator.getClassLinePercentage(qualifiedName); - } - if (value instanceof PsiPackage psiPackage) { - final boolean flatten = getStateBean().myFlattenPackages; - if (columnIndex == 1) { - return myAnnotator.getPackageClassPercentage(psiPackage, flatten); - } else if (columnIndex == 2) { - return myAnnotator.getPackageMethodPercentage(psiPackage, flatten); - } - return myAnnotator.getPackageLinePercentage(psiPackage, flatten); + return myAnnotator.getClassLinePercentage(qualifiedName); + } + if (value instanceof PsiPackage psiPackage) { + boolean flatten = getStateBean().myFlattenPackages; + if (columnIndex == 1) { + return myAnnotator.getPackageClassPercentage(psiPackage, flatten); + } + else if (columnIndex == 2) { + return myAnnotator.getPackageMethodPercentage(psiPackage, flatten); + } + return myAnnotator.getPackageLinePercentage(psiPackage, flatten); + } + return null; } - return null; - } - @Override - public PsiElement getElementToSelect(Object object) { - PsiElement psiElement = super.getElementToSelect(object); - if (psiElement != null) { - final PsiFile containingFile = psiElement.getContainingFile(); - if (containingFile instanceof PsiClassOwner classOwner) { - final PsiClass[] classes = classOwner.getClasses(); - if (classes.length == 1) return classes[0]; - for (PsiClass aClass : classes) { - if (PsiTreeUtil.isAncestor(aClass, psiElement, false)) return aClass; + @Override + @RequiredReadAction + public PsiElement getElementToSelect(Object object) { + PsiElement psiElement = super.getElementToSelect(object); + if (psiElement != null) { + PsiFile containingFile = psiElement.getContainingFile(); + if (containingFile instanceof PsiClassOwner classOwner) { + PsiClass[] classes = classOwner.getClasses(); + if (classes.length == 1) { + return classes[0]; + } + for (PsiClass aClass : classes) { + if (PsiTreeUtil.isAncestor(aClass, psiElement, false)) { + return aClass; + } + } + } } - } + return psiElement; } - return psiElement; - } - @Override - public VirtualFile getVirtualFile(Object object) { - if (object instanceof PsiPackage psiPackage) { - final PsiDirectory[] directories = psiPackage.getDirectories(); - return directories.length > 0 ? directories[0].getVirtualFile() : null; + @Override + public VirtualFile getVirtualFile(Object object) { + if (object instanceof PsiPackage psiPackage) { + PsiDirectory[] directories = psiPackage.getDirectories(); + return directories.length > 0 ? directories[0].getVirtualFile() : null; + } + return super.getVirtualFile(object); } - return super.getVirtualFile(object); - } - @Nullable - @Override - public PsiElement getParentElement(PsiElement element) { - if (element instanceof PsiClass) { - final PsiDirectory containingDirectory = element.getContainingFile().getContainingDirectory(); - return containingDirectory != null ? JavaDirectoryService.getInstance().getPackage(containingDirectory) : null; + @Nullable + @Override + public PsiElement getParentElement(PsiElement element) { + if (element instanceof PsiClass) { + PsiDirectory containingDirectory = element.getContainingFile().getContainingDirectory(); + return containingDirectory != null ? JavaDirectoryService.getInstance().getPackage(containingDirectory) : null; + } + return ((PsiPackage) element).getParentPackage(); } - return ((PsiPackage) element).getParentPackage(); - } - @Override - public AbstractTreeNode createRootNode() { - return new CoverageListRootNode( - getProject(), - JavaPsiFacade.getInstance(getProject()).findPackage(""), - getSuitesBundle(), - getStateBean() - ); - } - - @Override - public List createTopLevelNodes() { - final List topLevelNodes = new ArrayList<>(); - final LinkedHashSet packages = new LinkedHashSet<>(); - final LinkedHashSet classes = new LinkedHashSet<>(); - for (CoverageSuite suite : getSuitesBundle().getSuites()) { - packages.addAll(((JavaCoverageSuite) suite).getCurrentSuitePackages(getProject())); - classes.addAll(((JavaCoverageSuite) suite).getCurrentSuiteClasses(getProject())); + @Override + public AbstractTreeNode createRootNode() { + return new CoverageListRootNode( + getProject(), + JavaPsiFacade.getInstance(getProject()).findPackage(""), + getSuitesBundle(), + getStateBean() + ); } - final Set packs = new HashSet<>(); - for (PsiPackage aPackage : packages) { - final String qualifiedName = aPackage.getQualifiedName(); - for (PsiPackage psiPackage : packages) { - if (psiPackage.getQualifiedName().startsWith(qualifiedName + ".")) { - packs.add(psiPackage); - break; + @Override + public List createTopLevelNodes() { + List topLevelNodes = new ArrayList<>(); + Set packages = new LinkedHashSet<>(); + Set classes = new LinkedHashSet<>(); + for (CoverageSuite suite : getSuitesBundle().getSuites()) { + JavaCoverageSuite javaCoverageSuite = (JavaCoverageSuite) suite; + packages.addAll(javaCoverageSuite.getCurrentSuitePackages(getProject())); + classes.addAll(javaCoverageSuite.getCurrentSuiteClasses(getProject())); } - } - } - packages.removeAll(packs); - for (PsiJavaPackage aPackage : packages) { - final GlobalSearchScope searchScope = getSuitesBundle().getSearchScope(getProject()); - if (aPackage.getDirectories(searchScope).length == 0) continue; - if (aPackage.getClasses(searchScope).length != 0) { - final CoverageListNode node = new CoverageListNode(getProject(), aPackage, getSuitesBundle(), getStateBean()); - topLevelNodes.add(node); - } - collectSubPackages(topLevelNodes, aPackage, getSuitesBundle(), getStateBean()); - } + Set packs = new HashSet<>(); + for (PsiPackage aPackage : packages) { + String qualifiedName = aPackage.getQualifiedName(); + for (PsiPackage psiPackage : packages) { + if (psiPackage.getQualifiedName().startsWith(qualifiedName + ".")) { + packs.add(psiPackage); + break; + } + } + } + packages.removeAll(packs); - for (PsiClass aClass : classes) { - if (getClassCoverageInfo(aClass) == null) continue; - topLevelNodes.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); + for (PsiJavaPackage aPackage : packages) { + GlobalSearchScope searchScope = getSuitesBundle().getSearchScope(getProject()); + if (aPackage.getDirectories(searchScope).length == 0) { + continue; + } + if (aPackage.getClasses(searchScope).length != 0) { + CoverageListNode node = new CoverageListNode(getProject(), aPackage, getSuitesBundle(), getStateBean()); + topLevelNodes.add(node); + } + collectSubPackages(topLevelNodes, aPackage, getSuitesBundle(), getStateBean()); + } + + for (PsiClass aClass : classes) { + if (getClassCoverageInfo(aClass) == null) { + continue; + } + topLevelNodes.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); + } + return topLevelNodes; } - return topLevelNodes; - } - private static void collectSubPackages( - List children, - final PsiPackage rootPackage, - final CoverageSuitesBundle data, - final CoverageViewManager.StateBean stateBean - ) { - final GlobalSearchScope searchScope = data.getSearchScope(rootPackage.getProject()); - final Application application = Application.get(); - final PsiPackage[] subPackages = application.runReadAction((Computable)() -> rootPackage.getSubPackages(searchScope)); - for (final PsiPackage aPackage : subPackages) { - final PsiDirectory[] directories = application.runReadAction((Computable)() -> aPackage.getDirectories(searchScope)); - if (directories.length == 0 && !application.runReadAction( - (Computable)() -> JavaPsiFacade.getInstance(aPackage.getProject()) - .isPartOfPackagePrefix(aPackage.getQualifiedName()) - )) { - continue; - } - if (application.runReadAction((Computable)() -> isInCoverageScope(aPackage, data))) { - final CoverageListNode node = new CoverageListNode(rootPackage.getProject(), aPackage, data, stateBean); - children.add(node); - } else if (!stateBean.myFlattenPackages) { - collectSubPackages(children, aPackage, data, stateBean); - } - if (stateBean.myFlattenPackages) { - collectSubPackages(children, aPackage, data, stateBean); - } + private static void collectSubPackages( + List children, + PsiPackage rootPackage, + CoverageSuitesBundle data, + CoverageViewManager.StateBean stateBean + ) { + GlobalSearchScope searchScope = data.getSearchScope(rootPackage.getProject()); + Application application = rootPackage.getApplication(); + PsiPackage[] subPackages = application.runReadAction((Supplier) () -> rootPackage.getSubPackages(searchScope)); + for (PsiPackage aPackage : subPackages) { + PsiDirectory[] directories = application.runReadAction((Supplier) () -> aPackage.getDirectories(searchScope)); + if (directories.length == 0 && !application.runReadAction( + (Supplier) () -> JavaPsiFacade.getInstance(aPackage.getProject()) + .isPartOfPackagePrefix(aPackage.getQualifiedName()) + )) { + continue; + } + if (application.runReadAction((Supplier) () -> isInCoverageScope(aPackage, data))) { + CoverageListNode node = new CoverageListNode(rootPackage.getProject(), aPackage, data, stateBean); + children.add(node); + } + else if (!stateBean.myFlattenPackages) { + collectSubPackages(children, aPackage, data, stateBean); + } + if (stateBean.myFlattenPackages) { + collectSubPackages(children, aPackage, data, stateBean); + } + } } - } - @Override - public List getChildrenNodes(final AbstractTreeNode node) { - List children = new ArrayList<>(); - if (node instanceof CoverageListNode) { - final Object val = node.getValue(); - if (val instanceof PsiClass) return Collections.emptyList(); + @Override + public List getChildrenNodes(AbstractTreeNode node) { + List children = new ArrayList<>(); + if (node instanceof CoverageListNode) { + Object val = node.getValue(); + if (val instanceof PsiClass) { + return Collections.emptyList(); + } - //append package classes - if (val instanceof PsiJavaPackage javaPackage) { - if (!getStateBean().myFlattenPackages) { - collectSubPackages(children, javaPackage, getSuitesBundle(), getStateBean()); - } - Application application = Application.get(); - if (application.runReadAction((Computable)() -> isInCoverageScope(javaPackage, getSuitesBundle()))) { - final PsiClass[] classes = application.runReadAction( - (Computable)() -> javaPackage.getClasses(getSuitesBundle().getSearchScope(node.getProject())) - ); - for (PsiClass aClass : classes) { - if (!(node instanceof CoverageListRootNode) && getClassCoverageInfo(aClass) == null) continue; - children.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); - } + //append package classes + if (val instanceof PsiJavaPackage javaPackage) { + if (!getStateBean().myFlattenPackages) { + collectSubPackages(children, javaPackage, getSuitesBundle(), getStateBean()); + } + Application application = javaPackage.getApplication(); + if (application.runReadAction((Supplier) () -> isInCoverageScope(javaPackage, getSuitesBundle()))) { + PsiClass[] classes = application.runReadAction( + (Supplier) () -> javaPackage.getClasses(getSuitesBundle().getSearchScope(node.getProject())) + ); + for (PsiClass aClass : classes) { + if (!(node instanceof CoverageListRootNode) && getClassCoverageInfo(aClass) == null) { + continue; + } + children.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); + } + } + } + if (node instanceof CoverageListRootNode) { + for (CoverageSuite suite : getSuitesBundle().getSuites()) { + List classes = ((JavaCoverageSuite) suite).getCurrentSuiteClasses(getProject()); + for (PsiClass aClass : classes) { + children.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); + } + } + } + for (AbstractTreeNode childNode : children) { + childNode.setParent(node); + } } - } - if (node instanceof CoverageListRootNode) { - for (CoverageSuite suite : getSuitesBundle().getSuites()) { - final List classes = ((JavaCoverageSuite) suite).getCurrentSuiteClasses(getProject()); - for (PsiClass aClass : classes) { - children.add(new CoverageListNode(getProject(), aClass, getSuitesBundle(), getStateBean())); - } - } - } - for (AbstractTreeNode childNode : children) { - childNode.setParent(node); - } + return children; } - return children; - } - @Nullable - private PackageAnnotator.ClassCoverageInfo getClassCoverageInfo(final PsiClass aClass) { - return myAnnotator.getClassCoverageInfo(aClass.getApplication().runReadAction(new Supplier<>() { - public String get() { - return aClass.getQualifiedName(); - } - })); - } + @Nullable + private PackageAnnotator.ClassCoverageInfo getClassCoverageInfo(final PsiClass aClass) { + return myAnnotator.getClassCoverageInfo(aClass.getApplication().runReadAction(new Supplier<>() { + @Override + public String get() { + return aClass.getQualifiedName(); + } + })); + } - @Override - public ColumnInfo[] createColumnInfos() { - return new ColumnInfo[]{ - new ElementColumnInfo(), - new PercentageCoverageColumnInfo(1, "Class, %", getSuitesBundle(), getStateBean()), - new PercentageCoverageColumnInfo(2, "Method, %", getSuitesBundle(), getStateBean()), - new PercentageCoverageColumnInfo(3, "Line, %", getSuitesBundle(), getStateBean()) - }; - } + @Override + public ColumnInfo[] createColumnInfos() { + return new ColumnInfo[]{ + new ElementColumnInfo(), + new PercentageCoverageColumnInfo(1, JavaCoverageLocalize.coverageViewColumnClass(), getSuitesBundle(), getStateBean()), + new PercentageCoverageColumnInfo(2, JavaCoverageLocalize.coverageViewColumnMethod(), getSuitesBundle(), getStateBean()), + new PercentageCoverageColumnInfo(3, JavaCoverageLocalize.coverageViewColumnLine(), getSuitesBundle(), getStateBean()) + }; + } - private static boolean isInCoverageScope(PsiElement element, CoverageSuitesBundle suitesBundle) { - if (element instanceof PsiPackage psiPackage) { - final String qualifiedName = psiPackage.getQualifiedName(); - for (CoverageSuite suite : suitesBundle.getSuites()) { - if (((JavaCoverageSuite) suite).isPackageFiltered(qualifiedName)) return true; - } + private static boolean isInCoverageScope(PsiElement element, CoverageSuitesBundle suitesBundle) { + if (element instanceof PsiPackage psiPackage) { + String qualifiedName = psiPackage.getQualifiedName(); + for (CoverageSuite suite : suitesBundle.getSuites()) { + if (((JavaCoverageSuite) suite).isPackageFiltered(qualifiedName)) { + return true; + } + } + } + return false; } - return false; - } - @Override - @RequiredReadAction - public boolean canSelectInCoverageView(Object object) { - final PsiFile psiFile = object instanceof VirtualFile ? PsiManager.getInstance(getProject()).findFile((VirtualFile) object) : null; - if (psiFile instanceof PsiClassOwner classOwner) { - final String packageName = classOwner.getPackageName(); - return isInCoverageScope(JavaPsiFacade.getInstance(getProject()).findPackage(packageName), getSuitesBundle()); + @Override + @RequiredReadAction + public boolean canSelectInCoverageView(Object object) { + PsiFile psiFile = object instanceof VirtualFile virtualFile ? PsiManager.getInstance(getProject()).findFile(virtualFile) : null; + if (psiFile instanceof PsiClassOwner classOwner) { + String packageName = classOwner.getPackageName(); + return isInCoverageScope(JavaPsiFacade.getInstance(getProject()).findPackage(packageName), getSuitesBundle()); + } + return object instanceof PsiPackage psiPackage && isInCoverageScope(psiPackage, getSuitesBundle()); } - return object instanceof PsiPackage psiPackage && isInCoverageScope(psiPackage, getSuitesBundle()); - } - @Override - public boolean supportFlattenPackages() { - return true; - } + @Override + public boolean supportFlattenPackages() { + return true; + } } diff --git a/java-coverage-impl/src/main/java/module-info.java b/java-coverage-impl/src/main/java/module-info.java index 2716646ec1..8d9f024b5c 100644 --- a/java-coverage-impl/src/main/java/module-info.java +++ b/java-coverage-impl/src/main/java/module-info.java @@ -1,6 +1,6 @@ /** * @author VISTALL - * @since 07/12/2022 + * @since 2022-12-07 */ module consulo.java.coverage.impl { requires consulo.java.execution.api; @@ -19,4 +19,5 @@ exports com.intellij.java.coverage; exports com.intellij.java.coverage.info; exports com.intellij.java.coverage.view; + exports consulo.java.coverage.localize; } \ No newline at end of file diff --git a/java-coverage-impl/src/main/resources/LOCALIZE-LIB/en_US/consulo.java.coverage.JavaCoverageLocalize.yaml b/java-coverage-impl/src/main/resources/LOCALIZE-LIB/en_US/consulo.java.coverage.JavaCoverageLocalize.yaml new file mode 100644 index 0000000000..fbb71577b3 --- /dev/null +++ b/java-coverage-impl/src/main/resources/LOCALIZE-LIB/en_US/consulo.java.coverage.JavaCoverageLocalize.yaml @@ -0,0 +1,78 @@ +coverage.button.add.package: + text: Add Package… +coverage.classes: + text: classes +coverage.classes.capitalised: + text: Classes +coverage.error.jacoco.report.corrupted: + text: Jacoco report file {0} may be corrupted, try to rerun +coverage.error.jacoco.report.format: + text: 'File is not in Jacoco report format: {0}' +coverage.pattern.filter.editor.choose.package.title: + text: Choose Package +coverage.recompile: + text: Recompile +coverage.settings: + text: Show code coverage options +coverage.settings.exclude: + text: Exclude classes and packages +coverage.settings.group: + text: Code Coverage +coverage.settings.include: + text: Specify classes and packages +coverage.settings.menu: + text: Coverage settings +coverage.view.column.branch: + text: Branch, % +coverage.view.column.class: + text: Class, % +coverage.view.column.line: + text: Line, % +coverage.view.column.method: + text: Method, % +coverage.view.text.classes.covered: + text: '{0}% classes' +coverage.view.text.methods.covered: + text: '{0}% methods' +coverage.xml.report.title: + text: XML Report +do.not.show.coverage.data.in.specified.classes.and.packages: + text: Do not show coverage data in specified classes and packages +download.coverage.report.from.target.failed: + text: Couldn't download coverage report from target +download.coverage.report.from.target.progress.title: + text: Downloading coverage report from target… +exclude.coverage.filters.title: + text: Packages and classes to exclude from coverage data +generating.coverage.report: + text: Generating coverage report… +java.coverage.engine.presentable.text: + text: Java Coverage +notification.group.coverage: + text: Error loading or collecting coverage data +project.class.files.are.out.of.date: + text: Project class files are out of date, this may lead to incomplete coverage information +project.is.out.of.date: + text: Project Is out of Date +record.coverage.filters.title: + text: Packages and classes to include in coverage data +report.unknown.outcome: + text: 'Unknown outcome: {0}' +run.configuration.choose.coverage.runner: + text: 'Choose coverage runner:' +run.configuration.coverage.branches: + text: Branch coverage +run.configuration.coverage.branches.comment: + text: Collect coverage for all branches of if/switch statements +run.configuration.enable.coverage.in.test.folders: + text: Collect coverage in test folders +run.configuration.track.per.test.coverage: + text: Track per test coverage +run.configuration.track.per.test.coverage.comment: + text: Collect data about which code lines were covered by specific tests +settings.coverage.java.ignore.implicitly.declared.default.constructors: + text: Ignore implicitly declared default constructors +settings.coverage.java.java.coverage: + text: Java Coverage +show.coverage.data.only.in.specified.classes.and.packages: + text: Show coverage data only in specified classes and packages