Yes, you are correct that the internal support for maven was removed. I'm sorry there wasn't really an announcement.
Going forward, I'd like to generate .ensime files externally, as in the sbt project plugin.
Here's a little python script that prints a very basic project to stdout (obviously a proper maven plugin would be preferred):
import subprocess
def runProcess(exe):
p = subprocess.Popen(exe, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
while(True):
retcode = p.poll() #returns None while subprocess is running
line = p.stdout.readline()
yield line
if(retcode is not None):
break
def deps(scope):
def goodLineP(line):
return (line and not line.isspace() and
not line.startswith("[INFO]") and
not line.startswith("Downloading") and
not line.startswith("Downloaded"))
cmd = "mvn dependency:build-classpath -DincludeScope=%s" % scope
output_lines = [line.strip() for line in runProcess(cmd)
if goodLineP(line)]
return output_lines
def quote(obj):
return "\"" + str(obj) + "\""
def mkStringList(lst):
return " ".join([quote(ea) for ea in lst])
projectName = quote("my-app")
compileDeps = mkStringList(deps("") + deps("compile"))
runtimeDeps = mkStringList(deps("runtime"))
testDeps = mkStringList(deps("test"))
print """(
:name %s
:compile-deps (%s)
:runtime-deps (%s)
:test-deps (%s)
)
""" % (projectName, compileDeps, runtimeDeps, testDeps)