-
Notifications
You must be signed in to change notification settings - Fork 39
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
[MINSTALL-175] Drop MAT #31
Conversation
-0 |
Let's imagine that we change package to o.a.m for resolver. It's like change like jakarta from javax. How this will look like? If we just change it, all old plugins will be broken. If we use our shared component - yes we can use reflections and our plugins may work. But what about everything else from community? +1 here to PR - this simplify code and remove access to API via reflections and maybe let's start discussion how to rename package on mailing list. This will tak years |
So I really don't understand your stance: MAT is needed to bridge between sonatype/eclipse package, but as prerequisite for plugin is raised to Maven 3.2.5, there is NO sonatype package in play anymore, hence, no need for MAT and it's non-trivial transitive dependencies (it pulls in bothj sonatype and eclipse resolver, plexus container default etc). Where are we about to change to, is WIP currently, the new Maven 4 API, but obviously, it does not exists yet in Maven 3.2.5+ 😕 |
Correct I definitely like your comparison here The problem here is to have to switch to a package we know it will be removed because it's Imagine if someone told you: we will remove javax. to javax.foo and in the middle for a bit of time there will be jakarta. sounds like a waste of time?
maybe why not for our plugins (but still 0 as we know this package will be removed) Why not removing all of this old stuff from m-artifact-transfer so downstream consumers will not pull old dependencies.
no we have a big opportunity with maven 4.x |
almost 2 years later maybe it's now finally a good move to do.... |
@cstamas idea was to save us time and with few lines of code - drop m-a-t-p |
<javaVersion>7</javaVersion> | ||
<mavenVersion>3.2.5</mavenVersion> | ||
<aetherVersion>1.0.0.v20140518</aetherVersion> <!-- Maven bound --> |
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 effectively a downgrade? From 1.1.0 to 1.0.0.v20140518?
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.
Yes, because it aligns with the Aether version from Maven 3.2.5.
{ | ||
File file = artifact.getFile(); | ||
|
||
// Here, we have a temporary solution to MINSTALL-3 (isDirectory() is true if it went through compile |
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 looks odd. We build against Maven 3.2.5 (see pom.xml) but this comment suggests a "proper solution" will be in place with Maven 2.1?
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 lifted the relevant MAT code here, so this PR does not change "logic", it merely moves it into this plugin (that was before in MAT). So, just like in #15 "minimal change" is in place, that will subsequent PRs refine.
buildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, localRepositoryPath ); | ||
|
||
getLog().debug( "localRepoPath: " + repositoryManager.getLocalRepositoryBasedir( buildingRequest ) ); | ||
// "clone" session and replace localRepository |
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.
// "clone" session and replace localRepository | |
// "clone" Maven session and replace localRepository |
@@ -71,6 +73,7 @@ | |||
public class InstallFileMojo | |||
extends AbstractInstallMojo | |||
{ | |||
private static final String LINE_SEP = System.getProperty( "line.separator" ); |
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.
LS = System.lineSeparator()
As an Apache project we do not own the package
And even drop this module from our source code if we don't want to keep supporting it. |
Stop spreading FUD man, you personally voted +1 on threads "[VOTE] Accept the Aether code into the Maven project" and also on "[IP CLEARANCE] Aether, renamed to Maven Artifact Resolver" on private ML (unsure could I link these as archives for private ML are not public). Hence, due those two before, I bet you got mails from thread "Trademark requests from Apache Maven regarding Aether" as well, also on private ML (same ML as those two before). In short, "distributing org.eclipse.aether" packages IS NOT WRONG, The Eclipse Foundation granted us usage of that namespace. |
-0 I'm quite hesitant on that one. I don't really see the benefit of dropping MAT now if the goal is to switch to the new API provided by apache/maven#703. If we keep this goal, I don't really see the point of switching to a get rid of MAT to switch to something else in a couple of weeks/months. |
what I see is that we should enhance MAT index page https://maven.apache.org/shared/maven-artifact-transfer/ to explain the other objective = have a single API mapped over different implementations varying from Maven version to Maven version |
another aspect I'd like to make explicit: where is MAT used beyond m-install/deploy-p? |
I think MAT would be de-facto deprecated whenever the new API is integrated. |
My problem with MAT and reason why I want to get rid of it ASAP is that it's unfinished (and as @gnodet says "does a bit more than install.deploy"). But is unfinished. I just want to cut it in root before it becomes "competing" with new API in any way, to prevent that someone start submitting PRs to "improve" or "finish" MAT. I just want to prevent any resource waste (human resource) by spending any amount of work on MAT, and focus on new Maven API. |
|
Here's the full list or projects using MAT:
|
I do not see really FUD and I'm prefectly aware of this acceptation of this temporary package naming. My point has nothing to do with the history on accepting some code. Please do not make confusion with my concern. We created and agreed on m-artifact-transfer to hide all the previous package changes and the future changes. |
Am glad you finally woke up after 7 years, but this is still wrong: please point me at any email from Eclipse Foundation where they state we got temporary [org.eclipse.aether] package namespace grant only. We need to get rid of old, over-engineered, over-abstracted, half-assed and semi finished projects, to be able to move forward. They are all just burden, many of them are not touched for 10ish years, many are still maven2 stuff (!) and are totally neglected. I'd be really grateful if you'd lend a hand on this "spring cleaning" work instead. |
not sure why you are mentioning this but this is not my point about a permanent or temporary grant.
I'm happy to get rid of this once we have finalised the package change or the maven 4.x api. |
Superseded by #32 |
Now that Maven is 3.2.5, no need for MAT anymore.
https://issues.apache.org/jira/browse/MINSTALL-175