[ https://issues.apache.org/jira/browse/IGNITE-2823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15208138#comment-15208138 ]
Vladimir Ozerov commented on IGNITE-2823: ----------------------------------------- Igor, I assume that you moved to core only some classes for metadata handling. Is that correct? We must ensure very clean separation of concerns here. Naming scheme "common - utils" already looks pretty confusing to me. "common" is not really "common" if it contains only JNI code, right? I would do that as follows: 1) libcommon - contains various utilty methods. Concurrency primitives, work with files, env variables, our generic classes (e.g. IgniteError, Guid), etc. 2) libjni (depends on libcommon) - contains JNI stuff. Class definitions, JVM start code, JAVA_HOME resolution, actual methods, etc.. 3) libbinary (depends on libcommon) - contains binary format, readers, writers, macroses, etc. Possibly interfaces for metadata handling (not sure). 4) libcore - depends on libcommon, libjni, libbinary; 5) libodbc - depends on libcommon, libbinary. Thoughts? > CPP: Split libcommon in two libraries to get rid of libjvm dependency. > ---------------------------------------------------------------------- > > Key: IGNITE-2823 > URL: https://issues.apache.org/jira/browse/IGNITE-2823 > Project: Ignite > Issue Type: Sub-task > Components: odbc, platforms > Affects Versions: 1.5.0.final > Reporter: Igor Sapego > Assignee: Igor Sapego > Fix For: 1.6 > > > Currently libcommon depends on the libjvm but provides other utilities and > macros which other libraries depend upon. So we need to link libcommon always > when we use utils even if we don't use libjvm (e.g. in ODBC driver). -- This message was sent by Atlassian JIRA (v6.3.4#6332)