Come organizzare le dipendenze di un progetto [chiuso]

6

Ho un progetto creato con Gradle, che contiene librerie che possono essere utilizzate liberamente al di fuori del progetto principale, come questo:

Le cartelle con un quadrato in basso a destra sono moduli di progetto.

Voglio aprire questo progetto (uso principalmente Git e GitHub per attività come questa), ma non ho idea di come organizzarlo. Dovrei creare repository separati per ogni libreria (e se sì, come posso collegarli al repository principale?), O dovrei mettere tutto in un repository (immagino che sia una cattiva pratica)?

Il criterio principale è che quando viene eseguito git clone repo_url , dovrebbe ricreare la struttura del progetto one-to-one, quindi può essere ancora creato con ./gradlew build .

    
posta asn007 06.07.2014 - 11:41
fonte

1 risposta

5

Puoi creare repository Git separati per ogni libreria, pubblicarli, quindi utilizzare Git submodules per collegarli al repository principale.

git submodule add submodule1_url directory1
git submodule add submodule2_url directory2
git commit -m "add submodules"

Lavorare con i sottomoduli è un po 'più complesso. Dopo aver clonato il repository, è necessario clonare anche i sottomoduli:

git clone repo_url
cd repo
git submodule init
git submodule update
./gradlew build

E voilà: hai un progetto con sottomoduli indipendenti.

Potresti anche voler consultare gradle: Capitolo 50. Gestione delle dipendenze . Non l'ho letto da solo, ma è spesso preferibile gestire le dipendenze al di fuori dell'SCM e, come diceva gnat, dovresti dare un'occhiata alle diverse opzioni e decidere da solo.

    
risposta data 06.07.2014 - 15:16
fonte

Leggi altre domande sui tag