Re: what javac is actually used?

2023-12-05 Thread Tommy Svensson
are other tools that supports a release process, can't come up with any names right now though. /Tommy Från: Dave Dyer Svara: Maven Users List Datum: 4 december 2023 at 20:20:58 Till: Maven Users List , Maven Users List Ämne:  Re: what javac is actually used? I think I've peele

Re: what javac is actually used?

2023-12-04 Thread Dave Dyer
I think I've peeled the next layer of the onion. The maven build I'm using doesn't call javac as part of the build process; Instead it uses the classes already produced by Eclipse, which supports debugging and development. These classes are not optimized at all, and in particular each class is

Re: what javac is actually used?

2023-12-04 Thread Tamás Cservenák
Howdy, Did you figure out the effective configuration of m-compiler-p? Or, do you maybe use the takari lifecycle? As it use Eclipse JDT by default and totally disables/circumvents m-compiler-p... Thanks T On Mon, Dec 4, 2023 at 9:09 AM Dave Dyer wrote: > Thanks, I'll follow up by trying to ext

Re: what javac is actually used?

2023-12-04 Thread Dave Dyer
Thanks, I'll follow up by trying to extract detailed info about what maven is actually doing. Its not my build script; I'm just trying to figure out why the "better" Maven build is producing worse results than the Ant build it is supposed to replace. At 11:52 PM 12/3/2023, Bernd Eckenfels wrote:

Re: what javac is actually used?

2023-12-03 Thread Bernd Eckenfels
Hallo, Dave Dyer wrote on 4. Dec 2023 08:27 (GMT +01:00): > It seems odd to me for maven to have its own javac, It does not, when you use the compiler plugin in the default config it uses the Java compiler from the JDK you started maven with. It just uses the Tool API instead of the cli, but

Re: what javac is actually used?

2023-12-03 Thread Dave Dyer
I can supply sources and class files. The differences in product are far from trivial. Real javac produces explicit subclasses where mavin does not. It seems odd to me for maven to have its own javac, but For starters I'd like to convince maven to use one of mine. At 06:57 PM 12/3/2023, Alexa

Re: what javac is actually used?

2023-12-03 Thread Thomas Broyer
Afaict, running with debug logs (mvn -X) will print the arguments passed to the compiler, such that they can be passed to javac with Maven pushed out if the equation. They can then be inspected and tweaked, and then maven-compiler-plugin configuration (hopefully) adjusted to what's expected. Le lu

Re: what javac is actually used?

2023-12-03 Thread Alexander Kriegisch
Interesting problem. I think, it would make sense to get a minimal reproducer project showcasing the differences in the generated byte code. Probably there is some way for javax.tools.JavaCompiler to create identical byte code by setting the right combination of options. If something is missing in

Re: what javac is actually used?

2023-12-03 Thread Olivier Lamy
Hi, If by javac you mean the cli, per default m-compiler-p is not using exactly this but in the process javax.tools.JavaCompiler. If you want to really use javac (and so forking the compilation) you must configure it via the fork option (https://maven.apache.org/plugins/maven-compiler-plugin/compil

Re: what javac is actually used?

2023-12-03 Thread Tamás Cservenák
Howdy, Simplest would be that in module where you found afore mentioned differences ask for effective pom: $ mvn help:effective-pom Maybe pipe it to a file as it may be huge. Then look for project/build/plugins/maven-compiler-plugin (quasi xpath). T On Sun, Dec 3, 2023, 22:08 Dave Dyer wrote:

Re: what javac is actually used?

2023-12-03 Thread Dave Dyer
> >Maven, by default uses maven-compiler-plugin, but that plugin itself is >pluggable (can use javac, which is default, but also eclipse compiler, etc). >The plugin by default uses javac. The build I'm using seems to not be using javac - where is guidance to configuring it? ---

Re: what javac is actually used?

2023-12-03 Thread Dave Dyer
> >Inferior bytecode means what in this case? It's a little outside my comfort zone, but it appears that some virtual methods are inlined by most java compilers, but are real funcion calls as produced by maven. There may be more but that was the smoking gun. It's not a bleeding edge javac fea

Re: what javac is actually used?

2023-12-03 Thread Tamás Cservenák
Howdy, Maven, by default uses maven-compiler-plugin, but that plugin itself is pluggable (can use javac, which is default, but also eclipse compiler, etc). The plugin by default uses javac. But, for example maven compiler plugin _by default_ enables debug: https://maven.apache.org/plugins/maven-c

what javac is actually used?

2023-12-03 Thread Dave Dyer
The problem I'm investigating is that the code produced by a maven build is different, and inferior, to the code produced but any javac I can find. My questions are, what java compiler is it actually using, and of course, how can I change it? The best info I have is that it's using plexus-compi