Skip to content

vladvelici/fomad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fomad

Fast cOmpile and MAven Dependency management

A small Makefile for those who hate Maven and don't want to deal with it.

This is a hack. Normally you would simply write in Go. >:)

init a project

From your project root:

curl https://raw.githubusercontent.com/vladvelici/fomad/master/init.sh | sh

Why?

Maven is slow. Compilation of small things just takes forever (5s) compared to less than a second. But maven is good at one thing: dependency management. As longs as you depend on some libraries that depend on some other libraries which also have some dependencies, downloading the jars manually is painful. Lots of Java libraries out there give copy-and-paste Maven pom.xml dependency snippets.

Note: fomad comes from a vim user. Might not be IDE friendly.

Solution

A Makefile, a cached classpath and a script to run your software.

You don't need the Maven source code structure anymore. Just a folder where you want your .class files and a folder where you put your sources. Defaults are:

src/        - source files
bin/        - .class files
pom.xml     - Maven pom file - for dependencies only.
Makefile    - The makefile provided in this repository
.gitignore

# Autogenerated files:
r           - script generated by Makefile to help you run your Java programs
.classpath  - file that holds the maven-generated classpath
.sources    - java sources index for javac

Using ./r (the run script)

./r is a simple script genearted by the Makefile to help you run your Java applications without mvn exec:java ....

./r Hello arg1 arg2

Is the equivalent of

java -cp <some-long-classpath-generated-by-maven> Hello arg1 arg2

About

Fast cOmpile and MAven Dependency management

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages