Skip to content

Resurrect parboiled2 in community build - #26797

Merged
SolalPirelli merged 1 commit into
scala:mainfrom
eed3si9n:wip/parboiled2
Aug 13, 2026
Merged

Resurrect parboiled2 in community build#26797
SolalPirelli merged 1 commit into
scala:mainfrom
eed3si9n:wip/parboiled2

Conversation

@eed3si9n

@eed3si9n eed3si9n commented Aug 13, 2026

Copy link
Copy Markdown
Member

Ref #26660

This brings back Parboiled2, which uses sbt 2.

Have you relied on LLM-based tools in this contribution?

No

How was the solution tested?

sbt --client 'community-build/testOnly -- *parboiled2'

ran their tests.

Test

https://github.com/scala/scala3/actions/runs/31726209244/job/94535098618?pr=26797

[info] Test dotty.communitybuild.CommunityBuildTestC.parboiled2 started Building parboiled2 with dotty-bootstrapped 3.10.0-RC1-bin-SNAPSHOT... ....
[info] Test dotty.communitybuild.CommunityBuildTestC.parboiled2 started
Building parboiled2 with dotty-bootstrapped 3.10.0-RC1-bin-SNAPSHOT...
sbt -Dsbt.version=2.0.3 -Dsbt.supershell=false --addPluginSbtFile=/home/runner/work/scala3/scala3/community-build/sbt-injected-plugins set Global/testOptions += Tests.Argument(TestFramework("munit.Framework"), "+l"); clean; set Global/logLevel := Level.Error; set Global/updateOptions ~= (_.withLatestSnapshots(false)); set Global/scalacOptions ++= List("-Wsafe-init","-Yexplicit-nulls","-language:unsafeNulls");++3.10.0-RC1-bin-SNAPSHOT!; parboiledCoreJVM3/testFull; parboiledJVM3/testFull
[info] entering thin client - BEEP WHIRR
[info] starting sbt server in the background
[info] use 'sbt shutdown' to shutdown the server
[info]  
[info] welcome to sbt 2.0.3 (Eclipse Adoptium Java 17.0.20)
[info] loading project definition from /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/project
[info] compiling 1 Scala source to /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/target/out/jvm/scala-3.8.4/parboiled2-build/classes ...
[info] done compiling
[info] resolving key references (37998 settings) ...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Defining Global / testOptions
[info] The new value will be used by Test / test / testOptionDigests, Test / test / testOptions and 245 others.
[info] 	Run `last` for details.
[info] Reapplying settings...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Defining Global / logLevel
[info] The new value will be used by Test / test / testListeners, Test / testOnly / testListeners and 261 others.
[info] 	Run `last` for details.
[info] Reapplying settings...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Defining Global / updateOptions
[info] The new value will be used by dependencyTreeIgnoreMissingUpdate / updateOptions, examples2_12 / dependencyTreeIgnoreMissingUpdate / updateOptions and 53 others.
[info] 	Run `last` for details.
[info] Reapplying settings...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Defining Global / scalacOptions
[info] The new value will be used by examples2_12 / scalacOptions, examples2_13 / scalacOptions and 25 others.
[info] 	Run `last` for details.
[info] Reapplying settings...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Forcing Scala version to 3.10.0-RC1-bin-SNAPSHOT on all projects.
[info] Reapplying settings...
[info] looking for workflow definition in /home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/.github/workflows
[warn] unable to find or parse workflow YAML definition
[warn] assuming the empty map for `githubWorkflowDefinition`
[info] set current project to parboiled2-root (in build file:/home/runner/work/scala3/scala3/community-build/community-projects/parboiled2/)
[info] Running in CI, enabling Scala2 optimizer
[info] Running in CI, enabling Scala2 optimizer
[info] Running in CI, enabling Scala2 optimizer
-------------------------------- Running Tests --------------------------------
-------------------------------- Running Tests --------------------------------
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.enable parsing of RFC2045 Strings 56ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 0 rules 17ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 1 rule 0ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 2 rules 1ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 3 rules 1ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 4 rules 1ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.enable parsing of RFC2045 Blocks 8ms  
+ org.parboiled2.DynamicRuleDispatchSpec.DynamicRuleDispatch.work as expected when selecting from 5 rules 2ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.enable parsing of custom-Base64 Strings 4ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.enable parsing of custom-Base64 Blocks 4ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.reject RFC2045 Strings with trailing garbage 27ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.reject RFC2045 Blocks with trailing garbage 11ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.reject custom-Base64 Strings with trailing garbage 8ms  
+ org.parboiled2.Base64ParsingSpec.Base64Parsing.reject custom-Base64 Blocks with trailing garbage 7ms  
[success] elapsed time: 32 s

@eed3si9n
eed3si9n marked this pull request as ready for review August 13, 2026 18:23
@eed3si9n
eed3si9n requested a review from SolalPirelli August 13, 2026 18:23
@eed3si9n eed3si9n changed the title Resurrect parboiled2 Resurrect parboiled2 in community build Aug 13, 2026

@SolalPirelli SolalPirelli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot! I am evidently not a good necromancer for projects.

@SolalPirelli
SolalPirelli merged commit 8d9080a into scala:main Aug 13, 2026
64 of 65 checks passed
@eed3si9n
eed3si9n deleted the wip/parboiled2 branch August 13, 2026 22:00
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