1. Preparare il repository su GitHub
Create un nuovo repository su GitHub, dopo andate su Settings, ed abilitate GitHub Pages selezionando "master branch".
Quello che otterremo è che tutto cio che verrà committato sul master branch sarà automaticamente disponibile al seguente URL
https://vostroNomeUtente.github.io/nomeRepository
2. Clonate il repository sulla vostra workstation eseguendo il comando
git clone https://github.com/vostroNomeUtente/nomeRepository.git
supponiamo che l'output sia finito in /home/lorenzo/nomeRepository
3. Adeguate il file build.gradle
Dobbiamo indicare a Gradle di utilizzare il plugin maven, l'indirizzo locale del repository maven ed il corretto group e version (il nome dell'artefatto corrisponderà a quello del progetto).
// .......
apply plugin: 'maven'
// .....
group = 'it.lorenzoingrilli' // cambiatelo con un valore appropriato
version = '1.0.0' // qui mettete la versione che state rilasciando
// .....
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file:///home/lorenzo/nomeRepository")
}
}
}
// .....
4. Come pubblicare il Jargradle uploadArchives
4.C) Effettuare il commit ed il push verso GitHub con
cd /home/lorenzo/nomeRepository
git add -A .
git commit -m "rilasciata versione 1.0.0"
git push origin
Una nota
In realtà non trovo che ospitare un repository Maven su GitHub sia una soluzione ottimale, ma è comoda e richiede una manutenzione pressocchè nulla quindi va bene per ospitare piccoli repository pubblicamente accessibili.
Potete usare questa soluzione per le vostre piccole librerie che non sono presenti su Maven Central ma che riutilizzate in diversi progetti. In tal caso nel progetto che utilizza la libreria affiancherete al maven central anche il repository così gestito:
// ...
repositories {
mavenCentral() // questo sicuramente lo avete già in tutti i progetti
maven { // con questa sezione di aggiunge il secondo repo maven gestito da noi
url "https://vostroNomeUtente.github.io/nomeRepository"
}
}
// ...
dependencies {
// ...
compile 'it.lorenzoingrilli:nomeArtefatto:1.0.0' // questa è la libreria appena pubblicata
// ...
}
// ...