Auf meinem lokalen Dateisystem Ich habe folgende C Projektverzeichnisstruktur:Gradle C Plugin von Beispiel
derpus/
src/
derpus/
c/
derpus.c
headers/
build.gradle
Wo derpus.c
ist:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
puts("Derp!");
return EXIT_SUCCESS;
}
Ich mag die Gradle Native (C) Plugin verwenden, um die Verwaltung komplettes Spektrum des derpus
Builds. Insbesondere würde Ich mag Gradle an:
- eine Gradle Wrapper generieren, so dass ich
gradlew
für alle meine Build Anrufungen verwenden können; und - Kompilieren & bauen
derpus
inderpus.exe
übergradlew
; und - generieren Eclipse-Projekt Info, wenn ich laufen
gradlew eclipse
so kann ich dann das Projekt in Eclipse importieren (ich habe bereits vorinstalliert das Eclipse-CDT-Plugin)
Hier ist meine build.gradle
:
apply plugin: 'c'
apply plugin: 'eclipse'
sources {
c {
source {
srcDir "src/derpus/c"
include "**/*.c"
}
exportedHeaders {
srcDir "src/derpus/headers"
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
Offensichtlich sollte ich gradle wrapper
ausführen können, um auf den ersten Gegenstand aufzupassen. Aber zum Kompilieren und Erstellen, nirgendwo in der C-Plugin-Dokumentation sehe ich tatsächlich einen Befehl oder Build-Aufruf , die tatsächlich eine Kompilierung und Build läuft!
Als drittes Element, mit dem Eclipse-Plugin und Aufruf über gradlew eclipse
, frage ich mich, ob ich noch etwas tun muss, damit die resultierenden Projekt/Einstellungen-Konfigurationen mit dem Eclipse CDT-Plugin kompatibel sind um mit C-Programmen zu arbeiten. Obwohl ich beabsichtige, Gradle alle meine Builds behandeln zu lassen, möchte ich immer noch meine gesamte Entwicklung in Eclipse machen, und so ist mir all das wichtig, was CDT mitbringt (Syntaxhervorhebung, Kompilierung usw.).
Arbeitete für mich, indem ich zuerst als Gradle-Projekt importiere und danach die C/C++ - Natur wie oben erwähnt hinzufügte (Eclipse Oxygen/Gradle 4.0). Kein Umständliches mit Konfigurationsdateien! – lazlev