It's used in several locations.   Anyway, your fix is committed on the
master.  I'm working on adding support for transitive dependencies now.

- Josh

On Wed, Jul 22, 2009 at 10:49 PM, Nicholas Tung <gatoatigr...@gmail.com>wrote:

> On Wed, Jul 22, 2009 at 7:00 PM, Josh Suereth <joshua.suer...@gmail.com>wrote:
>
>> 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
>
>
> Thanks very much! Please adjust the code style as you see fit. I'm not sure
> whether it's worth reusing the addToClasspath() call, if it's just creating
> a Set<String> and adding a single element to it.
>
> regards,
> Nicholas
>
>
>>
>>
>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to