Skip to content

feat(core): Update config with more concrete copy paths#123

Merged
Saloed merged 2 commits into
mainfrom
DanielELog/new_config
Jul 1, 2026
Merged

feat(core): Update config with more concrete copy paths#123
Saloed merged 2 commits into
mainfrom
DanielELog/new_config

Conversation

@DanielELog

@DanielELog DanielELog commented May 12, 2026

Copy link
Copy Markdown
Contributor

@DanielELog DanielELog requested a review from Saloed May 12, 2026 09:09
@DanielELog DanielELog marked this pull request as draft June 10, 2026 10:50
@Saloed Saloed force-pushed the DanielELog/new_config branch from e1db07a to af9afb4 Compare July 1, 2026 20:12
@Saloed Saloed marked this pull request as ready for review July 1, 2026 20:20
Saloed added 2 commits July 2, 2026 00:06
Reconstruct DanielELog/new_config's config reorganization (commit e1db07a,
"Update config with more concrete copy paths") on top of current main.

The original single commit cannot be rebased directly: main and the branch
both restructured the same files. This regenerates the branch's curated
per-library layout against main instead:

- Adopt the branch's 149 per-library/per-package config files (self-described
  via `library:` headers), relocated to core/opentaint-config/java-config/
  config/java-config/, replacing main's monolithic config.yaml + jmod.yaml +
  jar-split/.
- Apply main's map-storage field migration to the adopted content: for the 14
  map-like classes main migrated (java.util.Map, javax.script.Bindings, Guava
  Cache/Multimap/Table, Gson JsonObject, commons-collections4, Spring, ...),
  rewrite `<rule-storage>` -> `MapValue`. Branch curation is preserved; main's
  rename applies only to functions the branch kept.
- Take main's StringBuilder/StringBuffer/AbstractStringBuilder taint rules from
  #230 ("chained StringBuilder.append taint loss"), which rewrote those rules
  coupled to engine changes. The branch's older curation of the same functions
  is dropped in favour of #230; its rules land in
  stdlib/java-lang-stringbuilder.yaml, and the branch's versions are stripped
  from stdlib/java-lang.yaml.
- Keep accumulated-fields.yaml at the module resource root, matching the
  branch. ConfigLoader walks only the /java-config subtree, so it is not
  deserialized as a taint config (main has no `fields` schema yet); it lies
  dormant until its consumer feature lands.

Verified: ConfigLoader.getConfig() loads all files under real kaml; every file
uses only main-supported keys at rule and copy level; no stale map-storage
tokens remain; the StringBuilder-family rule set equals main #230 exactly.
@Saloed Saloed force-pushed the DanielELog/new_config branch from af6cb69 to ad32d82 Compare July 1, 2026 21:06
@Saloed Saloed merged commit 7b1cc4d into main Jul 1, 2026
5 of 7 checks passed
@Saloed Saloed deleted the DanielELog/new_config branch July 1, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants