bsiever / JLS

Java Logic Simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JLS: Java Logic Simulator

A digital logic simulator, written in Java.

Releasing

Common

  1. Update src/jls/JLSInfo.java's ver, release, and buildNum
  2. Rebuild and export to Jar (File > Export; Java > Runnable JAR)
    1. Launch Config JLS - JLS
    2. Place it in JLS/releases/JLS.jar
    3. Select "Extract required libraries into generated JAR`
  3. Navigate to releases

macOS

Skip to step 3 if not updating the JRE.

  1. Create certificates for Application install to login keychain. (https://developer.apple.com/help/account/create-certificates/create-developer-id-certificates/)
  2. Create a multi-platform version of jre (using notes from https://incenp.org/notes/2023/universal-java-app-on-macos.html)
    1. Get latest tgz bundles from Adoptium: https://adoptium.net/temurin/releases/?os=mac and place in jre folder (OpenJDK*-jre_x64_mac_hotspot_*.tar.gz and OpenJDK.+-jre_x64_mac_hotspot_(.+).tar.gz)
    2. Run jre/mergeVersions.sh to extract them and create a merged Universal version
  3. Update remakeMacBundle.sh with updates to files, directories, versions.
    1. Update app-version
    2. If jre has been updated, update runtime-image path
  4. Run remakeMacBundle.sh

Windows

Login to windows, Academic lab; Open bash and navigate to H:\git\JLS; git pull Skip to step 3 if not updating the JRE.

  1. Get the jre (https://adoptium.net/temurin/releases/), put it in jre, and unzip it.
  2. Copy the JLS jar to the contents folder (cd releases/windows, cp ../JLS.jar contents)
  3. Update the remakeExe.sh script with version number and any changes to jre directory/name.
  4. Remove old version (remove the JLS director in releases/windows)
  5. Run remakeExe.sh

GitHub

Create a Tag for most recent commit. Create a release. Add .jar and _macOS.zip and .zip from windows to the release.

Tagging / Releasing

git tag -a v4.6.0 -m "Version 4.6 Release" git push origin tag v4.6.0 Got to GitHub repo @ https://github.com/bsiever/JLS/releases and Draft a new release. Attach executables. Need to upload windows (maybe via google drive transfer. Ugh)

Misc. notes & debris

jpackage --type app-image --app-version 4.4 --copyright ""  --description "J(ava) Logic Simulator" \
   --icon  /Users/bsiever/git/JLS/macOS/icon/JLSicon.icns  \
   --mac-package-identifier "info.siever.JLS"  --mac-package-name "JLS" \
   --file-associations /Users/bsiever/git/JLS/macOS/mac_associations.properties \
   --runtime-image /Users/bsiever/git/JLS/macOS/jre/universal/jdk-21.0.3+9-jre/Contents/jre \
   --input contents --main-jar JLS.jar --main-class jls.JLS \
   --mac-sign 
jpackage --type dmg --app-version 4.3 --copyright ""  --description "J(ava) Logic Simulator" \
    --icon  /Users/bsiever/git/JLS/macOS/icon/icon.icns  \
    --mac-package-identifier "info.siever.JLS"  --mac-package-name "JLS" \
    --file-associations /Users/bsiever/git/JLS/macOS/associations.info \
    --runtime-image /Users/bsiever/git/JLS/macOS/jre/universal/jdk-21.0.3+9-jre/Contents/jre \
    --input contents --main-jar JLS.jar --main-class jls.JLS \
    --mac-sign  --mac-app-category education --mac-app-store --license-file LICENSE  --type dmg`    

About

Java Logic Simulator

License:GNU General Public License v3.0


Languages

Language:Java 87.3%Language:HTML 12.3%Language:Shell 0.3%Language:Haskell 0.0%