<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Development</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>Recent changes to Development</description><atom:link href="https://sourceforge.net/p/ucanaccess/wiki/Development/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 09 Jun 2017 16:18:34 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ucanaccess/wiki/Development/feed" rel="self" type="application/rss+xml"/><item><title>Development modified by Gord Thompson</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -1,3 +1,4 @@
+[TOC]
 # Coding Style Guide
 * real tabs
 * 4-space indent for tabs
@@ -102,3 +103,13 @@
 ### Broken Tests on Linux

 There are a number of functional tests which are broken on Linux. They will be broken on both Eclipse and on the Maven command line.
+
+## Windows
+
+### Git support in Eclipse on Windows
+
+Eclipse built-in support for Git (EGit) does not seem to like `https:` transport on this site. (It works fine on GitHub.) These [instructions](https://sourceforge.net/p/forge/documentation/SSH%20Keys/#key-generation-putty) for generating SSH keys using PuTTYgen are basically correct, but EGit does not recognize PuTTY's default file format. I had to export the private key from PuTTYgen using "Export OpenSSH key"...
+
+![ExportKey.png](https://i.stack.imgur.com/Xmx4Q.png)
+
+and save it as `C:\Users\gord\.ssh\id_rsa` (no file extension). Then, after I uploaded my public key to SourceForge (Account Settings &amp;gt; SSH Settings) I was able to use `ssh://` URLs with EGit.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gord Thompson</dc:creator><pubDate>Fri, 09 Jun 2017 16:18:34 -0000</pubDate><guid>https://sourceforge.net651abf31dd88c0a8be1390ddaf505b6aad3c7b92</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -97,6 +97,8 @@
 $ mvn test -DskipTests=false
 ~~~

+Note that Maven itself is a Java program and it no longer works with Java6 from at least 16.04 (perhaps earlier). Currently, the `pom.xml` is set up to compile UCanAccess with the same version of Java that runs Maven. Therefore, you cannot compile UCanAccess using Java6 using Maven, unless you make some modifications to `pom.xml`. I have not submitted these modifications because it makes the development environment more complicated than it was worth to support this particular use-case. However, please contact the developers if you need to do it. If there's enough interest, I'll document it.
+
 ### Broken Tests on Linux

 There are a number of functional tests which are broken on Linux. They will be broken on both Eclipse and on the Maven command line.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 23:32:03 -0000</pubDate><guid>https://sourceforge.net8886ad26497d6f7fe35aad8f6b2c664eea689449</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -56,3 +56,47 @@

 Unfortunately, [WebUpd8 no longer maintains Java 6 and Java 7](http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html). To develop UCanAccess against these versions, you need to go to the Oracle Java website and manually download and install the JDK. You need to create a support account at Oracle to access those files, but you don't need to pay anything (at this time this wiki was written).

+### Manually Adding a JDK6 Version to the Project
+
+To force Eclipse to use a particular JDK version for UCanAccess, you need to specify the JDK libraries for the project. 
+
+* Import the UCanAccess Maven project using "File &amp;gt; Import... &amp;gt; Maven &amp;gt; Existing Maven Projects".
+    * Click "Browse..." and navigate to the directory that contains the `pom.xml` file.
+    * Select the `/pom.xml` checkbox, and click "Finish".
+* Click on "Project &amp;gt; Properties &amp;gt; Java Build Path"
+* Select the "Libraries" tab.
+    * If you imported UCanAccess with only JDK8 (or JDK9) installed on your computer, you will see "JavaSE-1.6" selected in the "JARs and class folders on the build path" box. However, this is &lt;b&gt;incorrect&lt;/b&gt;, there's a bug somewhere.
+    * If you open up the arrow, you will that it contains JDK8 jars, not JDK6 jars.
+* Click on the "Add Library..." button on the right.
+* Select "JRE System Library" in the "Add Library" dialog box.
+* Click "Next".
+* Select "Alternate JRE" radio button, then click on the "Installed JREs..." button on the right. It will go to another dialog box titled "Preferences (Filtered)".
+    * You will see only JDK8 (or JDK9) here.
+    * Click on "Add..." button on the right, to bring up a dialog box titled "Add JRE / JRE Type".
+        * Select "Standard VM" in the list.
+        * Click "Next" to go to "Add JRE / JRE Definition".
+        * Click on the "Directory..." button on the right.
+        * Select the JDK6 directory that you created when you downloaded and unpacked the file from Oracle. (For example, I downloaded it to `$HOME/Downloads/jdk1.6.0_45`.)
+            * Click "Ok" button on the folder selctor.
+        * You should see a whole bunch of JDK 6 jars populating the "JRE Definition" dialog box.
+    * Click the "Finish" button.
+* Click on a bunch of "OK" or "Finish" buttons (I can't remember how many) to pop out to the "Proejct &amp;gt; Properties" dialog box.
+* You should see "JRE System Library [JavaSE-1.6]" as an option (or selected here).
+    * You may also see duplicate JRE6 entries here, I don't know why that happens.
+    * You may also see the JDK8 or JDK9 selected here.
+    * Remove the ones that you don't want, and select the JDK6 entry only.
+* Finally, click the "Ok" button to get out of this dialog box.
+
+### Maven
+
+You can also use Maven directly on Ubuntu to compile and test the code. Here is how to install and run Maven on Ubuntu:
+
+~~~
+$ sudo apt install maven
+$ mvn compile
+$ mvn test -DskipTests=false
+~~~
+
+### Broken Tests on Linux
+
+There are a number of functional tests which are broken on Linux. They will be broken on both Eclipse and on the Maven command line.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 22:58:46 -0000</pubDate><guid>https://sourceforge.net887132c4cafffbde3bdabd22dd84213969511814</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -34,6 +34,8 @@

 &amp;gt; `$ SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-mars/eclipse`

+where `$HOME/eclipse/java-neon` and `$HOME/eclipse/java-mars` are the directories where you installed Eclipse.
+
 You can create a shell script in `$HOME/bin` or define aliases in your `$HOME/.bashrc` (or the equivalent startup file for your own shell program).

 ### Java
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 22:37:01 -0000</pubDate><guid>https://sourceforge.net1049fe72c7b611ec1e55a1ed7b310951d9a7abbd</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -26,13 +26,13 @@
 Gtk-WARNING **: Negative content height -3 (allocation 1, extents 2x2) while allocating gadget (node toolbar, owner GtkToolbar)
 ~~~

-The easiest solution is run the `eclipse` binary with the `SWT_WEBKITT` and `SWT_GTK3` set like this:
+The easiest solution is run the `eclipse` binary with the `SWT_WEBKITT` and `SWT_GTK3` environment variables set like this:

-&amp;gt; `SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-neon/eclipse/eclipse`
+&amp;gt; `$ SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-neon/eclipse/eclipse`

 or

-&amp;gt; `SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-mars/eclipse`
+&amp;gt; `$ SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-mars/eclipse`

 You can create a shell script in `$HOME/bin` or define aliases in your `$HOME/.bashrc` (or the equivalent startup file for your own shell program).

@@ -43,7 +43,7 @@
 * [OpenJDK](http://http://openjdk.java.net/)
 * [Oracle Java](https://www.oracle.com/java)

-I've had problems with OpenJDK (I can't remember if it was this project or another project), so I generally use Oracle Java instead. Oracle Java is not supported by the Ubuntu repositories. You can use the [WebUpd8](http://www.webupd8.org/) Personal Package Archives (PPA) who maintain the Oracle packages that you can install using the familiar `apt` command. Do the following:
+I've had problems with OpenJDK (I can't remember if it was this project or another project), so I generally use Oracle Java instead. Oracle Java is not supported by the Ubuntu repositories. You can use the [WebUpd8](http://www.webupd8.org/) Personal Package Archives (PPA) which maintain the Oracle packages that you can install using the familiar `apt` command. Do the following:

 ~~~
 $ sudo add-apt-repository ppa:webupd8team/java
@@ -52,5 +52,5 @@
 $ sudo apt-get install oracle-java9-installer
 ~~~

-Unfortunately, [WebUpd8 no longer maintains Java 6 and Java 7](http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html). To develop UCanAccess against these versions, you need to go to the Oracle Java website and manually install the JDK.
+Unfortunately, [WebUpd8 no longer maintains Java 6 and Java 7](http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html). To develop UCanAccess against these versions, you need to go to the Oracle Java website and manually download and install the JDK. You need to create a support account at Oracle to access those files, but you don't need to pay anything (at this time this wiki was written).

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 20:50:24 -0000</pubDate><guid>https://sourceforge.nete1e079bf4a37cb26ce3aa7dafb2afce7b80a709b</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -38,3 +38,19 @@

 ### Java

+There are 2 versions of Java that you can run on Ubuntu:
+
+* [OpenJDK](http://http://openjdk.java.net/)
+* [Oracle Java](https://www.oracle.com/java)
+
+I've had problems with OpenJDK (I can't remember if it was this project or another project), so I generally use Oracle Java instead. Oracle Java is not supported by the Ubuntu repositories. You can use the [WebUpd8](http://www.webupd8.org/) Personal Package Archives (PPA) who maintain the Oracle packages that you can install using the familiar `apt` command. Do the following:
+
+~~~
+$ sudo add-apt-repository ppa:webupd8team/java
+$ sudo apt-get update
+$ sudo apt-get install oracle-java8-installer
+$ sudo apt-get install oracle-java9-installer
+~~~
+
+Unfortunately, [WebUpd8 no longer maintains Java 6 and Java 7](http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html). To develop UCanAccess against these versions, you need to go to the Oracle Java website and manually install the JDK.
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 20:45:29 -0000</pubDate><guid>https://sourceforge.net8b19bd8c43a3562e667e471806dcd3c69a134879</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,6 +1,40 @@
-## Coding Style Guide
+# Coding Style Guide
 * real tabs
 * 4-space indent for tabs
 * import statement ordering: Eclipse defaults
 * max line length: undecided (but one of the developers uses 100 column max)

+# Dev Environment Setup
+
+## Ubuntu
+
+The following combination of Ubuntu and Eclipse versions are known to work:
+
+* Ubuntu 16.04 LTS / Eclipse Mars.2 (4.5.2)
+* Ubuntu 16.10 / Eclipse Mars.2 (4.5.2)
+* Ubuntu 17.04 / Eclipse Neon.3 (4.6.3)
+
+Other combinations may also work but but haven't been verified.
+
+### Eclipse Incompatibility with GTK3
+
+Eclipse Mars and Neon are broken under all versions of Ubuntu mentioned above (16.04, 16.10 and 17.04) due to incompatibility with GTK3 (See [Eclipse bug](https://bugs.eclipse.org/bugs/show_bug.cgi?id=492371), [askubuntu 16.04](https://askubuntu.com/questions/770521/installing-eclipse-mars-on-16-04), [askubuntu 16.10](https://askubuntu.com/questions/838442/eclipse-ide-missing-icons-and-menus/846967), [stackoverflow 16.04](https://stackoverflow.com/questions/36822242/eclipse-doesnt-work-with-ubuntu-16-04)). The symptom of this problem shows up as Eclipse missing a bunch of tool buttons at the top, and the console prints out a whole bunch of errors like:
+
+~~~
+(Eclipse:9643): GLib-CRITICAL **: g_base64_encode_step: assertion 'in != NULL' failed
+(Eclipse:9643): 
+Gtk-WARNING **: Negative content height -3 (allocation 1, extents 2x2) while allocating gadget (node toolbar, owner GtkToolbar)
+~~~
+
+The easiest solution is run the `eclipse` binary with the `SWT_WEBKITT` and `SWT_GTK3` set like this:
+
+&amp;gt; `SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-neon/eclipse/eclipse`
+
+or
+
+&amp;gt; `SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-mars/eclipse`
+
+You can create a shell script in `$HOME/bin` or define aliases in your `$HOME/.bashrc` (or the equivalent startup file for your own shell program).
+
+### Java
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Thu, 08 Jun 2017 16:16:01 -0000</pubDate><guid>https://sourceforge.net8ae17fda0e1c50d42f096139330315b0eb47058e</guid></item><item><title>Development modified by Brian Park</title><link>https://sourceforge.net/p/ucanaccess/wiki/Development/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="coding-style-guide"&gt;Coding Style Guide&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;real tabs&lt;/li&gt;
&lt;li&gt;4-space indent for tabs&lt;/li&gt;
&lt;li&gt;import statement ordering: Eclipse defaults&lt;/li&gt;
&lt;li&gt;max line length: undecided (but one of the developers uses 100 column max)&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brian Park</dc:creator><pubDate>Wed, 31 May 2017 14:11:04 -0000</pubDate><guid>https://sourceforge.net2a267d99c3738b768b8930769ada2f9ef2f7b0ac</guid></item></channel></rss>