Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven for other languages? [closed]

Tags:

I am relatively new to the world of Java and Maven, but I couldn't imagine starting a new Java project without using Maven.

The idea of providing a human-readable project model is something that I would imagine is universally desirable across many languages. This is especially true when your application relies upon numerous external libraries.

Are there any other project management or build tools for languages other than Java that are similar in nature to Maven; that is, that provide a mechanism for the project maintainer to specify dependencies and build order?

like image 640
Thomas Upton Avatar asked Jul 23 '09 00:07

Thomas Upton


People also ask

Can Maven be used for other languages?

Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.

Which languages use Maven?

What about [insert language here]? As of the current release, Maven supports pure Java and Beanshell. Java is the preferred language for it's familiarity and speed.

Does Maven work only with Java?

Maven is written in Java and is used to build projects written in C#, Scala, Ruby, etc.

Does Maven allow third party plugins?

However, as previously mentioned, the user may have a need for third-party plugins. Since the Maven project is assumed to have control over the default plugin groupId, this means configuring Maven to search other groupId locations for plugin-prefix mappings. As it turns out, this is simple.


3 Answers

Here's some I know of. As to whether they are the most appropriate tool for a given language, form your own opinion.

  • .Net: NMaven and dotnet-maven-plugin
  • AspectJ: aspectj-maven-plugin (still Java I know but worth mentioning)
  • c/c++: native-maven-plugin compile with compilers such as gcc, msvc, etc ...
  • Google Web Toolkit gwt-maven-plugin
  • PHP: Maven for PHP
  • Ruby: Ruby on Maven
  • Scala: maven-scala-plugin
  • Flex and Air: Flexmojos

Arbitrary "integrations" can be handled by using the exec-maven-plugin to invoke the relevant compiler and binding the execution to the compile phase.

There are also Maven-like products such as Byldan for .Net


Updated with Flex Mojos and dotnet-maven-plugin at Pascal's suggestion.

like image 53
Rich Seller Avatar answered Oct 21 '22 16:10

Rich Seller


Python setuptools works in a similar way to Maven in so far as specifying project dependencies. If the dependencies specified are available as eggs, tars or zip files then they can be automatically pulled in at installation or runtime.

like image 27
Martin Avatar answered Oct 21 '22 16:10

Martin


You don't really need fancy plugins to manage just about anything that can be executed from command line. As an example I have put Maven builds around poorly managed .NET projects using technics described in this tutorial. Basically - plugins such as exec, antrun, assembly and dependency can be used together as I mentioned - to do practically everything you need. Of course there are specialized, targeted plugins but I found out that these are hard to use with existing legacy stuff

like image 35
Bostone Avatar answered Oct 21 '22 18:10

Bostone