Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CXF-9158: Make CXF buildable offline with -Doffline#2557

Draft
ppalaga wants to merge 1 commit intoapache:mainfrom
ppalaga:CXF-9158
Draft

CXF-9158: Make CXF buildable offline with -Doffline#2557
ppalaga wants to merge 1 commit intoapache:mainfrom
ppalaga:CXF-9158

Conversation

Copy link
Contributor

ppalaga commented Aug 19, 2025

https://issues.apache.org/jira/browse/CXF-9158

This PR does the following:

  • Download the suffix file to rt/transports/http/src/main/resources/mozilla/public-suffix- list.txt instead of target
  • Put the plugin into a new profile called online that is active by default unless the build is run with -Doffline
  • Add a check to the CI script to fail if there are uncommitted changes in rt/transports/http/src/main/resources/mozilla/public-suffix- list.txt so that we are notified if the list is changed and so that we are forced to have all the changes in git for the offline build.
  • This also helps to make this aspect of the build reproducible (when building with -Doffline).

ppalaga force-pushed the CXF-9158 branch from 9256cae to 0b32a0e Compare August 19, 2025 10:05
ffang approved these changes Aug 19, 2025
Copy link
Contributor

ffang left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @ppalaga !

reta reviewed Aug 20, 2025
org.codehaus.gmaven
Copy link
Member

reta Aug 20, 2025

Choose a reason for hiding this comment

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

@ppalaga why do we need groovy-maven-plugin plugin? AFAIK it is not supported and will be problematic (potentially) for Maven 4 support.

Copy link
Contributor Author

ppalaga Aug 20, 2025

Choose a reason for hiding this comment

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

why do we need groovy-maven-plugin plugin?

The first solution I could figure out that does not change the timestamp on the local file when there is no content change. Those timestamps might be important for incremental builds.
Ant plugin could perhaps be used to achieve the same with a bit more code - should I try?

AFAIK it is not supported

In which sense not supported?

Copy link
Member

reta Aug 20, 2025

Choose a reason for hiding this comment

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

In which sense not supported?

It was not updated since 2019 (https://groovy.github.io/gmaven/groovy-maven-plugin/) , probably better wording would be "not maintained".

Copy link
Contributor Author

ppalaga Aug 20, 2025

Choose a reason for hiding this comment

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

I see. gmavenplus has some recent releases: https://mvnrepository.com/artifact/org.codehaus.gmavenplus/gmavenplus-plugin
Would that one be OK?

Copy link
Contributor Author

ppalaga Aug 20, 2025

Choose a reason for hiding this comment

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

Ouch, I just found out, how many changes the suffix file is receiving https://github.com/publicsuffix/list/commits/main/public_suffix_list.dat
It is nearly every day.
I am afraid, the approach proposed in this PR would not be sustainable.

It would actually be enough to update the list shortly before releasing CXF. @ffang I wonder whether there is any release automation in place for CXF? Is there a CI job or a script? If so, the suffix list update could be added there.

Copy link
Contributor

ffang Aug 20, 2025

Choose a reason for hiding this comment

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

Hi @ppalaga ,

No such automation before release where we can put the public_suffix_list.dat update in.

But as we need to do manual steps before each release anyway, like update release notes in distribution/src/main/release/release_notes.txt, so we can also update the offline public_suffix_list.dat before each release.

Cheers
Freeman

Copy link
Contributor Author

ppalaga Aug 20, 2025

Choose a reason for hiding this comment

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

Thanks for the explanation, @ffang! Is there at least some document somewhere listing the release steps where I could add it?

Copy link
Contributor

ffang Aug 20, 2025 *
edited
Loading

Choose a reason for hiding this comment

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

Hi @ppalaga ,

We have wiki based page here
https://cxf.apache.org/release-management.html
This should be the page we add that step. When we edit the wiki page, an apache buildbot will sync the change to apache infra svn here
https://svn.apache.org/repos/infra/websites/production/cxf/content/release-management.html

I don't think you have the permission to edit the wiki directly. The simplest way is that you send an old days svn based patch(not a github pull request) to CXF-9158 so we can change the website accordingly once this PR get in.

Best Regards
Freeman

ppalaga marked this pull request as draft August 20, 2025 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

reta reta left review comments

ffang ffang approved these changes

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants