Code Monkey home page Code Monkey logo

jls's Introduction

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 2 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`    

jls's People

Contributors

anadon avatar bsiever avatar gasilioglu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.