Qual è la migliore pratica per lavorare con diversi moduli Java da diverse fonti GitHub usando IntelliJ?
Potrebbe trattarsi di una strana sensazione, ma non so quale sia il flusso di lavoro standard per ottenere ciò che ho in mente.
La situazione attuale
Sviluppo un progetto Java con IntelliJ e gestisco il mio codice con GitHub. Il progetto è attualmente memorizzato in un repository privato su GitHub e consiste di diversi moduli Maven indipendenti. Questa è una struttura di esempio:
Il piano
Ora ho intenzione di pubblicare solo ModuleB su un repository pubblico su GitHub. Voglio condividere solo questo modulo e consentire ad altri di usarlo. Qual è la migliore pratica in modo che io possa sviluppare ulteriormente il modulo B nel mio progetto e tutte le modifiche vengano pubblicate nel repository pubblico? Non so come farlo in IntelliJ. Sono insicuro sul flusso di lavoro qui o c'è un altro schema che potrei seguire per raggiungere questo obiettivo?
Idea
Penso che potrei esportare ModuleB, importarlo come repository pubblico separato in GitHub e poi inviare richieste pull quando apporto le modifiche. Ma come faccio a farlo con IntelliJ? Come posso inserire l'archivio pubblico nel mio progetto esistente, che è esso stesso condiviso in un repository privato? Posso annidare i progetti GitHub? È una buona idea dopotutto? Per favore fatemi sapere se la mia domanda è chiara.
Ulteriori chiarimenti
So che posso importare diversi "moduli" in IntelliJ, ma questa è una cosa diversa, non è vero? Un modulo IntelliJ è uguale a un progetto Eclipse, che è un'entità indipendente. Penso che potrei risolvere il problema con questo approccio, ma poi dovrei impegnare il progetto complessivo separatamente. Questo potrebbe essere risolto in modo più elegante con i Git submodules forse?
Soluzioni proposte
Ho creato un nuovo repository GitHub per ModuleB e ho caricato il codice sorgente su di esso. Questo modulo è ora impostato come pubblico e indipendente dal progetto principale.
Utilizza il modulo di importazione IntelliJ
Invece di provare a integrare il repository "esterno" direttamente nel mio progetto corrente, ho clonato il repository ModuleB in una directory diversa. Quindi ho importato la suddetta cartella come un nuovo modulo in IntelliJ.
IntelliJchiedequindisecipotrebbeessereunadipendenzatrailModuloBappenaaggiunto.Sfortunatamentequestoaggiungesolounavocenelfile.iml
<orderEntrytype="module" module-name="Submodule" />
e non nel file pom.xml. Quindi questa informazione dove ottenere il codice sorgente per il modulo è disponibile solo in IntelliJ. Come potrebbe essere risolto questo problema? L'ho provato solo con un progetto giocattolo finora, ma se qualcuno vuole importare l'intero progetto in Eclipse, ad esempio, ciò potrebbe causare un problema. Come posso fare riferimento all'altro repository GitHub in un modo utile?