goplus / goplus/llcppg

proposal: make goplus/lib version configurable instead of hardcoded

Open
#613 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
33
Forks
11
Avg merge
1h 17m
Merged PRs (30d)
51

Description

Requested by @luoliwoshang in #612

Current Situation

The goplus/lib version is currently hardcoded in cl/internal/convert/convert.go:46:

loadDeps := []string{"github.com/goplus/lib@v0.3.1"}
Problem

Having the version hardcoded makes it difficult to:

  1. Update the version without modifying source code
  2. Allow users to specify their preferred version
  3. Test with different versions of goplus/lib
  4. Maintain backwards compatibility when needed
Proposed Solution

Consider making the goplus/lib version configurable through:

  • Configuration file option in llcppg.cfg
  • Command-line flag (e.g., --goplus-lib-version)
  • Environment variable
  • Default to latest stable version if not specified
Benefits
  • More flexible for users with different requirements
  • Easier to update without code changes
  • Better support for testing and development
  • Cleaner separation of configuration from code
Related
  • PR #612 updated the hardcoded version from v0.2.0 to v0.3.1
  • Issue #611 requested the version update

This issue is for discussing and implementing a more flexible approach to version management.

Contributor guide

No contributing guide indexed for this repository

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 at cl/internal/convert/convert.go:46 and inspect how llcppg.cfg and command-line options are currently handled. Decide which configuration path this proposal should use and define how the default and user-selected goplus/lib versions will be tested; done means the hardcoded version is no longer the only option.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.