Skip to content

Commit

Permalink
upgrade internal tooling API to use Gradle 2.3 for #11, upgrade Gradl…
Browse files Browse the repository at this point in the history
…e Wrapper to 2.3, add note about #10
  • Loading branch information
rholder committed Apr 27, 2015
1 parent e5ec4af commit 9bccd39
Show file tree
Hide file tree
Showing 8 changed files with 45 additions and 42 deletions.
7 changes: 4 additions & 3 deletions META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,18 @@
<p><b>Features</b></p>
<ul>
<li>Built on the Gradle Tooling API 1.12, but should work on most 1.x and 2.x versions</li>
<li>Built on the Gradle Tooling API 2.3, but should work on most 1.x and 2.x versions</li>
<li>Visual highlighting to indicate dependencies in use and replacement versions</li>
<li>Lexicographically sorted listing for all Gradle configurations</li>
<li>Load any project's Gradle dependencies, not just the one currently open inside IntelliJ</li>
<li>Toggle the showing of replaced dependencies</li>
</ul>
]]></description>
<version>2.0.3</version>
<version>2.1.0</version>
<change-notes><![CDATA[
<p>2.0.3 - 2015-XX-XX
<p>2.1.0 - 2015-XX-XX
<ul>
<li>Upgrade internal tooling API to use Gradle 2.3 <a href="https://github.com/rholder/gradle-view/issues/11">#11</a></li>
<li>Removed painful light red on blue background selection color <a href="https://github.com/rholder/gradle-view/issues/6">#6</a></li>
</ul>
</p>
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sourceCompatibility = 1.6
targetCompatibility = 1.6

group = 'com.github.rholder'
version = '2.0.2'
version = '2.1.0-SNAPSHOT'

buildscript {
repositories {
Expand Down Expand Up @@ -41,7 +41,7 @@ jar {
}
into('') {
// well this is wonky...
from 'gradle-acumen/build/libs/gradle-acumen-0.1.0.jar'
from 'gradle-acumen/build/libs/gradle-acumen-0.2.0.jar'
}
}

Expand Down
2 changes: 1 addition & 1 deletion gradle-acumen-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'maven-publish'
apply plugin: 'idea'

group = 'com.github.rholder'
version = '0.1.0'
version = '0.2.0'

dependencies {
compile localGroovy()
Expand Down
2 changes: 1 addition & 1 deletion gradle-acumen/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'maven-publish'
apply plugin: 'idea'

group = 'com.github.rholder'
version = '0.1.0'
version = '0.2.0'

configurations {
bundled
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,40 @@ class GradleAcumenPlugin implements Plugin<Project> {
registry.register(new AcumenToolingModelBuilder())
}

// note: if this method is inside the private AcumenToolingModelBuilder below, it causes issues with Groovy
static DefaultGradleTreeNode resolveDependency(DefaultGradleTreeNode parentNode, DependencyResult result, Set<DefaultGradleTreeNode> existingDeps) {
DefaultGradleTreeNode node = new DefaultGradleTreeNode()
if (result instanceof ResolvedDependencyResult) {
ResolvedDependencyResult r = result
node.parent = parentNode
node.group = r.selected.moduleVersion.group
node.id = r.selected.moduleVersion.name
node.version = r.selected.moduleVersion.version
node.reason = r.selected.selectionReason.description

if(r.requested instanceof ModuleComponentSelector) {
node.requestedVersion = ((ModuleComponentSelector)r.requested).version
}

node.nodeType = "dependency"

if (existingDeps.add(node)) {
// only process children if we haven't seen this dep before
r.selected.dependencies.each { DependencyResult subDep ->
DefaultGradleTreeNode childNode = resolveDependency(node, subDep, existingDeps)
node.children.add(childNode)
}
} else {
node.seenBefore = true
}
} else {
// TODO this is where a fix for #10 will start, consider setting node.wasResolved = false or some such
node.name = "Could not resolve $result.requested.displayName"
}

return node
}

private static class AcumenToolingModelBuilder implements ToolingModelBuilder {

static DefaultGradleTreeNode generateProjectTree(Project project) {
Expand Down Expand Up @@ -59,38 +93,6 @@ class GradleAcumenPlugin implements Plugin<Project> {
return rootNode
}

static DefaultGradleTreeNode resolveDependency(DefaultGradleTreeNode parentNode, DependencyResult result, Set<DefaultGradleTreeNode> existingDeps) {
DefaultGradleTreeNode node = new DefaultGradleTreeNode()
if (result instanceof ResolvedDependencyResult) {
ResolvedDependencyResult r = result
node.parent = parentNode
node.group = r.selected.moduleVersion.group
node.id = r.selected.moduleVersion.name
node.version = r.selected.moduleVersion.version
node.reason = r.selected.selectionReason.description

if(r.requested instanceof ModuleComponentSelector) {
node.requestedVersion = ((ModuleComponentSelector)r.requested).version
}

node.nodeType = "dependency"

if (existingDeps.add(node)) {
// only process children if we haven't seen this dep before
r.selected.dependencies.each { DependencyResult subDep ->
DefaultGradleTreeNode childNode = resolveDependency(node, subDep, existingDeps)
node.children.add(childNode)
}
} else {
node.seenBefore = true
}
} else {
node.name = "Could not resolve " + result.requested.displayName
}

return node
}

public boolean canBuild(String modelName) {
modelName.equals(AcumenTreeModel.class.getName())
}
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Sun May 25 18:44:54 CDT 2014
#Sun Apr 26 18:29:59 CDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public void statusChanged(ProgressEvent event) {
if (devGradleAcumen == null) {
extractedJarFile = File.createTempFile("gradle-acumen", ".jar");
extractedJarFile.deleteOnExit();
dumpFromClasspath("/gradle-acumen-0.1.0.jar", extractedJarFile);
dumpFromClasspath("/gradle-acumen-0.2.0.jar", extractedJarFile);
} else {
extractedJarFile = new File(devGradleAcumen);
}
Expand Down

0 comments on commit 9bccd39

Please sign in to comment.