Hey, I just go this email. I'll make the patch and commit shortly. Thanks for the submission!
There's still some mismatch since we re-built the scala-tools.org server, so the maven-scala-plugin nightlies are not getting published. I'm going to try to resolve that shortly. - Josh On Wed, Jul 22, 2009 at 4:14 PM, Nicholas Tung <gatoatigr...@gmail.com>wrote: > The problem is that my scala plugin project has additional dependencies. > These are added to pluginClassPath, but then you only add the first element > from pluginClassPath (why the first? this seems a bit arbitrary). > > If you wouldn't mind fixing this (in github master), I'd appreciate it very > much. I don't think users would ever want to add deps of the project as > plugins, so perhaps the changes below would work. > > Also, is the latest version on a public site? > > regards, > Nicholas > https://ntung.com > > + protected void addToClasspath(BasicArtifact artifact_info, > + Set<String> classpath, boolean add_deps) throws Exception > + { > + addToClasspath(factory.createArtifact(artifact_info.groupId, > + artifact_info.artifactId, artifact_info.version, > + Artifact.SCOPE_RUNTIME, "jar"), classpath, add_deps); > + } > > + protected void addToClasspath(Artifact artifact, Set<String> > classpath, > + boolean add_deps) throws Exception > + { > resolver.resolve(artifact, remoteRepos, localRepo); > classpath.add(artifact.getFile().getCanonicalPath()); > - for(Artifact dep: resolveArtifactDependencies(artifact)) { > - classpath.add(dep.getFile().getCanonicalPath()); > + if (add_deps) { > + for (Artifact dep : resolveArtifactDependencies(artifact)) { > + classpath.add(dep.getFile().getCanonicalPath()); > + } > } > } > > + /** > + * Retrieves a list of paths to scala compiler plugins. > + * @return The list of plugins > + * @throws Exception > + */ > + private Set<String> getCompilerPlugins() throws Exception { > + Set<String> plugins = new HashSet<String>(); > + if (compilerPlugins != null) { > + Set<String> ignoreClasspath = new HashSet<String>(); > + addToClasspath(SCALA_GROUPID, "scala-compiler", scalaVersion, > + ignoreClasspath); > + addToClasspath(SCALA_GROUPID, SCALA_LIBRARY_ARTIFACTID, > + scalaVersion, ignoreClasspath); > + for (BasicArtifact artifact : compilerPlugins) { > + System.out.println("compiler plugin: " + > artifact.toString()); > + // TODO - Ensure proper scala version for plugins > + Set<String> pluginClassPath = new HashSet<String>(); > + addToClasspath(artifact, pluginClassPath, false); > + pluginClassPath.removeAll(ignoreClasspath); > + plugins.addAll(pluginClassPath); > + } > + } > + return plugins; > + } > > > On Wed, Jul 22, 2009 at 12:43 PM, Nicholas Tung <gatoatigr...@gmail.com>wrote: > >> It looks like you're setting this stuff with javadoc... imho, an attribute >> is a bit more robust. Also, you have >> >> <compilerPlugins> <dependency> >> instead of <compilerPlugins> <compilerPlugin>, but changing it doesn't >> seem to help (it then compiles without any plugin). >> >> If you could point me to other relevant code (I'm looking at >> ScalaMojoSupport.java), that would be much appreciated. >> >> Thanks in advance, >> Nicholas >> https://ntung.com >> >> On Wed, Jul 22, 2009 at 12:12 PM, Nicholas Tung >> <gatoatigr...@gmail.com>wrote: >> >>> Hi Josh, >>> >>> Thanks; the repo is at [1], and I've attached the plugin (though I >>> suspect it has more to do with command line compilation rather than the >>> plugin itself). >>> >>> I might end up overriding the main compiler class (i.e. not >>> scala.tools.nsc.Main), so I could probably hack something from there. >>> >>> I got github master to build... if you could tell me where things >>> are, I'd appreciate it. >>> >>> regards, >>> Nicholas >>> https://ntung.com >>> >>> [1] http://github.com/gatoatigrado/skalch/tree/master >>> >>> >>> On Wed, Jul 22, 2009 at 8:34 AM, Josh Suereth >>> <joshua.suer...@gmail.com>wrote: >>> >>>> Does your scalac plugin depend on any other plugins? If you can point >>>> me towards a repository holding your scalac plugin, I can create an >>>> integration test for this use case. I'm adding it to the list of known >>>> issues. >>>> >>>> - Josh >>>> >>>> >>>> On Wed, Jul 22, 2009 at 2:43 AM, Nicholas Tung >>>> <gatoatigr...@gmail.com>wrote: >>>> >>>>> Hi David and Josh, >>>>> >>>>> I'm having some trouble with the maven scala plugin; it doesn't seem >>>>> to be setting the -Xplugin line correctly when I try to build a project >>>>> [1]. >>>>> The configuration passed to the maven-scala-plugin is [2]. I'm running >>>>> $(mvn >>>>> install -Dmaven.scala.displayCmd=true). >>>>> >>>>> Feel free to look at the pom.xml files if you want [3], but don't >>>>> feel obliged... I haven't done proper Scala / Java separation yet (among >>>>> other things to clean it up). >>>>> >>>>> Thanks so much! >>>>> Nicholas >>>>> https://ntung.com >>>>> >>>>> [1] >>>>> version 2.10 gives >>>>> >>>>> -Xplugin:/home/gatoatigrado/.m2/repository/org/scala-tools/maven-scala-plugin/2.10/maven-scala-plugin-2.10.jar >>>>> >>>>> version 2.11 gives >>>>> -Xplugin:/home/gatoatigrado/.m2/repository/xom/xom/1.1/xom-1.1.jar >>>>> >>>>> the correct version should be >>>>> -Xplugin:/home/gatoatigrado/.m2/repository/edu/berkeley/cs/sketch/skalch-plugin/git-master/skalch-plugin-git-master.jar >>>>> >>>>> >>>>> [2] >>>>> <compilerPlugin> >>>>> <groupId>edu.berkeley.cs.sketch</groupId> >>>>> <artifactId>skalch-plugin</artifactId> >>>>> <version>git-master</version> >>>>> </compilerPlugin> >>>>> >>>>> [3] http://github.com/gatoatigrado/skalch/tree/master >>>>> >>>> >>>> >>> >> >