GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add Main class exists rule by gselzer · Pull Request #35 · scijava/scijava-maven-plugin

Conversation

@gselzer

@gselzer gselzer commented Jan 7, 2026

Copy link
Copy Markdown
Member

This PR adds a new custom enforcer rule that asserts that either:

  1. No main-class property exists (this would actually show up as a key with a blank value)
  2. The main-class property refers to an existing class file.

The intent behind this rule is to catch the situations where a POM is copied and the developer who doesn't know any better (historically me) just changes the package structure of this property without actually making the class. It's been tested on the scijava/scijava repository, and seems to be working.

Note that this rule differs from the existing rules in that it does not use the deprecated org.apache.maven.enforcer.rule.api.EnforcerRule. Let me know if that's an issue! We could always refactor the other rules into the new classes in another PR (there seems to be no issue with using both old and new patterns simultaneously)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
gselzer added 2 commits January 7, 2026 17:04
@gselzer
Add a MainClassExistsRule
2928c93
@gselzer
Check for empty main class
c616820
This is actually what happens when the pom doesn't have this property
@gselzer
gselzer requested a review from ctrueden January 7, 2026 23:30
@ctrueden
ctrueden merged commit 1004cd4 into master Jan 16, 2026
1 check passed

Uh oh!

There was an error while loading. Please reload this page.

@ctrueden

ctrueden commented Jan 16, 2026

Copy link
Copy Markdown
Member

Thanks for implementing this, @gselzer! Do you think it would be worthwhile to check that the given class not only exists, but actually has a public static void main(String[]) signature?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ctrueden
ctrueden deleted the main-class-exists-rule branch January 16, 2026 19:36
@gselzer

gselzer commented Jan 16, 2026

Copy link
Copy Markdown
Member Author

Do you think it would be worthwhile to check that the given class not only exists, but actually has a public static void main(String[]) signature?

Certainly couldn't hurt...

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ctrueden ctrueden Awaiting requested review from ctrueden

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@gselzer @ctrueden
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.