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