Swingjs JalView

Hi Andrew & Bob

I just tried the OSX install script - seems to work great ! However, I don’t seem to be able to locate the build script for the jalviewjs project.

@Bob - I just tried checking out the latest jalviewjs.git:master commit. It seems the awt2swing singleton isn’t in the project anywhere, so I’m getting compile errors. Do I need to add another project to the workspace ? It currently only has JalviewJS in it…

I just finished some test scripts to 1) install the necessary Eclipse version (currently Neon 3 until further testing is done on Oxygen) as well as pull the necesary plugins and 2) clean/build + ant build a project. I have 3 versions of the script for Windows, OSX, and Linux. I have been told that being able to run clean builds headlessly important to you guys, and I am happy to say the script was able to clean/build the project from command line only interface on KDE Neon (KDE + Ubuntu). Therefore, I am pretty sure the scripts will also work on a headless RedHat environment.

Sounds good.

One issue that I have yet to solve is the issue of working with Eclipse’ git interface as well as command line imports without the use of a GUI. It would be simple enough to pull projects using bash scripting (for NIX systems or batch for Windows). However, Eclipse has its own tracking system when it comes to these files. I can’t just drag and drop files around and expect Eclipse to be able to build something after that. Realistically, this means I have been using the Eclipse GUI to set up a workspace, pull a project from a git repo, and import the project. I have yet to figure out a headless way to do any of this.

If I understand you right then once a project is pulled into the workspace (I usually prefer to checkout to a working directory and link the project to that), when more changes come in (which the build system will do), an ‘F5’ is triggered to update the SwingJS project within eclipse’s tracking system.

So one question I need to ask is that do you need to be running Eclipse headlessly all the time? Or just when you are clean building your project? If the system you as your production platform lacks a GUI entirely, we will need to figure out a way to do everything using eclipse command line commands. One potential thing I was looking at is Eclim which is essentially a headless Eclipse running in the background that allows for a developer to use Vim as the interaction layer between them and Eclipse. Since everything including project creation has to be done using headless commands, there is a good chance they have already figured out a way to do this, and it may be as simple as looking through their source code, or asking them directly.

Sounds like asking them is the right thing to do here.

Although making a Docker (or any other possible container system) container to relieve the headaches of working on different systems sounds like a good idea, I personally do not have the experience needed in Docker to make this happen. However, if we decide to move forward with this idea, I will be happy to learn this.

Docker is relatively straightforward to adapt to this, but debugging is less fun. I recommend getting everything working first… for us, Docker is not required, but for others, it will be.

Jim.

···

On 12/07/2017 23:40, Andrew Shinsuke Lee wrote:

Ha, Ha, Jim. You are too far ahead of us! The Jalview project is in your repo; I just cloned it again, and it did at least start. Remember this was a JS fork. Don’t expect it to function much, though.

···

On Thu, Jul 20, 2017 at 9:26 AM, Jim Procter <jprocter@compbio.dundee.ac.uk> wrote:

Hi Andrew & Bob

I just tried the OSX install script - seems to work great ! However, I don’t seem to be able to locate the build script for the jalviewjs project.

@Bob - I just tried checking out the latest jalviewjs.git:master commit. It seems the awt2swing singleton isn’t in the project anywhere, so I’m getting compile errors. Do I need to add another project to the workspace ? It currently only has JalviewJS in it…

On 12/07/2017 23:40, Andrew Shinsuke Lee wrote:

I just finished some test scripts to 1) install the necessary Eclipse version (currently Neon 3 until further testing is done on Oxygen) as well as pull the necesary plugins and 2) clean/build + ant build a project. I have 3 versions of the script for Windows, OSX, and Linux. I have been told that being able to run clean builds headlessly important to you guys, and I am happy to say the script was able to clean/build the project from command line only interface on KDE Neon (KDE + Ubuntu). Therefore, I am pretty sure the scripts will also work on a headless RedHat environment.

Sounds good.

One issue that I have yet to solve is the issue of working with Eclipse’ git interface as well as command line imports without the use of a GUI. It would be simple enough to pull projects using bash scripting (for NIX systems or batch for Windows). However, Eclipse has its own tracking system when it comes to these files. I can’t just drag and drop files around and expect Eclipse to be able to build something after that. Realistically, this means I have been using the Eclipse GUI to set up a workspace, pull a project from a git repo, and import the project. I have yet to figure out a headless way to do any of this.

If I understand you right then once a project is pulled into the workspace (I usually prefer to checkout to a working directory and link the project to that), when more changes come in (which the build system will do), an ‘F5’ is triggered to update the SwingJS project within eclipse’s tracking system.

So one question I need to ask is that do you need to be running Eclipse headlessly all the time? Or just when you are clean building your project? If the system you as your production platform lacks a GUI entirely, we will need to figure out a way to do everything using eclipse command line commands. One potential thing I was looking at is Eclim which is essentially a headless Eclipse running in the background that allows for a developer to use Vim as the interaction layer between them and Eclipse. Since everything including project creation has to be done using headless commands, there is a good chance they have already figured out a way to do this, and it may be as simple as looking through their source code, or asking them directly.

Sounds like asking them is the right thing to do here.

Although making a Docker (or any other possible container system) container to relieve the headaches of working on different systems sounds like a good idea, I personally do not have the experience needed in Docker to make this happen. However, if we decide to move forward with this idea, I will be happy to learn this.

Docker is relatively straightforward to adapt to this, but debugging is less fun. I recommend getting everything working first… for us, Docker is not required, but for others, it will be.

Jim.

Robert M. Hanson
Professor of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr

If nature does not answer first what we want,
it is better to take what answer we get.

– Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900

Ha, Ha, Jim. You are too far ahead of us!

I doubt that :slight_smile: I was trying to resurrect the original example but test.htm doesn’t yield a functioning JalviewJS instance… I see instead a bunch of jalview.io runtime errors due to a missing j2sed java class (jalview.io.HTMLFile)

The Jalview project is in your repo; I just cloned it again, and it did at least start. Remember this was a JS fork. Don’t expect it to function much, though.

Yep… I’ll leave it for now… but there are a few people here at the BOSC Codefest who are interested in seeing this :slight_smile:

jim.

The University of Dundee is a registered Scottish Charity, No: SC015096

···

On 20/07/2017 16:39, Robert Hanson wrote: