Am 27.10.2017 um 21:19 schrieb Dave Fisher:
> Hi -
>
> As an aside I am working on Mac builds for 4.1.4 and it looks like uno does 
> not like JDK 8+, something to do with javadocs, but not sure as I am looking 
> for JDK7 …

Do you need the SDK?

From our release notes (Known Issues):

For developers:

  * The OpenOffice SDK won't build with Java 8. Either build with
    --disable-odk or see the dev list archives for possible solutions.

Either go with Java 7 or use --disable-odk as configure switch.

Regards, Matthias


>
> If I can get things working I will be willing to try builds for you on trunk 
> or a branch as you make changes.
>
> Regards,
> Dave
>
>> On Oct 27, 2017, at 12:05 PM, Peter Kovacs <pe...@apache.org> wrote:
>>
>> Am Freitag, den 27.10.2017, 11:18 +0200 schrieb Damjan Jovanovic:
>>> Hi
>> *wave*
>>> To update you on my development efforts, the PostgreSQL driver
>>> continues to
>>> advance. I recently added views and fixed a major problem where
>>> "Refresh
>>> Tables" causes everything done to tables from then on to fail (as
>>> Base
>>> keeps holding references to the old table/view/user/group containers,
>>> so
>>> container contents may change, but containers themselves must persist
>>> for
>>> the lifetime of the driver).
>>>
>>> I did however run into a disturbing bug. When my SDBC driver in Java
>>> calls
>>> XStatement.close() on our underlying SDBC to JDBC converter driver
>>> written
>>> in C++, and it calls java.sql.Statement.close() in the PostgreSQL
>>> JDBC
>>> driver, I get a reproducible unchecked
>>> java.lang.IllegalClassChangeError
>>> exception. After hours of debugging I did manage to work around it,
>>> by
>>> getting a new methodID before every JNI call to close() instead of
>>> caching
>>> it in a static global variable, which shouldn't be required as
>>> methodIDs
>>> are meant to persist for the lifetime of the JVM. Either it's a bug
>>> in the
>>> JVM itself, or an obscure bug in our SDBC-JDBC driver, such as memory
>>> corruption or the like :(.
>>>
>>> Instead of committing that senseless methodID hack, I've decided to
>>> port
>>> the SDBC-JDBC driver to Java, which should make memory corruption
>>> impossible and any debugging and future maintenance much easier (the
>>> JNI
>>> code to call into Java is exceptionally complex and ugly, and
>>> compiles into
>>> a 15 MB pig of a library in a debug build!). Nothing is lost by using
>>> Java,
>>> as the C++ driver can't load JDBC drivers without Java either, and
>>> performance should be identical as the slow boundary between native
>>> and
>>> Java is crossed an equal number of times, the crossing just happens
>>> in the
>>> JNI bridge under main/bridges instead of the SDBC-JDBC driver.
>> WTF?!
>>> So far the reusable parts of the PostgreSQL driver have been split
>>> off into
>>> a dbtools.jar that will be used in a new sdbc-jdbc.jar, which is
>>> itself
>>> currently in the painful phase of dealing with JDBC classloading and
>>> class
>>> caching. The final architecture should be something along these
>>> lines:
>>>
>>> The rest of AOO (mostly C++)
>>> |          |
>>> |UNO       | UNO
>>> |          v
>>> |      PostgreSQL SDBC driver (Java)
>>> |          |             |
>>> |          | UNO         | UNO
>>> v          v             v
>>> SDBC-JDBC driver (Java)  SDBC-ODBC driver (C++)
>>> |          |              |
>>> | Java     | Java         | C
>>> v          v              v
>>> other   PostgreSQL JDBC  PostgreSQL ODBC
>>> JDBC     driver (Java)    driver (C)
>>> drivers     |              |
>>>            | network I/O  |
>>>            v              v
>>>            PostgreSQL server
>>>
>> +1 Looks like a clean architecture, LIKE ! S2
>>> I've also already developed considerable support code for Java
>>> (logging,
>>> resource bundles, data structure manipulation), all ported from the
>>> support
>>> code for C++ under main/comphelper. Since it is generally useful to
>>> other
>>> Java UNO modules, should I move it elsewhere, such as
>>> main/javaunohelper
>>> which already contains similar support code, or is there somewhere
>>> better?
>> I think javaunohelper makes more sense to me then comphelper. However I
>> do not like "helper" modules at all, since they express patchwork like
>> "I do magic" kind of concept.
>>
>> My personal favourite would be to have modules that are called what
>> they do:
>> - logging, ressourcemanagement, structure managment (or something that
>> line) And that we end up with maybe more self describing architecture.
>>
>>> There are also some API-changing improvements I would like to make to
>>> main/javaunohelper and/or main/ridljar. Is it ok to do those in
>>> trunk? Are
>>> Java APIs (as opposed to UNO APIs) allowed to change between AOO 4.1
>>> and
>>> 4.2?
>> I would say go for it as long as they compile for you.  ut thats only
>> me. Would not rate my opinion high.
>>
>> All the Best
>> Peter
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
>> For additional commands, e-mail: dev-h...@openoffice.apache.org
>>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to