{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "chem-bla-ics",
  "description": "Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.",
  "home_page_url": "https://chem-bla-ics.linkedchemistry.info/",
  "feed_url": "https://chem-bla-ics.linkedchemistry.info/2009/08/13/making-bioclipse-development-easier-new.json",
  "icon": "https://chem-bla-ics.linkedchemistry.info/assets/images/chem-bla-ics_logo.png",
  "language": "en",
  "authors": [
    {
      "name": "Egon Willighagen",
      "url": "https://orcid.org/0000-0001-7542-0286",
      "_orcid": "0000-0001-7542-0286"
    }
  ],
  "items": [

    {
      "id": "https://doi.org/10.59350/g2qh1-n7q51",
      "url": "https://chem-bla-ics.linkedchemistry.info/2009/08/13/making-bioclipse-development-easier-new.html",
      "title": "Making Bioclipse Development easier: the New Manager Wizard",
      "content_html": "<p>Today, <a href=\"http://jonalv.blogspot.com/\">Jonathan</a>, Carl, Arvid and I made writing managers for <a href=\"http://www.bioclipse.net/\">Bioclipse</a>\na bit easier. Plug-in development Eclipse in itself is already tricky to learn, and the use of Spring by the Bioclipse managers\nis not helping. And because very soon two new people will be starting with writing a new manager rather soon, we thought it was\ntime to lower the activation barrier a bit.</p>\n\n<p>The basic file structure of an Bioclipse manager looks like:</p>\n\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>net.bioclipse.foo/\n|--META-INF\n|   |--MANIFEST.MF\n|   `-- spring\n|       `-- context.xml\n|-- plugin.xml\n|-- .classpath\n|-- .project\n|-- build.properties\n`-- src\n    `-- net\n        `-- bioclipse\n            `-- foo\n                |-- Activator.java\n                `-- business\n                    |-- FooManager.java\n                    |-- FooManagerFactory.java\n                    |-- IFooManager.java\n                    |-- IJavaFooManager.java\n                    `-- IJavaScriptFooManager.java\n</code></pre></div></div>\n\n<p>That is <strong><em>twelve</em></strong> files which need to be just right. I used to copy/paste from an earlier (simple) manager.</p>\n\n<p>But we know and understand that setting up this framework is even more challenging if you have not done this\nat least 10 times before. So, today we implemented a <em>New Wizard</em> (source available from this Git repository:\n<a href=\"http://github.com/egonw/bioclipse.sdk/tree/master\">bioclipse.sdk</a>).</p>\n\n<p><img src=\"/assets/images/bioclipseSDK1.png\" alt=\"\" /></p>\n\n<p>It just asks you a project name:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK2.png\" alt=\"\" /></p>\n\n<p>and a few other settings:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK3.png\" alt=\"\" /></p>\n\n<h2 id=\"installing-the-bioclipse-sdk\">Installing the Bioclipse SDK</h2>\n\n<p>Installing this new plugin is fairly easy, and we have set up an <em>Update Site</em> at\n<a href=\"http://pele.farmbio.uu.se/sdk/\">http://pele.farmbio.uu.se/sdk/</a>. Just add this as Update site in Eclipse 3.4.x (which\nis still required for Bioclipse2). It depends on the <a href=\"http://www.eclipse.org/jdt/\">JDT</a> and\n<a href=\"http://www.eclipse.org/pde/\">PDE</a>, which you will likely already have installed being part of the default\nEclipse RCP release.</p>\n\n<p>Go to the <em>Software Updates</em> in the <em>Help</em> menu:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK4.png\" alt=\"\" /></p>\n\n<p>and pick <em>Add Site…</em>. Enter the aforementioned update site as shown here:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK5.png\" alt=\"\" /></p>\n\n<p>Then, select the Bioclipse plugin:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK6.png\" alt=\"\" /></p>\n\n<p>After you hit <em>Install</em> and Eclipse install the fews tens of kBs of the plugin, the plugin should show up in\nyour installation, like it did in mine:</p>\n\n<p><img src=\"/assets/images/bioclipseSDK.png\" alt=\"\" /></p>\n\n<h2 id=\"implementation-details\">Implementation Details</h2>\n\n<p>Writing the plugin was a challenge to me, and I am happy we were doing this in a hackaton. The Bioclipse-QSAR\nproject already had a New Project wizard, but not for a new Plug-in Project. Some things are just slightly\ndifferent then. For example, it turned out that creating a <code class=\"language-plaintext highlighter-rouge\">.classpath</code> cannot be done in the regular way\n(it never showed up), and I had to dig up some internal code of the PDE. Actually, our current implementation\nis still using a few internal classes because of this:</p>\n\n<div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nc\">IClasspathEntry</span><span class=\"o\">[]</span> <span class=\"n\">entries</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">IClasspathEntry</span><span class=\"o\">[</span><span class=\"mi\">3</span><span class=\"o\">];</span>\n<span class=\"nc\">String</span> <span class=\"n\">executionEnvironment</span> <span class=\"o\">=</span> <span class=\"kc\">null</span><span class=\"o\">;</span>\n<span class=\"nc\">ClasspathComputer</span><span class=\"o\">.</span><span class=\"na\">setComplianceOptions</span><span class=\"o\">(</span>\n  <span class=\"n\">project</span><span class=\"o\">,</span>\n  <span class=\"nc\">ExecutionEnvironmentAnalyzer</span><span class=\"o\">.</span><span class=\"na\">getCompliance</span><span class=\"o\">(</span><span class=\"n\">executionEnvironment</span><span class=\"o\">)</span>\n<span class=\"o\">);</span>\n<span class=\"n\">entries</span><span class=\"o\">[</span><span class=\"mi\">0</span><span class=\"o\">]</span> <span class=\"o\">=</span> <span class=\"nc\">ClasspathComputer</span><span class=\"o\">.</span><span class=\"na\">createJREEntry</span><span class=\"o\">(</span><span class=\"n\">executionEnvironment</span><span class=\"o\">);</span>\n<span class=\"n\">entries</span><span class=\"o\">[</span><span class=\"mi\">1</span><span class=\"o\">]</span> <span class=\"o\">=</span> <span class=\"nc\">ClasspathComputer</span><span class=\"o\">.</span><span class=\"na\">createContainerEntry</span><span class=\"o\">();</span>\n<span class=\"nc\">IPath</span> <span class=\"n\">path</span> <span class=\"o\">=</span> <span class=\"n\">project</span><span class=\"o\">.</span><span class=\"na\">getProject</span><span class=\"o\">().</span><span class=\"na\">getFullPath</span><span class=\"o\">().</span><span class=\"na\">append</span><span class=\"o\">(</span><span class=\"s\">\"src/\"</span><span class=\"o\">);</span>\n<span class=\"n\">entries</span><span class=\"o\">[</span><span class=\"mi\">2</span><span class=\"o\">]</span> <span class=\"o\">=</span> <span class=\"nc\">JavaCore</span><span class=\"o\">.</span><span class=\"na\">newSourceEntry</span><span class=\"o\">(</span><span class=\"n\">path</span><span class=\"o\">);</span>\n</code></pre></div></div>\n\n<p>Ideas are most welcome on how to clean up this code, and not make it use internal, non-exported classes.\nFor the Java source files and even the <code class=\"language-plaintext highlighter-rouge\">MANIFEST.MF</code> we are using templates, though I have seen this file being\ncreated programmatically too.</p>\n\n<p>I’m sure we’ll run in some needed plumbing here and there, but that’s what update sites are for, not?\n<em>Release soon, release often</em> is an Open Source concept that works well in the Eclipse world.</p>",
      "summary": "Today, Jonathan, Carl, Arvid and I made writing managers for Bioclipse a bit easier. Plug-in development Eclipse in itself is already tricky to learn, and the use of Spring by the Bioclipse managers is not helping. And because very soon two new people will be starting with writing a new manager rather soon, we thought it was time to lower the activation barrier a bit.",
      "image": "https://chem-bla-ics.linkedchemistry.info/assets/images/bioclipseSDK1.png",
      "date_published": "2009-08-13T00:10:00+00:00",
      "date_modified": "2009-08-13T00:10:00+00:00",
      "tags": ["eclipse","bioclipse"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
