Skip to content

Compile folders reorg - #90

Merged
sake92 merged 6 commits into
mainfrom
compile-folders-reorg
Jun 16, 2026
Merged

Compile folders reorg#90
sake92 merged 6 commits into
mainfrom
compile-folders-reorg

Conversation

@sake92

@sake92 sake92 commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Refactor
    • Reorganized build output directory structure for improved organization. Compiled classes, semantic database files, and generated sources are now grouped under dedicated subdirectories within each module's output folder. Related build caches have been reorganized to align with the new structure, providing better artifact organization and improved discoverability.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 748af04d-7ac6-4745-a081-7b32b386bd74

📥 Commits

Reviewing files that changed from the base of the PR and between 602583e and f44a4c8.

📒 Files selected for processing (6)
  • deder-common/src/ba/sake/deder/DederGlobals.scala
  • integration/test/src/ba/sake/deder/IntegrationSuite.scala
  • integration/test/src/ba/sake/deder/ScalaJsIntegrationSuite.scala
  • integration/test/src/ba/sake/deder/bsp/BspIntegrationSuite.scala
  • server/src/ba/sake/deder/CoreTasks.scala
  • server/src/ba/sake/deder/zinc/ZincCompiler.scala

📝 Walkthrough

Walkthrough

The PR restructures Deder's compile output layout by introducing a compile subdirectory grouping under .deder/out/<module>/compile/<name>. DederGlobals gains dedicated public accessors (classesDir, semanticdbDir, generatedSourcesDir) and a private compileOutDir helper. CoreTasks and ZincCompiler are updated to use the new paths, with Zinc's incremental cache relocated to zinc/inc_compile.zip. Integration tests are updated to match.

Changes

Compile output directory restructuring

Layer / File(s) Summary
DederGlobals: new compile output path API
deder-common/src/ba/sake/deder/DederGlobals.scala
Adds private compileOutDir and public classesDir, semanticdbDir, generatedSourcesDir accessors under the .deder/out/<module>/compile/<name> layout, replacing the prior flat <module>/<name> path mapping.
CoreTasks and ZincCompiler path updates
server/src/ba/sake/deder/CoreTasks.scala, server/src/ba/sake/deder/zinc/ZincCompiler.scala
CoreTasks switches compile output subdirs to direct children of ctx.out and moves the Zinc cache under ctx.out / "zinc" / "inc_compile.zip". ZincCompiler resolves peer module Zinc caches at zinc/inc_compile.zip instead of compile/inc_compile.zip.
Integration test assertion updates
integration/test/src/ba/sake/deder/IntegrationSuite.scala, integration/test/src/ba/sake/deder/ScalaJsIntegrationSuite.scala, integration/test/src/ba/sake/deder/bsp/BspIntegrationSuite.scala
All classpath and semanticdb path assertions updated from /<module>/classes and /<module>/semanticdb to /<module>/compile/classes and /<module>/compile/semanticdb.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sake92/deder#84: Directly related — modifies CoreTasks.scala compile-output path handling, deriving classesDir/semanticdbDir/generatedSourcesDir at execute time and adjusting compileTask dependencies.
  • sake92/deder#85: Directly related — modifies both DederGlobals.scala and CoreTasks.scala to align compile output directories under the same shared compile structure.
  • sake92/deder#54: Related — modifies the same CoreTasks.scala and ZincCompiler.scala compile pipeline locations to change how CompileResult/ZincCompileResult are produced.

Poem

🐇 Hop hop, the folders align,
Under compile/ the class files shine!
zinc/ now holds the cache with care,
No more tangled paths to snare.
Clean structure blooms like clover in spring! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Compile folders reorg' accurately reflects the main change: reorganizing the compile output directory structure to use a formalized .deder/out/<module>/compile/<name> layout with dedicated subdirectories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch compile-folders-reorg

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sake92
sake92 merged commit f394355 into main Jun 16, 2026
4 checks passed
@sake92
sake92 deleted the compile-folders-reorg branch June 16, 2026 09:29
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.

1 participant