intellij idea - wrong path to dependencies if opened from symbolic link

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

intellij idea - wrong path to dependencies if opened from symbolic link

Tomek Kaczanowski-3
Hello All,

not sure if it is gradle idea plugin problem or Intellij problem.

I've noticed a strange behaviour of Intellij when importing gradle project.
I execute "gradle idea" and then
A) open project in intellij using full path (/home/tomek/docs/myproject)
  - everything works fine
B) open project in intellij using symbolic link
(/home/tomek/myproject) (myproject links to docs/myproject)
  - the dependencies path is broken, instead of
/home/tomek/.gradle/cache/etc
it is
/home/.gradle/cache/etc

Is it because the path in mymodule.iml file looks like this?:
<library>
        <CLASSES>
          <root
url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/jars/testng-5.13.1.jar!/"
/>
        </CLASSES>
        <JAVADOC />
        <SOURCES>
          <root
url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/sources/testng-5.13.1-sources.jar!/"
/>
        </SOURCES>
      </library>
And probably when opened from symbolic link the number of "../" is too many.

Is it intellij idea bug or gradle plugin bug?

--
Regards / Pozdrawiam
Tomek Kaczanowski

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: intellij idea - wrong path to dependencies if opened from symbolic link

David Rosell
I had to do some modifications on the generated projectfiles to get intellij to use the same suff as gradle, you can do this by hand, but it's easier to have it generated :)

apply plugin: 'org.gradle.idea'

ideaProject {
  javaVersion = '1.6'

  withXml { root ->
    root.component.find { it.@name == 'ProjectRootManager' }.@languageLevel = 'JDK_1_6'
    root.component.find { it.@name == 'ProjectRootManager' }.@'project-jdk-name' = '1.6'
    root.component.find { it.@name == 'VcsDirectoryMappings' }.mapping.@vcs = 'Git'
  }
}


ideaModule {
  withXml { root ->
    configurations.scalaTools.files.each {file ->
      if (file.name.startsWith('scala-compiler')) compiler = "${file.canonicalPath}"
      if (file.name.startsWith('scala-library')) library = "${file.canonicalPath}"
    }

    configuration = root.appendNode('component', ['name': 'FacetManager']).appendNode('facet', ['type': 'Scala', 'name': 'Scala']).appendNode('configuration')
    configuration.appendNode('option', ['name': 'takeFromSettings', 'value': 'true'])
    configuration.appendNode('option', ['name': 'myScalaCompilerJarPaths']).appendNode('array').appendNode('option', ['value': compiler])

    configuration.appendNode('option', ['name': 'myScalaSdkJarPaths']).appendNode('array').appendNode('option', ['value': library])
  }
}

/David R.

2010/9/8 Tomek Kaczanowski <[hidden email]>
Hello All,

not sure if it is gradle idea plugin problem or Intellij problem.

I've noticed a strange behaviour of Intellij when importing gradle project.
I execute "gradle idea" and then
A) open project in intellij using full path (/home/tomek/docs/myproject)
 - everything works fine
B) open project in intellij using symbolic link
(/home/tomek/myproject) (myproject links to docs/myproject)
 - the dependencies path is broken, instead of
/home/tomek/.gradle/cache/etc
it is
/home/.gradle/cache/etc

Is it because the path in mymodule.iml file looks like this?:
<library>
       <CLASSES>
         <root
url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/jars/testng-5.13.1.jar!/"
/>
       </CLASSES>
       <JAVADOC />
       <SOURCES>
         <root
url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/sources/testng-5.13.1-sources.jar!/"
/>
       </SOURCES>
     </library>
And probably when opened from symbolic link the number of "../" is too many.

Is it intellij idea bug or gradle plugin bug?

--
Regards / Pozdrawiam
Tomek Kaczanowski

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email



Reply | Threaded
Open this post in threaded view
|

Re: intellij idea - wrong path to dependencies if opened from symbolic link

Tomek Kaczanowski-3
David,

thanks, but I don't know how this relates to the issue I described. My
project works fine unless I try to open it from symbolic link, that is
all.

--
Regards / Pozdrawiam
Tomek Kaczanowski


2010/9/9 David Rosell <[hidden email]>:

> I had to do some modifications on the generated projectfiles to get intellij
> to use the same suff as gradle, you can do this by hand, but it's easier to
> have it generated :)
> apply plugin: 'org.gradle.idea'
> ideaProject {
>   javaVersion = '1.6'
>   withXml { root ->
>     root.component.find { it.@name == 'ProjectRootManager' }.@languageLevel
> = 'JDK_1_6'
>     root.component.find { it.@name == 'ProjectRootManager'
> }.@'project-jdk-name' = '1.6'
>     root.component.find { it.@name == 'VcsDirectoryMappings' }.mapping.@vcs
> = 'Git'
>   }
> }
>
> ideaModule {
>   withXml { root ->
>     configurations.scalaTools.files.each {file ->
>       if (file.name.startsWith('scala-compiler')) compiler =
> "${file.canonicalPath}"
>       if (file.name.startsWith('scala-library')) library =
> "${file.canonicalPath}"
>     }
>     configuration = root.appendNode('component', ['name':
> 'FacetManager']).appendNode('facet', ['type': 'Scala', 'name':
> 'Scala']).appendNode('configuration')
>     configuration.appendNode('option', ['name': 'takeFromSettings', 'value':
> 'true'])
>     configuration.appendNode('option', ['name':
> 'myScalaCompilerJarPaths']).appendNode('array').appendNode('option',
> ['value': compiler])
>     configuration.appendNode('option', ['name':
> 'myScalaSdkJarPaths']).appendNode('array').appendNode('option', ['value':
> library])
>   }
> }
> /David R.
> 2010/9/8 Tomek Kaczanowski <[hidden email]>
>>
>> Hello All,
>>
>> not sure if it is gradle idea plugin problem or Intellij problem.
>>
>> I've noticed a strange behaviour of Intellij when importing gradle
>> project.
>> I execute "gradle idea" and then
>> A) open project in intellij using full path (/home/tomek/docs/myproject)
>>  - everything works fine
>> B) open project in intellij using symbolic link
>> (/home/tomek/myproject) (myproject links to docs/myproject)
>>  - the dependencies path is broken, instead of
>> /home/tomek/.gradle/cache/etc
>> it is
>> /home/.gradle/cache/etc
>>
>> Is it because the path in mymodule.iml file looks like this?:
>> <library>
>>        <CLASSES>
>>          <root
>>
>> url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/jars/testng-5.13.1.jar!/"
>> />
>>        </CLASSES>
>>        <JAVADOC />
>>        <SOURCES>
>>          <root
>>
>> url="jar://$MODULE_DIR$/../../../.gradle/cache/org.testng/testng/sources/testng-5.13.1-sources.jar!/"
>> />
>>        </SOURCES>
>>      </library>
>> And probably when opened from symbolic link the number of "../" is too
>> many.
>>
>> Is it intellij idea bug or gradle plugin bug?
>>
>> --
>> Regards / Pozdrawiam
>> Tomek Kaczanowski
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email