Post by Dave Fisher
Regarding 4.2.0. What are the new features and is everything being worked
into trunk complete? If we were to decide to release it âquicklyâ what
needs to be done?
I don't recommend releasing 4.2.0 immediately; maybe in a month or 2 after
my PostgreSQL driver and several other outstanding projects are complete.
I'll give you a summary of my own changes in trunk for the past year or so;
it's been a quiet year compared to the 2 years before it, and I've made at
least 365 total commits to trunk since AOO was an incubator project. You
can see why I want the improvements to get out there and people to use them:
Database connections through ODBC don't crash on 64 bit.
oowintool detects Java 8, and finds VC++ on Cygwin64.
Fixes for several fvt tests; they now pass.
Newer versions of JUnit work with Hamcrest for subsequent tests.
Database connections using JDBC now use the new driver rewritten in Java,
with tons of bug fixes and high reliability (Java doesn't corrupt memory,
reports exceptions instead of crashing).
New driver for the PostgreSQL database, supporting the advanced features
like relationships, views, keys, constraints, etc. (Development ongoing)
Buggy DXF files no longer crash AOO.
Various dependency improvements, eg. cairo and pixman are downloaded if
enabled and and system libraries aren't used.
Drop a dependency on ORbit which was last needed in 2003.
GIO instead of GnomeVFS (deprecated 9 years ago) is now the default backend
on GTK-based desktops.
Java's ComponentBase base class for UNO components now has isDisposed() and
ComponentBase locking on disposal fix.
Require Apache Commons Lang for the build.
#i32546# - Java UnoRuntime.getUniqueKey/generateOid do not work reliably
Remove some incorrect API documentation for the
com.sun.star.sdbc.SQLException ErrorCode field.
We need the system Apache Commons Lang to be version 3.x.
Write a main/ant.properties file from main/set_soenv, which can be used in
Ant projects to work out settings, locations, and paths to dependencies
without getting them from a parent build tool (dmake/gbuild), which allows
Ant projects to build by themselves, independently of AOO, and allows them
to be cleanly opened in (at least) Eclipse.
Remove the obsolete KDE address book SDBC driver, that only worked on KDE
3.2 - 3.6, which are obsolete since 9 years ago.
Update AnyConverter.toObject() to use Java 1.5+'s generics.
If called on an empty collection, don't let
OEnumerationByIndex.nextElement() call XIndexAccess.getByIndex() with an
invalid index, just like OEnumerationByName.nextElement() doesn't.
Fix some comment typos in javaunohelper's PropertySet.java,
Update javaunohelper's MultiTypeInterfaceContainer.java to use generics,
and fix performance bugs in getContainer() where O(n) iteration over all
keys was being done instead of an O(1) map.get(), and in
getContainedTypes() where iteration over keys and then n calls to map.get()
for the value was being done instead of iteration over entries.
Java boxing optimization and cleanups for l10ntools.
Use more efficient Java boxing in main/filter.
Use more efficient Java boxing for basic types in main/bean.
Add some Java performance optimizations with boxing of basic types: instead
of using "new <Type>(<value>)", use <Type>.valueOf(<value>), or better yet,
rely on autoboxing.
Add initial support for building AOO with Clang on Linux.
We need to pass "-DEBUG" to the linker on Windows for debugging to work.
When debug symbols are produced for C / C++ / Objective C, produce them for
Add debug symbols to gbuild modules when any of --enable-debug,
--enable-symbols, or --enable-crashdump are passed to ./configure (just
like it already is for dmake modules), as opposed to the previous behaviour
of only doing it on --enable-debug.
Fix a FreeBSD regression in the gbuild gb_CPUDEFS variable caused by
r1773166, where it was always set to POWERPC64 due to a swapped if-else.
Don't use the "archive" package format, which is to be extrated by
smoketest as a side effect, for the subsequent tests. The smoketest is
currently broken and won't do that, and the path is wrong anyway. Instead,
use the office instance from the "installed" package format for subsequent
tests, as it doesn't have to zipped up and unzipped, resulting in faster
building and faster testing, and doesn't require a side effect.
Pass "-encoding UTF8" to javac, as some Java sources, particularly those
used in subsequent tests, contain special characters that are encoded in
UTF-8, and fail to compile without this option.
Correlate the Perl modules tested for in bulk with the Perl modules tested
for individually to be reported as missing, so that those reported as
missing are correct.
Add a main/sd subsequent test that wasn't hooked into the build.
Fix a configure.ac problem with hamcrest detection.
Fix a main/sw subsequent test.
Add a ./configure option for Hamcrest once again, this time optional, so
that newer versions of JUnit can work.
Fix a main/sc JunitTest typo.
Resurrect main/test, which was deleted by liuzhe in r1378870, probably by
accident, and which we need for test.jar and test-tools.jar for subsequent
Build fixes for vbaobj on Windows.
Fix a missing bracket problem in a main/cui makefile when BUILD_VER_STRING
Fix a Windows naming clash between main/cui, whose library, icuin.lib, was
clashing with main/icu's icuin.lib once we started using gbuild, which
places libraries in a common directory. The main/cui library is now just
icui.lib, and main/icu's is still icuin.lib.
Only set the BUILD_VER_STRING define if it is available as an environment
variable and non-empty. At least the Windows build breaks without this when
--with-build-version is not used.
The internal CoinMP comes as a single library on Windows.
Add shlwapi32, wsock32, ws2_32 to the list of known Windows DLLs.
Order of library linking fixes on *nix.
Tons of libraries ported to gbuild.
Google Test fixes that were breaking the build on the buildbots.