Open rahulmutt opened 7 years ago
Is there any more information on the Maven plugin? Is the idea that the Eta compiler will be bundled in the plugin, making Eta "just another JVM language" that can be used in any Maven project? Because that would be a great thing; it seems it would greatly reduce the barrier to entry if developers could build an Eta project without separately downloading the Etlas binary.
Yes, that will be the idea. I'm not sure if you've checked out the Gradle plugin yet, but that's exactly how it works. The configuration lets you specify the version of Etlas & Eta you want to use and the plugin will know how to download the appropriate binaries for your platform with no other setup required from your side.
We plan to do something similar for Maven, and allowing you to only touch the pom.xml
to configure your Eta dependencies, etc. without worry about the custom .cabal
file syntax.
In the future, etlas
will merely be a backend tool for other build tools like Maven, Gradle, SBT, etc. because it doesn't make sense to re-implement all the functionality of the existing plugin ecosystems. Once etlas
can be compiled completely with Eta itself, it'll be included as a direct dependency to all the Eta plugins and avoid the overhead of a process invocation.
That's great. Still +1 for Maven support, but I'm glad to learn of the Gradle plugin.
What is the current state of the Maven Plugin?
Btw. I for one no longer need a Maven plugin, although I am hopeful that the Gradle plugin will become a little more automated w.r.t. reading dependencies from *.cabal
.
@politrons Ever since we released the Gradle plugin, the number of people requesting the Maven plugin has sharply decreased so we haven't had the motivation to work on it. Do you have a particular use case or situation you can explain in which you can't use Gradle?
Well my company does not use and allow Gradle or SBT for now 😆
Enviado desde mi iPhone
El 13 nov 2018, a las 21:54, Rahul Muttineni notifications@github.com escribió:
@politrons Ever since we released the Gradle plugin, the number of people requesting the Maven plugin has sharply decreased so we haven't had the motivation to work on it. Do you have a particular use case or situation you can explain in which you can't use Gradle?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
That's a valid reason :) Unfortunately, we don't have the bandwidth to work on it right now.
If you are willing to start work on the Maven plugin, happy to assist in whatever way I can. I have tried as a weekend project to get a Maven plugin working 2-3 times now so I do have a basic idea of how to make Maven plugins, but haven't had to time to work out all the details.
If I found some time to help you out I will let you know.
Enviado desde mi iPhone
El 13 nov 2018, a las 22:08, Rahul Muttineni notifications@github.com escribió:
That's a valid reason :) Unfortunately, we don't have the bandwidth to work on it right now.
If you are willing to start work on the Maven plugin, happy to assist in whatever way I can. I have tried as a weekend project to get a Maven plugin working 2-3 times now so I do have a basic idea of how to make Maven plugins, but haven't had to time to work out all the details.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@rahulmutt,
I have tried as a weekend project to get a Maven plugin working 2-3 times now so I do have a basic idea of how to make Maven plugins, but haven't had to time to work out all the details.
Can you sum up the main take-aways?
What would be the overall logical structure of such a plugin?
I could take a look and help out as well ( seems I have a penchant/habit of writing maven language plugins - clojure, coffeescript, frege ).
I guess a majority of the plugin would reuse/share code from the Gradle plugin - so I'd assume we could a) depend on a prebuilt jar of eta from maven central/elsewhere ( for the clojure-maven-plugin I left that up to the consumer to provide that <dependency>
block.
This issue is there so that people can subscribe to it and get updates on the progress of the Maven plugin. If Maven support is a huge blocker for you from using Eta, please like this thread and with enough likes we'll add this issue at the milestones.