2017-09-13 2 views
0

Ich habe zwei Projekte in der gleichen SVN nämlich LOG und MAIN.Gradle kompilieren Projekte von SVN

MAIN verwendet Methoden von LOG, also möchte ich LOG als Abhängigkeit hinzufügen.

Zuvor kopierte ich LOG in mein lokales Verzeichnis und verwendete unterhalb der GRADLE-Einstellung, um LOG zu kompilieren.

Einstellungen:

include "LOG" 
project(":LOG").projectDir = file("../LOG") 

Da beide sind verschiedene Projekte, die wir LOG direkt aus dem SVN aufbauen wollen.

Ich verwendete unten build.gradle, aber es zeigte unter Fehler.

build.gradle:

repositories { 

    ivy { 
     url 'http://13.126.60.33/datastudio/DataStudio_Java/DataStudio_Java_Logger/Branch/Development/DataStudio_Java_Logger' 
     credentials { 
      username 'mob140003207' 
      password 'VIGkalai1' 
     } 
    } 
} 

dependencies { 

    compile project("DataStudio_Java_Logger") 
} 

Fehler:

Caused by: org.gradle.internal.component.model.ConfigurationNotFoundException: Project : declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :DataStudio_Java_Logger. 

Gibt es eine Möglichkeit, dies oder das, was zu tun, mache ich falsch.

+0

Ist der Quellcode in SVN? Oder das Glas? Der Abschnitt 'repositories {...}' ist für Jars, nicht Quellcode. –

+0

@ lance-java Der Quellcode ist in SVN und nicht jar. Ich muss den Quellcode verwenden – The6thSense

Antwort

1

Der normale Ansatz ist, dass der CI-Server (z. B. jenkins/travis) das LOG-Projekt bei jeder Änderung erstellt und die LOG.jar in ein Repository (z. B. nexus/artefactory) hochlädt. Das MAIN-Projekt würde dann das Repository (nexus/artefactory) konfigurieren und die JAR-Datei von dort herunterladen. So hätte das MAIN-Projekt überhaupt keine Kenntnis von den LOG-Quellen in SVN.

Wenn Sie wirklich die Quellen von SVN im MAIN-Projekt bekommen wollen (nicht empfohlen !!!) und sie dort kompilieren, müssen Sie eine svnDownload Aufgabe im LOG-Unterprojekt (des MAIN-Projekts) erstellen. Die javaCompile Aufgabe (LOG-Unterprojekt) würde von der Aufgabe svnDownload abhängen.

+0

Da beide in der gleichen SVN sind, gibt es keine Möglichkeit, sie zu kompilieren, dann mit dem zweiten Schritt Sie Siad – The6thSense

+0

sah ich eine SO Antwort etwas näher zu diesem [Frage] (https: // stackoverflow.com/questions/10856113/how-to-deal-with-gradle-and-multi-project-configuration). Ich versuche, die dritten Methoden zu verwenden. – The6thSense

+0

ok ... also LOG und MAIN in das gleiche SVN Repo dann als Geschwister unter einer Wurzel –

Verwandte Themen