--
You received this message because you are subscribed to the Google Groups "Renjin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to renjin-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/efb42806-f907-4506-9bc7-9f5ce68ecb5d%40googlegroups.com.
<dependency>
<groupId>org.renjin</groupId>
<artifactId>grDevices</artifactId>
<version>0.9.2709</version>
</dependency>
Hi Per,The DBI package has been built directly from CRAN sources for sometime now:It doesn't contain any native code, so I don't think rebuilding it against the latest beta will be neccessary, but let me know if you run into any issues.Best,Alex
On Tue, Aug 13, 2019 at 10:20 AM Per Nyfelt <per....@gmail.com> wrote:
--Hi,I found an issue with org.renjin.cran:DBI ver 1.0.0-b9 when using it with 3.5-beta64 (i created an issue for this here: https://github.com/bedatadriven/renjin/issues/474). I thought that I would try to fix this and create a pull request but I am confused about where the code actually is. Looking in https://github.com/bedatadriven/DBI it does not contain the 1.0.0-b9 code but some older version. Does anyone know where the latest code for DBI is?Best regards,Per
You received this message because you are subscribed to the Google Groups "Renjin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to renji...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/efb42806-f907-4506-9bc7-9f5ce68ecb5d%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to renjin-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/a94e5944-4d74-4d96-92fa-cc757f84b4d5%40googlegroups.com.
mvn dependency:tree
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ samples-junit ---[INFO] se.alipsa:samples-junit:jar:1.0-SNAPSHOT[INFO] +- com.microsoft.sqlserver:mssql-jdbc:jar:7.4.1.jre8:test[INFO] +- org.testcontainers:testcontainers:jar:1.12.0:test[INFO] | +- org.jetbrains:annotations:jar:17.0.0:test[INFO] | +- javax.annotation:javax.annotation-api:jar:1.3.2:test[INFO] | +- org.apache.commons:commons-compress:jar:1.18:compile[INFO] | +- javax.xml.bind:jaxb-api:jar:2.3.1:test[INFO] | | \- javax.activation:javax.activation-api:jar:1.2.0:test[INFO] | +- org.rnorth.duct-tape:duct-tape:jar:1.0.8:test[INFO] | +- org.rnorth.visible-assertions:visible-assertions:jar:2.1.2:test[INFO] | | \- net.java.dev.jna:jna:jar:5.2.0:test[INFO] | +- org.rnorth:tcp-unix-socket-proxy:jar:1.0.2:test[INFO] | | +- com.kohlschutter.junixsocket:junixsocket-native-common:jar:2.0.4:test[INFO] | | | \- org.scijava:native-lib-loader:jar:2.0.2:test[INFO] | | \- com.kohlschutter.junixsocket:junixsocket-common:jar:2.0.4:test[INFO] | \- net.java.dev.jna:jna-platform:jar:5.3.1:test[INFO] +- org.testcontainers:mssqlserver:jar:1.12.0:test[INFO] | \- org.testcontainers:jdbc:jar:1.12.0:test[INFO] | \- org.testcontainers:database-commons:jar:1.12.0:test[INFO] +- org.renjin.cran:DBI:jar:1.0.0-b9:compile[INFO] | +- org.renjin:tcltk:jar:0.9.2709:compile[INFO] | +- org.renjin:methods:jar:0.9.2709:compile[INFO] | +- org.renjin:graphics:jar:0.9.2709:compile[INFO] | +- org.renjin:datasets:jar:0.9.2709:compile[INFO] | +- org.renjin:splines:jar:0.9.2709:compile[INFO] | +- org.renjin:grDevices:jar:0.9.2709:compile[INFO] | | +- org.renjin:renjin-gnur-runtime:jar:0.9.2709:compile[INFO] | | | \- org.renjin:gcc-runtime:jar:0.9.2709:compile[INFO] | | \- org.jfree:jfreesvg:jar:3.3:compile[INFO] | +- org.renjin:tools:jar:0.9.2709:compile[INFO] | +- org.renjin:stats:jar:0.9.2709:compile[INFO] | | +- org.renjin:renjin-nmath:jar:0.9.2709:compile[INFO] | | | \- org.renjin:renjin-math-common:jar:0.9.2709:compile[INFO] | | \- org.renjin:renjin-appl:jar:0.9.2709:compile[INFO] | +- org.renjin:parallel:jar:0.9.2709:compile[INFO] | +- org.renjin:utils:jar:0.9.2709:compile[INFO] | +- org.renjin:grid:jar:0.9.2709:compile[INFO] | \- org.renjin:stats4:jar:0.9.2709:compile[INFO] +- org.renjin:renjin-script-engine:jar:3.5-beta64:compile[INFO] | +- org.slf4j:slf4j-jdk14:jar:1.6.1:compile[INFO] | \- org.renjin:renjin-core:jar:3.5-beta64:compile[INFO] | +- org.renjin:renjin-blas:jar:3.5-beta64:compile[INFO] | | \- org.renjin:renjin-common:jar:3.5-beta64:compile[INFO] | +- org.renjin:renjin-lapack:jar:3.5-beta64:compile[INFO] | +- org.renjin:gcc-bridge-runtime:jar:3.5-beta64:compile[INFO] | +- org.apache.commons:commons-math:jar:2.2:compile[INFO] | +- com.github.fommil.netlib:core:jar:1.1.2:compile[INFO] | | \- net.sourceforge.f2j:arpack_combined_all:jar:0.1:compile[INFO] | +- org.apache.commons:commons-vfs2:jar:2.0:compile[INFO] | | +- commons-logging:commons-logging:jar:1.1.1:compile[INFO] | | +- org.apache.maven.scm:maven-scm-api:jar:1.4:compile[INFO] | | | \- org.codehaus.plexus:plexus-utils:jar:1.5.6:compile[INFO] | | \- org.apache.maven.scm:maven-scm-provider-svnexe:jar:1.4:compile[INFO] | | +- org.apache.maven.scm:maven-scm-provider-svn-commons:jar:1.4:compile[INFO] | | \- regexp:regexp:jar:1.3:compile[INFO] | +- org.tukaani:xz:jar:1.8:compile[INFO] | +- org.renjin:renjin-asm:jar:5.0.4b:compile[INFO] | +- org.renjin:renjin-guava:jar:28.0b:compile[INFO] | \- com.sun.codemodel:codemodel:jar:2.6:compile[INFO] +- org.slf4j:slf4j-api:jar:1.7.27:compile[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.27:compile[INFO] | \- log4j:log4j:jar:1.2.17:compile[INFO] +- junit:junit:jar:4.12:test[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test[INFO] \- org.renjin:hamcrest:jar:3.5-beta64:test
Hi Per,
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/a94e5944-4d74-4d96-92fa-cc757f84b4d5%40googlegroups.com.
Dependency mediation - this determines what version of an artifact will be chosen when multiple versions are encountered as dependencies. Maven picks the "nearest definition". That is, it uses the version of the closest dependency to your project in the tree of dependencies. Note that if two dependency versions are at the same depth in the dependency tree, the first declaration wins.
- "nearest definition" means that the version used will be the closest one to your project in the tree of dependencies. For example, if dependencies for A, B, and C are defined as A -> B -> C -> D 2.0 and A -> E -> D 1.0, then D 1.0 will be used when building A because the path from A to D through E is shorter. You could explicitly add a dependency to D 2.0 in A to force the use of D 2.0.
To unsubscribe from this group and stop receiving emails from it, send an email to renjin-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/225299e1-c8e7-4cf1-95a1-26316b0d8ecd%40googlegroups.com.
Hi Per,
It looks like I actually misunderstood how Maven resolves transitive dependency versions. I found this in the manual:
Dependency mediation - this determines what version of an artifact will be chosen when multiple versions are encountered as dependencies. Maven picks the "nearest definition". That is, it uses the version of the closest dependency to your project in the tree of dependencies. Note that if two dependency versions are at the same depth in the dependency tree, the first declaration wins.
- "nearest definition" means that the version used will be the closest one to your project in the tree of dependencies. For example, if dependencies for A, B, and C are defined as A -> B -> C -> D 2.0 and A -> E -> D 1.0, then D 1.0 will be used when building A because the path from A to D through E is shorter. You could explicitly add a dependency to D 2.0 in A to force the use of D 2.0.
This explains the behavior in your sample project. If you add renjin-script-engine:3.5-beta64 to the dependency list in junit/pom.xml, then grDevices resolves to version 3.5-beta64. But if this is omitted, then the grDevices dependency included by DBI is considered to be "nearer" (DBI:1.0.0 -> grDevices:0.9.2709) than that included via parent -> renjin-script-engine:3.5-beta64 -> grDevices:3.5-beta64This seems like a terrible idea to me, but it's apparently how Maven is designed to work.Given this behavior, it does seem logical to set the scope of modules part of the Renjin release to "provided" rather than "compile".I am unfortunately off on leave shortly, but when I am back in September I will update the build system.In the meantime, adding renjin-script-engine as a direct dependency should solve the problem in most cases.Best,Alex
To view this discussion on the web visit https://groups.google.com/d/msgid/renjin-dev/225299e1-c8e7-4cf1-95a1-26316b0d8ecd%40googlegroups.com.