<div dir="ltr">So I would recommend using the simplified form when possible, but using the expanded form when extended artifact configuration is required.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 12:33 PM, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Please see the gradle DependencyHandler docs for reference. I believe it explains how to resolve this :)<div>
<br></div><div><a href="http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html" target="_blank">http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html</a><br>
</div><div><br></div><div>This states that the mechanism for declaring dependencies follows the form below:</div><div><br></div><div><div style="margin:0px;padding:0px;border:0px;font-family:Lato,Arial,serif;font-size:14px;line-height:21px;vertical-align:baseline;color:rgb(51,51,51)">
<pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0.8em;border:0px;font-family:'Ubuntu Mono',courier,monospace;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:1.3;vertical-align:baseline;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;background-color:rgb(63,63,63);color:white">
apply plugin: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'java'</span> <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(175,175,175)">//so that I can declare 'compile' dependencies</span>
dependencies {
<span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(175,175,175)">//configuring dependency to specific configuration of the module</span>
compile configuration: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'someConf'</span>, group: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'org.someOrg'</span>, name: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'someModule'</span>, version: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'1.0'</span>
<span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(175,175,175)">//configuring dependency on 'someLib' module</span>
compile(group: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'org.myorg'</span>, name: <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'someLib'</span>, version:<span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'1.0'</span>) {
<span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(175,175,175)">//explicitly adding the dependency artifact:</span>
artifact {
name = <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'someArtifact'</span> <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(175,175,175)">//artifact name different than module name</span>
type = <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'jar'</span>
classifier = <span style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline;color:rgb(131,194,131)">'someClassifier'</span>
}
}
}</pre><div><br></div></div><div style="margin:0px;padding:0px;border:0px;font-family:Lato,Arial,serif;font-size:14px;line-height:21px;vertical-align:baseline;color:rgb(51,51,51)"><div style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline">
<div style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline"><div style="margin:0px;padding:0px;border:0px;font-family:inherit;font-size:inherit;font-style:inherit;font-variant:inherit;line-height:inherit;vertical-align:baseline">
<h3 style="margin:22px 0px 14px;padding:0px;border:0px;font-family:inherit;font-size:1.5em;font-style:inherit;font-variant:inherit;font-weight:normal;line-height:1;vertical-align:baseline;color:rgb(0,112,66)"></h3>
</div></div></div></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 12:30 PM, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Rather, it omits the packaging type:<div>
<p> .<span>setPackaging</span>(forgeDep.getCoordinate().getPackaging())</p></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 12:29 PM, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The reason the dependency resolution fails is because the Gradle addon is omitting the dependency type from the coordinates, here. It is trying to resolve a JAR but only a POM exists.<div>
<br></div><div>
<p><br></p>
<p> <span>private</span> GradleDependencyBuilder forgeDepToGradleDepBuilder(Dependency forgeDep)</p>
<p> {</p>
<p> <span>return</span> GradleDependencyBuilder.create()</p>
<p> .setConfiguration(GradleDependencyConfiguration</p>
<p> .fromMavenScope(forgeDep.getScopeType()).getName())</p>
<p> .setGroup(forgeDep.getCoordinate().getGroupId())</p>
<p> .setName(forgeDep.getCoordinate().getArtifactId())</p>
<p> .setVersion(forgeDep.getCoordinate().getVersion());</p>
<p> }</p></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 12:13 PM, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Adam,<div><br></div><div>Seems like things have been a bit quiet, but I've been reviewing the Forge Gradle Addon, and it's looking good! I've reproduced the dependency resolution issue you ran in to, but I'm not exactly sure where the error lies. Looking in to it.</div>
<div><br></div><div>You asked what to work on next. And I think that if you have finished all of the core/required functionality, it might be interesting to add a Forge UICommand/UIWizard to set up this eclipse config: </div>
<div><br></div><div><a href="http://www.gradle.org/docs/current/userguide/eclipse_plugin.html" target="_blank">http://www.gradle.org/docs/current/userguide/eclipse_plugin.html</a></div><div><br></div><div>That should make it easier for people to import Gradle projects into eclipse. Do you think this has value?</div>
<div><br></div><div>Alternatively, have you tested the scenario where a user attempts to use an existing Gradle project with Forge? It does not appear that this is tested yet, so that might be useful to explore. I believe this may raise a few new issues like, "Should we modify the user's gradle.build script in order to support Forge operations?" and "How should we ask them?"</div>
<div><br></div><div>It's possible that you could simply create a temporary build descriptor with the required forge library, execute that, then delete it. Or perhaps a new command in Forge to "Make a gradle project editable by forge."</div>
<div><br></div><div>Thoughts?</div><span><font color="#888888"><div><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."
</div>