processing / processing/processing4

migrate custom `jssc` dependency to maintainable source used in `serial` library

Open
#1,194 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Java
Stars
494
Forks
183
Avg merge
4h 39m
Merged PRs (30d)
3

Description

Problem

While trying to modernize the dependency and migrate it to a Gradle-based setup, this approach as reference:

dependencies {
    compileOnly(project(":core"))
    implementation("io.github.java-native:jssc:2.10.2")  
}

this invoke error methods getPortProperties() that aren't present in java-native/jssc or any other published versions.

because currently, the processing4/java/libraries/serial library depends on a customized version of jssc that is not available on Maven Central or Jitpack . It is documented as a modified version of gohai/java-simple-serial-connector and sampottinger/jssc,

currently migration pull request lives under library/jssc.jar file and is custom-built, and it's a hurdle to issue #1099

Solution
  • Create a downstream fork under the foundation org to maintain and publish the custom JAR

  • Or incorporate the needed source directly into the repo

Per @Stefterv suggestion, I’m opening this issue to track the long-term resolution of this dependency problem

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the dependency setup under java/libraries/serial and the custom library/jssc.jar, then compare the referenced pull requests #1189 and #1106 with the getPortProperties() usage. Done means the serial library no longer depends on an unavailable custom JAR while retaining the required API and a maintainable dependency or source location.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.