-
Notifications
You must be signed in to change notification settings - Fork 874
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upgrade bundled maven to 3.9.1 #5679
Conversation
java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
Outdated
Show resolved
Hide resolved
col -= (posEnd - posStart); | ||
try { | ||
col -= (posEndField.getInt(this) - posStartField.getInt(this)); | ||
} catch (IllegalAccessException ex) { | ||
Exceptions.printStackTrace(ex); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is ugly, those fields are now private since codehaus-plexus/plexus-utils@797cab4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sdedic question two: how do I trigger this code path to check if this still works?
I think we have two options here for the mid term: find a different solution for this, or talk to upstream and make the two fields accessible again so that we can remove this hack.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This whole thing is triggered when:
- maven
settings.xml
specifies a proxy - the system does not use a proxy (so no http*_proxy env var or reachable PAC file)
- a maven build or priming build is triggered, or other request in 'online' mode.
I will try to create a simple unittest to verify the settings.xml parsing produces the expected results.
This comment was marked as outdated.
This comment was marked as outdated.
java/maven/test/unit/data/projects/dependencies/golden/testDuplicatedDependencies
Outdated
Show resolved
Hide resolved
Strange -- since it uses a specific version of the micronaut and/or other dependencies, the set of dependencies should not change ? Or maybe I did not understand ? |
Added a simple test that asserts that things parsed out of settings.xml using XPP match the expectation and line/column coordinates point to the approriate text content. |
you fixed that already, I wrote that comment before pinging you, so its already outdated. |
I'd recommend to add some notes to our release notes file, namely these things from Maven relnotes might affect the ability of NB to parse / work with existing user files (bcs. of existing user plugins):
Low priority, but if the new http transport behaves differently from the old one in subtle details, some network issues may happen.
this seems more important, as the 3rd/4rd party plugins may break bcs. of our upgrade.
may affect existing project local configurations |
@@ -56,8 +56,8 @@ | |||
<!-- we use jarjar to repackage simple json, to avoid clashes with 3rd party maven plugins possibly including it in their dependencies --> | |||
<taskdef name="jarjar" classname="org.pantsbuild.jarjar.JarJarTask" loaderref="lib.path.loader"> | |||
<classpath> | |||
<pathelement location="./external/asm-7.0.jar"/> | |||
<pathelement location="./external/asm-commons-7.0.jar"/> | |||
<pathelement location="./external/asm-9.4.jar"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: asm is provided in platform/libs.asm too, but it seems that since its version is driven by jarjar, it's better to have a separate compile-time external here ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i am not sure actually. I was just thinking that the best approach with asm is likely to use the same version everywhere if possible (its sometimes shaded). It is a library which is known to be safe to update.
my thinking was: step 1, have everything use the same version, step 2 in future, check if we can remove the duplicates where it makes sense (if not we just leave it).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forgot updating: this is called manually from netbeans/java/maven.embedder/build.xml Lines 30 to 33 in 4c90ff3
and also from: Lines 248 to 252 in 4c90ff3
this runs checksums again over the contents of the zip, additional to the checksum over the zip itself. @ebarboni I suppose I have to update this too? |
updated the binariesembedded-list squashed the upgrade commits into one and squashed the test+fix from @sdedic into another commit and moved that commit in front of the upgrade commit because both can be tested independently. planning to merge it as is without further squashing. |
Yes this is needed :D. Was looking at doing a PR for 3.8.8 but see yours for 3.9.1. I wonder if jdom1.0 references is needed ? I do a test removing it and it compiles ok. (maven dependency try still needed) |
something went wrong during squashing and the golden file wasn't reverted to the old state. have to investigate. |
@mbien forget my comment on jdom it's used in maven.osgi for example. But could be later a libs like many others ? |
+ propagate system properties to maven session.
all tests green. double checked that the golden file didn't change. merging. |
highlights.
compiler:3.10.1
plugin by default ->release
compiler option and module info files are now supported out of the boxtested
observations, saw some extra logging during local repo scan, e.g:
about 20 lines total on a 4 GB .m2 folder - so not too bad.