Skip to content

Releases: platypusguy/jacobin

0.4.0 pre-alpha

28 Feb 23:05
dd2f321
Compare
Choose a tag to compare
0.4.0 pre-alpha Pre-release
Pre-release

0.4.0 pre-alpha

This release is a pre-alpha milestone intended only for historical purposes, not for review or testing. This version of Jacobin executes many simple and some complex Java classes, instantiates objects, and calls methods across classes and in libraries. However, there are still many limitations that need to be removed, basic features to be added, and despite the presence of 700+ tests, it needs far more testing.

If you still think you want to run it, then: 0) recognize that we don't advise this; 1) build it (go build from the /src directory), 2) make sure your JAVA_HOME environment variable points to a post-Java11 JDK installation, then run jacobin. If you want to run a simple class, note that Jacobin will run any class containing main() from any directory. However, on the command line, add the .class extension to the file name (this is different from the OpenJDK command line--both in letting you run the class from anywhere and in requiring the .class extension. So, for example: jacobin my.class

JAR files are run using the same syntax as the OpenJDK JVM.

Again, we provide this release as-is and for historical purposes only. We will soon have testable releases, for which we'd love to get your feedback. But this is not one of them.

Code is current as of 28 Feb 2024

v. 0.3.9 release for internal project purposes only

12 Aug 04:52
dd2f321
Compare
Choose a tag to compare

This release is a pre-alpha milestone intended only for historical purposes, not for review or testing. This version of Jacobin executes many simple and some complex Java classes, instantiates objects, and calls methods across classes and in libraries. However, there are still many limitations that need to be removed, basic features to be added, and despite the presence of 600+ tests, it needs far more testing.

If you still think you want to run it, then: 0) recognize that we don't advise this; 1) build it (go build from the /src directory), 2) make sure your JAVA_HOME environment variable points to a post-Java11 JDK installation, then run jacobin. If you want to run a simple class, note that Jacobin will run any class containing main() from any directory. However, on the command line, add the .class extension to the file name (this is different from the OpenJDK command line--both in letting you run the class from anywhere and in requiring the .class extension. So, for example: jacobin my.class

JAR files are run using the same syntax as the OpenJDK JVM.

Again, we provide this release as-is and for historical purposes only. We will soon have testable releases, for which we'd love to get your feedback. But this is not one of them.

Code is current as of August 2023

v0.3.0-pre-alpha (Interpreter mostly complete)

20 May 06:06
Compare
Choose a tag to compare

This release is a pre-alpha milestone intended only for historical purposes. This version of Jacobin executes many simple and some complex Java classes, instantiates objects, and calls methods across classes and in libraries. However, there are still many limitations that need to be removed, basic features to be added, and despite the presence of 440+ tests, the Jacotest test bed, and other testing frameworks, it needs more testing to make sure of the robustness of existing features.

Version after one year of work on Jacobin

08 Aug 05:23
Compare
Choose a tag to compare

This is a pre-alpha release: a simple proof of concept. This release includes executables for Windows (jacobin.exe) and Mac (jacobin). If you're on other platforms, here's how you build Jacobin: install go (1.18+), download the src directory from this project, run go build and voilà an executable. Jacobin has no other dependencies.

To run Jacobin:

Jacobin expects to find a JDK installation at the location pointed to by the JACOBIN_HOME environment variable. It supports any version of the JDK up through Java 17.

To run a class: jacobin nameOfClass.class (Note that, unlike the JVM, you need to use the .class extension of the file)

At present, Jacobin runs only a few simple classes. Some of them can be downloaded from the testdata folder. They do simple things: print a string 10 times (Hello.class), perform simple computations and print the result (Hello2.class, Hello3.class). If you want to see the Java source code, it's in the comments for each class in the wholeClassTests directory. For example, the Java source code to Hello3.class is in the comments in Hello3_test.go

Jacobin can be run with many command-line options that provide a lot of information about the classes being loaded (there are almost 1500 classes loaded for any given run) and you can even do instruction tracing. Some of those command-line options are explained in this post.

v. 0.1.0 Bare bones version (includes Java classes and Windows executable)

04 Feb 22:55
Compare
Choose a tag to compare

This is a pre-pre-alpha release: a simple proof of concept. This release includes an executable (for Windows) and a core subset of Java classes (from the standard Java distribution). To run Jacobin:

  • Extract the .zip file of classes into a directory
  • Create an environmental variable, `JACOBIN_HOME', and point it to the directory
  • Run the enclosed executable. If you're not on Windows, here's how you build Jacobin: install go (1.16+), download the src directory from this project, run go build and voila an executable. Jacobin, at present, has no other dependencies.

To run a class: jacobin nameOfClass.class (Note that unlike the JVM, you need to use the .class extension of the file)

At present, Jacobin runs only a few simple classes. Four of them can be downloaded from the testdata folder. They do simple things: print a string 10 times (Hello.class), perform simple computations and print the result (Hello2.class, Hello3.class). If you want to see the Java source code, it's in the comments for each class in the wholeClassTests directory. For example, the Java source code to Hello3.class is in the comments in Hello3_test.go

Jacobin can be run with many command-line options that provide a lot of information about the classes being loaded (there are almost 1500 classes loaded for any given run) and you can even do instruction tracing. Those command-line options are explained in this post.