Thanks Tamas for all your work. I'll sure have a look (but not right now as I'm in a train station on a phone). Just to mention a feature I missed yesterday in m-d-p: ability to filter on classifiers including *wildcards*. Because I have dependencies with this kind of classifiers: natives-win, natives-linux, natives-x86, natives-amd64 and so on...
Wildcard are sometimes a feature I miss in many plugins. Thanks again for the work, wildcards or not ! Francois Le mar. 26 mars 2024, 17:58, Tamás Cservenák <ta...@cservenak.net> a écrit : > Just for those brave... if you toy with it. > > The "copy" and "copy-transitive" CLI commands and Mojos have "targetSpec" > parameters, that are parsed into ArtifactSink here: > > https://github.com/maveniverse/toolbox/blob/main/shared/src/main/java/eu/maveniverse/maven/toolbox/shared/internal/ToolboxCommandoImpl.java#L251-L288 > > So, the copy (and copy-transitive) resolve (transitively) and push the > results into an ArtifactSink. > > Sink spec can be: > "foo" -> implied "flat:foo" > "flat:<path>" -> a "flat directory" to copy artifacts to, like "flat:lib" > (is resolved from basedir) > "repository:<path>" -> creates a repo that can be used as "file://" uri or > published via HTTP (is resolved from basedir) > "install:<path>" -> will install them into local repository (session > default in no path specified), ie. good to prep a local repo -- TBD <path> > param > "deploy:id::url" -> will deploy them to Remote Repo > "purge:<path>" -> will purge them from local repository (session default in > no path specified) -- TBD <path> param > > So, following command: > > copy -DdepSpec="any()" -DtargetSpec="purge:" > > actually does the purge from the local repository. Same stands for gav-copy > (and gav-copy-transitively), but they do not use MavenProject to > "contextualize" but need to be told explicitly what to resolve... > > > On Tue, Mar 26, 2024 at 5:34 PM Tamás Cservenák <ta...@cservenak.net> > wrote: > > > Howdy, > > > > Yes, m-dep-p is under maintained, it actually would need a rewrite as it > > still uses MAT (and many other Maven2 archaic stuff) internally. > > Hence, it will fail if used with 3.9+ features like "split repository" > and > > is suboptimal in many areas. > > > > Toolbox 0.1.0 released, btw: > > > > jbang toolbox@maveniverse > > > > or > > > > mvn mvn eu.maveniverse.maven.plugins:toolbox:0.1.0:gav-repl > > > > to enter REPL (same as in MIMA CLI was). > > > > T > > > > On Tue, Mar 26, 2024 at 4:51 PM Greg Chabala <greg.chab...@gmail.com> > > wrote: > > > >> Hello Tamás, > >> > >> For context, what are the tensions that you're trying to solve here? > >> > >> Is m-dependency-p too big/getting unmaintainable/becoming a kitchen > sink? > >> > >> Do some goals feel like a bad fit? > >> > >> Are you thinking of breaking it up or replacing it? > >> > >> Greg > >> > >> On Tue, Mar 26, 2024 at 8:52 AM Tamás Cservenák <ta...@cservenak.net> > >> wrote: > >> > >> > Howdy, > >> > > >> > just to not let this discussion die off. Let me show a take on a "how > >> > modern Maven plugin should look like" (that targets m-dependency-p > >> goals, > >> > sans analyze and some others) could look like: > >> > https://github.com/maveniverse/toolbox > >> > > >> > The "unpack" related goals are missing, not yet done, but there are > >> already > >> > 33 Mojos in there. Most Mojos that are "gav-" prefixed are totally > same > >> as > >> > CLI commands, and they do NOT require Project, are meant to be "ad > hoc" > >> > invoked. > >> > The non-"gav-"-prefixed mojos use MavenProject instead to > >> "contextualize" > >> > themselves (so they work with the Project, and the "plugin-" prefixed > >> ones > >> > with Project defined plugins). > >> > > >> > Note1: not yet released (is not on Central), if you want to test drive > >> it, > >> > build it locally). > >> > Note2: the "toolbox" is Maven Plugin and a CLI at the same time (the > CLI > >> > uber is toolbox-1.0.0-SNAPSHOT-cli.jar) > >> > Note3: some of the missing goals mentioned on this thread are > >> implemented > >> > > >> > Thanks > >> > T > >> > > >> > > >