Skip to content

Update JavaCompileUsingEcj.kt#1518

Merged
juliandolby merged 7 commits intowala:masterfrom
Obielicious:build-on-windows
Sep 5, 2025
Merged

Update JavaCompileUsingEcj.kt#1518
juliandolby merged 7 commits intowala:masterfrom
Obielicious:build-on-windows

Conversation

@Obielicious
Copy link
Copy Markdown
Contributor

Builds on Windows assuming there is a C++ compiler

Thank you for contributing to WALA! Please see the contribution guidelines at https://github.com/wala/WALA/blob/master/CONTRIBUTING.md for information on code style and general guidelines for pull requests.

Obie Oranekwu and others added 2 commits June 11, 2025 14:16
Builds on Windows assuming there is a C++ compiler
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 11, 2025

Test Results

  713 files  ±0    713 suites  ±0   4h 8m 6s ⏱️ - 20m 42s
  773 tests ±0    754 ✅ ±0   19 💤 ±0  0 ❌ ±0 
4 522 runs  ±0  4 406 ✅ ±0  116 💤 ±0  0 ❌ ±0 

Results for commit b52a06b. ± Comparison against base commit 4317412.

♻️ This comment has been updated with latest results.

@codecov
Copy link
Copy Markdown

codecov bot commented Jun 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 50.20%. Comparing base (4317412) to head (b52a06b).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1518      +/-   ##
============================================
- Coverage     50.21%   50.20%   -0.01%     
  Complexity    12650    12650              
============================================
  Files          1365     1365              
  Lines         85214    85214              
  Branches      14733    14733              
============================================
- Hits          42787    42784       -3     
- Misses        37632    37633       +1     
- Partials       4795     4797       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@liblit liblit self-requested a review June 11, 2025 21:41
Copy link
Copy Markdown
Contributor

@liblit liblit left a comment

Choose a reason for hiding this comment

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

Thanks for proposing these changes! I have a few refinements to suggest, most of which involve making your improvements more Kotlin-idiomatic.

jdtPrefs.toString(),
"-classpath",
[email protected](":"),
[email protected](File.pathSeparator),
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.

Attention @msridhar: this pull request implies that ECJ builds on Windows were not previously working, but I think we didn't know that. Should we be enabling ECJ builds on Windows so that we will be aware of any future regressions to that capability? Should we enable ECJ builds on macOS too?

Or conversely, do we neither care about nor support ECJ builds on Windows, in which case this whole pull request should be discarded?

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.

We actually need Windows builds here at IBM, since we have product usage of WALA on Windows (not mine!). So please can we keep support for building it all on Windows?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Sure, I think we should probably just enable ECJ on all builds on CI. It shouldn't cost us much CI time compared to running tests.

Copy link
Copy Markdown
Contributor

@liblit liblit Jun 12, 2025

Choose a reason for hiding this comment

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

OK, we're all agreed: CI will include ECJ builds on all supported platforms.

@juliandolby: it's OK with me if you want to leave this alone for now. Once the current pull request is merged, I'll create a separate pull request to enable ECJ builds everywhere.

@juliandolby
Copy link
Copy Markdown
Contributor

have tried to make the changes more idiomatic, but i am not a kotlin programmer...

Copy link
Copy Markdown
Contributor

@liblit liblit left a comment

Choose a reason for hiding this comment

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

I think I can improve this code further, but let's not let perfect be the enemy of good. I'll approve this PR in its current form. If I think I can make it even nicer, then I'll propose those changes separately.

@juliandolby juliandolby added this pull request to the merge queue Sep 5, 2025
Merged via the queue into wala:master with commit 7211f10 Sep 5, 2025
12 checks passed
@liblit
Copy link
Copy Markdown
Contributor

liblit commented Sep 5, 2025

FYI, I just noticed that the ECJ-compiled bytecode files for some JavaCompileUsingEcj tasks are not being put in the proper output directories. They are put in the same directories as the corresponding Java source files. Oops, too bad we missed that before approving and merging this change. Oh well, I'll see if I can fix that in a follow-up PR.

liblit added a commit to liblit/WALA that referenced this pull request Sep 6, 2025
Previously, Linux jobs ran with an X Virtual Framebuffer (Xvfb).
However, we no longer have any tests that require an X display.

Previously Linux jobs included ECJ compilation but macOS and Windows
jobs did not.  [Unfortunately, that allowed a Windows-specific ECJ
compilation problem to go
undetected.](wala#1518)  In discussion of
that fix, WALA maintainers agreed that testing ECJ on all platforms was
advisable.

Previously, there were a few other minor things that we also only tested
on Linux.  For simplicity and thoroughness, it seems wise to test the
same things on all platforms.
liblit added a commit to liblit/WALA that referenced this pull request Sep 6, 2025
Previously Linux jobs included ECJ compilation but macOS and Windows
jobs did not.  [Unfortunately, that allowed a Windows-specific ECJ
compilation problem to go
undetected.](wala#1518)  In discussion of
that fix, WALA maintainers agreed that testing ECJ on all platforms was
advisable.
github-merge-queue bot pushed a commit that referenced this pull request Sep 6, 2025
Previously Linux jobs included ECJ compilation but macOS and Windows
jobs did not. [Unfortunately, that allowed a Windows-specific ECJ
compilation problem to go
undetected.](#1518) In discussion of
that fix, WALA maintainers agreed that testing ECJ on all platforms was
advisable.
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.

4 participants