Domanda

Non so se ho assolutamente avuto il concetto sbagliato, ma voglio creare diversi progetti con le dipendenze verso altri progetti che non fanno parte della struttura di directory di un progetto principale. So che il modo normale di fare questo sarebbe quello di utilizzare una dipendenza esterna, che va a prendere da qualche repository esterni. Ma in questo caso, in cui diciamo che nel progetto denominato 'F' un quadro è sviluppato, che viene utilizzato in progetto 'P'., Allora P utilizza F, ma F dovrebbe IMO non necessariamente essere un sotto-progetto di P come P è utilizzato solo per test-guidare lo sviluppo di F (ma non è solo una prova di unità). Più avanti nel processo, quando F è stabile, F viene separato e può essere consumato da altri progetti tramite un repository. Ma durante lo sviluppo di F con P come banco di prova lo è, sarebbe bello se quella di andata e ritorno attraverso il repository potrebbe essere omesso.

A peggiorare le cose, per lo sviluppo iniziale non v'è più di un progetto consumer test-guida, che tutti hanno bisogno di avere una dipendenza a F, ma non tramite un repository esterni.

La mia idea è quella di sviluppare F in qualche posto sul disco con il proprio git reposity. L'altra P come progetti di risiedere da qualche altra parte sul disco e hanno un locale di dipendenza basato file system F. Sarebbe un tale costrutto essere possibile in Gradle? Se è così, da dove comincio? Ho scansionato gli esempi di Java, ma non riuscivo a trovare un esempio appropriato.

Tutte le idee?

È stato utile?

Soluzione

La gerarchia del progetto Gradle è completamente virtuale. Ha solo il default che l'ubicazione fisica corrisponde alla gerarchia virtuale. Ma si ha il controllo completo su questo. Vedere: http://gradle.org/0.9- rc-1 / docs / userguide / build_lifecycle.html # sec: Impostazioni_file

Per quanto riguarda gli altri idee dare un'occhiata al seguente Jira: http: //jira.codehaus .org / browse / Gradle-1014

Altri suggerimenti

Si potrebbe prendere in considerazione una gerarchia di cartelle come questo:

Main folder
|- F folder
|  |- .git
|  |- sources
|  |- build.gradle (with parts specific to F)
|- P folder
|  |- sources
|  |- build.gradle (with part specific to P)
|- build.gradle (with common parts)
|- settings.gradle

Così si può sempre decidere di eseguire Gradle su entrambi al progetto F, il progetto P o due alltoegether. Sarà inoltre ti permette di promuovere voi progetto F da solo senza la P o altri progetti collaterali.

Per ulteriori informazioni up-to-date, controllare il Multi Project Builds capitolo della documentazione Gradle.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top