Debuggen Sie Gradle-Plugins mit IntelliJ
Ich möchte den interaktiven Debugger mit IntelliJ verwenden. Leider kann ich IntelliJ nicht überzeugen, das Plugin zu laden und zu kompilieren. Jedoch, ich kanngradle clean build
und das Plugin erstellt und führt seine Tests wie erwartet aus.
Insbesondere versuche ich, lokale Änderungen an zu debuggengradle-js-plugin und IntelliJ sagt, es kann nicht findencom.google.javascript.jscomp.CompilerOptions
ebenso gut wiespock.lang.Specification
. (Ich denke, es ist vielleicht etwas über die Art und Weise, wie sie geladen werden, aber das ist eine Vermutung.)
HINWEIS: Ich habe keine Prozesse zwischen den Schritten zurückgesetzt.
0. Meine erste Vermutungmir ist aufgefallenein howto aufdocs.codehaus.org. IntelliJ konnte nicht findenorg.gradle.launcher.GradleMain
, also habe ich es angepasst, um zu verwendenGradleLauncher
mit den folgenden:
import org.gradle.GradleLauncher
class GradleScriptRunner {
public static void main(String[] args) {
GradleLauncher.newInstance(
"-p",
"/path/to/gradle-js-plugin/src/test/resources/build.gradle",
"clean assemble"
)
}
}
ProGradleLauncher Dokumentation.
Ergebnis: IntelliJ kompiliert das Projekt nicht.
1. PerAntwort von Peter Niederwieser Repariere das Ideenprojekt und debugge es über das PluginSchritte~# cd /path/to/gradle-js-plugin && gradle cleanIdea idea
Öffnete das neu erstellte Projekt und versuchte ab Schritt 0 mit dem ScriptRunner zu debuggen.Ergebnis: Projekt kompiliert (Yay!), aber ich kann nur Haltepunkte in treffenGradleScriptRunner.groovy
.
1 & 2. Der Übersichtlichkeit halber zusammengeführt:
~# export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
~# gradle clean assemble
Listening for transport dt_socket at address: 5005
Konfigurieren Sie IntelliJ für die Verbindung mit diesem Port und starten Sie das Debugging (siehe Abbildung):Für diesen Schritt habe ich die folgenden .gradle-Dateikonfigurationen ausprobiert:
1. Verwenden Sie nur build.gradle
--build.gradle--
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'js'
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile findProject "/path/to/gradle-js-plugin"
}
}
repositories {
mavenLocal()
mavenCentral()
}
Ergebnis:
FAILURE: Build failed with an exception.
* Where:
Build file '/path/to/gradle-js-plugin/src/test/resources/build.gradle' line: 13
* What went wrong:
A problem occurred evaluating root project 'resources'.
> No such property: findProject for class: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 8 mins 50.498 secs
2. Verwenden Sie sowohl build.gradle als auch settings.gradle
--settings.gradle--
include "/path/to/gradle-js-plugin"
--build.gradle--
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'js'
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
}
repositories {
mavenLocal()
mavenCentral()
}
Ergebnis:
FAILURE: Build failed with an exception.
* Where:
Build file '/path/to/gradle-js-plugin/src/test/resources/build.gradle' line: 5
* What went wrong:
A problem occurred evaluating root project 'resources'.
> Plugin with id 'js' not found.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 13.553 secs
Mein SetupGradle~# gradle -v
------------------------------------------------------------
Gradle 1.0
------------------------------------------------------------
Gradle build time: Tuesday, June 12, 2012 12:56:21 AM UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.2 compiled on December 20 2010
Ivy: 2.2.0
JVM: 1.7.0_04 (Oracle Corporation 23.0-b21)
OS: Linux 3.2.0-2-amd64 amd64
Java~# java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
IntelliJIntelliJ IDEA Ultimate 117.499 w/ Bundled Gradle plugin
Hoffen aufAlle Tipps, die mich im Plugin in den Debug-Modus versetzen.