Skip to content

CDK and its branches

rwst edited this page Jun 4, 2012 · 4 revisions

Let's gather what is known about the branches of CDK that presumably hold code that would be worthwhile to backport:

This means you can possibly get two different jchempaint applets/applications at Plovdiv and Cambridge.

What does that mean for the jchempaint developer?

  • Nothing, as long as the JCP repo compiles cleanly with the CDK repo. It does, because only certain parts of CDK are used, which was necessary when the fork happened.
Fork info

The CDK itself in principle has the Java code for rendering images, found in packages org/openscience/cdk/controller/ and org/openscience/cdk/controller/renderer. These CDK packages were first used by the JCP applet and application. The CDK code then was removed to be re-engineered and to be released again in the future. When you look in the renderer and controller folders of for example CDK 1.4 you will see that most code is missing.

Due to circumstances it was decided for the JChempaint application and applet to fork away from CDK and instead hard copy the renderer and controller into JCP's own source folders. So, you can find directories org/openscience/jchempaint/controller/ and org/openscience/jchempaint/renderer, a fork of the CDK's version with some specific patches applied.

  • This means effectively that there is a third branch of cdk, namely those cdk modules within JCP that were cloned at the fork and developed independently. These are the renderer and inchi modules, and possibly controller.
CDK git clone (EBI details)

As virtual EBI user 'cheminf' we publish our own CDK patched code through http://www.ebi.ac.uk/steinbeck-srv/git/cdk/. This points to EBI directory /nfs/panda/steinbeck/www/git, which publishes EBI's /nfs/panda/steinbeck/git/cdk. On that master checkout we apply patches that are necessary to run the current development version of JCP. Eventually these patches should be submitted to CDK master and removed as patch from our repo. To apply patches, work in branch "ebiPatches" and keep it rebased on recent pulls of the "master" branch. To publish the repo after a new patch, go to direcory /nfs/panda/steinbeck/www/git and run (bash) command "source repo.source". This makes the latest changes public. Pulling from http://www.ebi.ac.uk/steinbeck-srv/git/cdk/ should then reflect that newest patch.