diff --git a/build.gradle b/build.gradle
index d1947e8..1056f01 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ plugins {
}
group 'com.clouds42'
-version '2.1-SNAPSHOT'
+version '2.2-SNAPSHOT'
sourceCompatibility = 11
@@ -36,8 +36,8 @@ dependencies {
}
println 'EDT location: ' + edtLocation
- compile group: 'info.picocli', name: 'picocli', version: '4.2.0'
- annotationProcessor 'info.picocli:picocli-codegen:4.2.0'
+ compile group: 'info.picocli', name: 'picocli', version: '4.3.2'
+ annotationProcessor 'info.picocli:picocli-codegen:4.3.2'
compile group: 'org.slf4j', name: 'slf4j-api', version: '2.0.0-alpha1'
compile group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.0-alpha1'
@@ -52,13 +52,13 @@ dependencies {
compile group: 'org.eclipse.jetty', name: 'jetty-client', version: '9.4.27.v20200227'
- compile group: 'com.google.guava', name: 'guava', version: '28.2-jre'
+ compile group: 'com.google.guava', name: 'guava', version: '29.0-jre'
compile group: 'de.vandermeer', name:'asciitable', version: '0.3.2'
- implementation 'com.github.1c-syntax:mdclasses:42fcc53f34b08a7a748528c9dd53ae1a2e04bb40' // TODO: change to release
+ implementation 'com.github.1c-syntax:mdclasses:0.5.0'
- implementation('com.github.1c-syntax:bsl-parser:0.13.0') {
+ implementation('com.github.1c-syntax:bsl-parser:0.14.1') {
exclude group: "com.tunnelvisionlabs", module: "antlr4-annotations"
exclude group: "com.ibm.icu", module: "*"
exclude group: "org.antlr", module: "ST4"
@@ -74,8 +74,8 @@ dependencies {
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'
testCompile 'org.xmlunit:xmlunit-core:2.6.4'
testCompile 'org.xmlunit:xmlunit-matchers:2.6.4'
- testCompile 'com.fasterxml.jackson.core:jackson-core:2.9.6'
- testCompile 'com.fasterxml.jackson.core:jackson-databind:2.9.6'
+ testCompile 'com.fasterxml.jackson.core:jackson-core:2.11.0'
+ testCompile 'com.fasterxml.jackson.core:jackson-databind:2.11.0'
}
tasks.withType(JavaCompile) {
@@ -116,5 +116,5 @@ githubRelease {
repo "Coverage41C"
targetCommitish "master"
releaseAssets.from(distZip.archiveFile)
- dryRun true
+ dryRun false
}
diff --git a/choco/coverage41c.nuspec b/choco/coverage41c.nuspec
index a4195b1..0380369 100644
--- a/choco/coverage41c.nuspec
+++ b/choco/coverage41c.nuspec
@@ -9,7 +9,7 @@
- 2.0
+ 2.2
https://github.com/proDOOMman/Coverage41C
proDOOMman
diff --git a/src/main/java/com/clouds42/Commands/CoverageCommand.java b/src/main/java/com/clouds42/Commands/CoverageCommand.java
index 1c2d163..7791f6d 100644
--- a/src/main/java/com/clouds42/Commands/CoverageCommand.java
+++ b/src/main/java/com/clouds42/Commands/CoverageCommand.java
@@ -1,6 +1,7 @@
package com.clouds42.Commands;
import com._1c.g5.v8.dt.debug.core.runtime.client.RuntimeDebugClientException;
+import com._1c.g5.v8.dt.debug.model.base.data.AttachDebugUIResult;
import com._1c.g5.v8.dt.debug.model.base.data.BSLModuleIdInternal;
import com._1c.g5.v8.dt.debug.model.base.data.DebugTargetId;
import com._1c.g5.v8.dt.debug.model.dbgui.commands.DBGUIExtCmdInfoBase;
@@ -295,11 +296,20 @@ public void run()
} catch (RuntimeDebugClientException e) {
logger.info(e.getLocalizedMessage());
if (systemStarted) {
- logger.info("Can't send ping to dbgs. Coverage analyzing finished");
+ logger.info("Can't send ping to debug server. Coverage analyzing finished");
gracefulShutdown(null);
} else {
try {
- client.connect(debuggerOptions.getPassword());
+ AttachDebugUIResult connectionResult = client.connect(debuggerOptions.getPassword());
+ if (connectionResult != AttachDebugUIResult.REGISTERED) {
+ if (connectionResult == AttachDebugUIResult.IB_IN_DEBUG) {
+ throw new RuntimeDebugClientException("Can't connect to debug server. IB is in debug. Close configurator or EDT first");
+ } else if (connectionResult == AttachDebugUIResult.CREDENTIALS_REQUIRED) {
+ throw new RuntimeDebugClientException("Can't connect to debug server. Use -p option to set correct password");
+ } else {
+ throw new RuntimeDebugClientException("Can't connect to debug server. Connection result: " + connectionResult);
+ }
+ }
client.initSettings(false);
client.setAutoconnectDebugTargets(
debuggerOptions.getDebugAreaNames(),
diff --git a/src/main/java/com/clouds42/Utils.java b/src/main/java/com/clouds42/Utils.java
index e609aac..5a3c24a 100644
--- a/src/main/java/com/clouds42/Utils.java
+++ b/src/main/java/com/clouds42/Utils.java
@@ -101,6 +101,10 @@ private static void addAllModulesToList(Configuration conf, MetadataOptions meta
Map> coverageData) {
String mdObjUuid = mdObj.getUuid();
Map modulesByType = mdObj.getModulesByType();
+ if (modulesByType == null) {
+ logger.info("Found empty modules in metadata object: " + mdObj.getName());
+ return;
+ }
modulesByType.forEach((uri, moduleType) -> {
uriListByKey.put(getUriKey(mdObjUuid, moduleType, mdObj), uri);
diff --git a/src/test/resources/bdd/features/step_definitions/Coverage41C.epf b/src/test/resources/bdd/features/step_definitions/Coverage41C.epf
index 2121305..df0f219 100644
Binary files a/src/test/resources/bdd/features/step_definitions/Coverage41C.epf and b/src/test/resources/bdd/features/step_definitions/Coverage41C.epf differ