Quando sviluppiamo un’applicazione gestendo una base di codice, non è raro l’utilizzo di ambienti di continuous integration come Jenkins o Travis CI per semplificarne il ciclo di sviluppo ed essere così maggiormente reattivi a segnalazioni di bug o richieste di nuove feature. Questo approccio è indicato anche per soluzioni low-code come Livebase, ed è per questo motivo che abbiamo messo a disposizione un plugin Gradle che potrai facilmente richiamare dal tuo ambiente di continuous integration, automatizzando così alcuni passaggi del tuo processo di build.
Configurazione del progetto #
Per cominciare, crea un nuovo progetto Gradle e cancella il contenuto del suo build.gradle
. Inserisci dunque il seguente codice per importare il plugin Livebase:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.fhoster.livebase:livebase-gradle-plugin:2.0.+'
}
}
apply plugin: 'java'
apply plugin: 'com.fhoster.livebase'
Successivamente, configura il plugin aggiungendo la seguente sezione:
livebase {
username = '<accountUsername>'
password = '<accountPassword>'
// Mutualmente esclusivi
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale
modelName = '<model>'
// Opzionale, presente in due formati
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
// Opzionale
debugLog = true
// Opzionale, default = false
needsLock = true
overrideSession = false
}
username
: username del tuo accountlivebase
;password
: password del tuo accountlivebase
;cloudletId
/cloudletName
: parametri globali. Indicano l’id o il nome della Cloudlet a cui faranno riferimento tutti i task Gradle eseguiti. È possibile specificare solo uno o nessuno di questi parametri;modelName
: parametro globale. Indica il nome del modello a cui faranno riferimento tutti i task Gradle eseguiti;pluginsName
: indica il plugin o i plugin a cui faranno riferimento tutti i task Gradle eseguiti. Usando la formapluginsName = '<jarPath>'
, si indica un solo plugin attraverso il percorso del suo file.jar
; con la formapluginsName '<regex>', true
, si indicano multipli plugin attraverso un’espressione regolare;debugLog
: se impostato atrue
, setta il livello del log aDEBUG
stampando tutte le informazioni;needsLock
: se impostato atrue
, l’esecuzione dei task effettuerà la reserve della Cloudlet. Questo è particolarmente utile se l’account che utilizziamo ha dei sub-account.
Quando hai finito di specificare la configurazione, verifica la corretta compilazione del plugin eseguendo nella root del progetto il comando ./gradlew clean build
.
Task disponibili #
Il plugin Gradle di Livebase mette a disposizione una serie di task che agiscono ognuno su una tipologia diversa di elemento. Possiamo dunque raggrupparli in task Cloudlet, task engine, task database, task plugin e task modello.
Task Cloudlet #
I seguenti task agiscono tutti sulle Cloudlet Livebase.
createCloudlet
#
Crea una nuova Cloudlet e la dispiega sull’Hosting Servant. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
createCloudlet {
// Se omesso, usa il valore specificato nella sezione livebase
cloudletName = '<cloudlet>'
}
cloudletName
: nome che sarà assegnato alla nuova Cloudlet. Se il parametro è omesso, sarà usato il valore dicloudletName
specificato nella sezionelivebase
.
startCloudlet
#
Avvia una Cloudlet presente sull’Hosting Servant. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
startCloudlet {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale
strictMode = false
}
cloudletId
/cloudletName
: id o nome della Cloudlet che si desidera avviare. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;strictMode
: se impostato atrue
, il task fallisce immediatamente qualora la Cloudlet in questione sia già avviata. Se il parametro è omesso, viene consideratotrue
.
stopCloudlet
#
Arresta una Cloudlet presente sull’Hosting Servant. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
stopCloudlet {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale
strictMode = false
}
cloudletId
/cloudletName
:id
o nome della Cloudlet che si desidera arrestare. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;strictMode
: se impostato atrue
, il task fallisce immediatamente qualora la Cloudlet in questione sia già arrestata. Se il parametro è omesso, viene consideratotrue
.
retrieveCloudletInfo
#
Stampa le informazioni relative a una Cloudlet in un file esterno. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
retrieveCloudletInfo {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
outputFile = 'info.json'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui si vogliono stampare le informazioni. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;outputFile
: percorso del file dove saranno salvate le informazioni. Deve avere estensionejson
.
upgradeCloudlet
#
Effettua l’upgrade delle API di una Cloudlet all’ultima versione rilasciata. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
upgradeCloudlet {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui si vogliono aggiornare le API. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;
enableGraphQL
#
Attiva o disattiva le API GraphQL per una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
enableGraphQL {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
enablePlugin = false
}
cloudletId
/cloudletName
: id o nome della Cloudlet di cui si vogliono attivare o disattivare le GraphQL. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;- enablePlugin : se
true
, attiva le API GraphQL; sefalse
, le disattiva.
rebuildGraphQL
#
Forza il rebuild delle API GraphQL di una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
rebuildGraphQL {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui si vuole fare rebuild delle GraphQL. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
deleteCloudlet
#
Elimina una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
deleteCloudlet {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet che si desidera eliminare. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
Task engine #
I seguenti task agiscono tutti sugli engine, vale a dire sui modelli che sono stati caricati sulle Cloudlet Livebase.
deployEngine
#
Carica un modello su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
deployEngine {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Mutualmente esclusivi
sourceCloudletName = 'NewCloudlet2'
sourceModelName = 'Model1'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet su cui si desidera caricare il modello. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;sourceCloudletName
/sourceModelName
: è possibile specificare uno solo di questi parametri alla volta. Se il primo è specificato, il modello da caricare verrà preso dalla Cloudlet con il nome indicato; se invece è specificato il secondo, verrà preso il modello di libreria avente quel nome.
downloadEngine
#
Scarica il modello precedentemente caricato su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
downloadEngine {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
outputFile = 'model.xml'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet da cui si desidera scaricare il modello. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;outputFile
: percorso dove verrà salvato il modello scaricato. Deve avere estensione.xml
.
deleteEngine
#
Rimuove il modello precedentemente caricato su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
deleteEngine {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet che si desidera rimuovere. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
Task database #
I seguenti task agiscono tutti sui database delle Cloudlet.
createDatabase
#
Crea il database vuoto in funzione del modello caricato su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
createDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo generare il database. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
updateDatabase
#
Forza l’aggiornamento del database di una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
updateDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo aggiornare il database. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
checkDatabase
#
Esegue un controllo di allineamento tra il modello attualmente caricato sulla Cloudlet e quello che ha dato origine al suo database. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
import static com.fhoster.livebase.gradle.tasks.cloudlet.CheckDatabaseTask.FailOn.*
checkDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale
outputFile = 'issues.csv'
// Opzionale
failOn = HighIssue
}
cloudletId
/cloudletName
:id
o nome della Cloudlet su cui vogliamo effettuare il check. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;outputFile
: percorso del file dove salvare l’elenco delle issue individuate durante il check; deve avere come estensione.csv
. Se il parametro è omesso le issue verranno stampate sullo standard output;failOn
: specifica se l’esecuzione del task debba fallire quando viene riscontrata una high issue (HighIssue
), alla prima issue di qualsiasi severità (AllIssues
), oppure mai (Never
). Se il parametro è omesso viene usato il valoreAllIssues
come default.
checkEngineDatabaseMismatch
#
Confronta il database che si otterrebbe dal modello attualmente installato sulla Cloudlet con la struttura del database attuale, permettendo di evidenziare problemi dovuti agli interventi diretti su quest’ultimo (che non sarebbero segnalati dall’esecuzione di checkDatabase
). Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
checkEngineDatabaseMismatch {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale
outputFile = 'issues.csv'
// Opzionale
failIfAny = true
}
cloudletId
/cloudletName
:id
o nome della Cloudlet su cui vogliamo effettuare il check. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;outputFile
: percorso del file dove salvare l’elenco delle issue individuate durante il check. Deve avere come estensione.csv
. Se il parametro è omesso le issue verranno stampate sullo standard output;failIfAny
: specifica se l’esecuzione del task debba fallire se vengono riscontrate delle issue. Se il parametro è omesso viene usatofalse
come valore di default.
clearDatabase
#
Rimuove tutti i record contenuti nel database di una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
clearDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo svuotare il database. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;
downloadDatabase
#
Effettua un dump del database di una Cloudlet e scarica il file sql risultante. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
downloadDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
outputFile = 'db.sql'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo scaricare il database. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;outputFile
: percorso del file sql dove verrà salvato il dump. Deve avere estensione.sql
.
uploadDatabase
#
Carica su una Cloudlet il database generato da un dump sql. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
uploadDatabase {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
inputFile = 'db.sql'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet su cui vogliamo caricare il database. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;inputFile
: percorso del file sql da caricare. Deve avere estensione.sql
.
createAdmin
#
Crea l’utenza amministrativa di default per una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
createAdmin {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo creare l’utenza amministrativa. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.
Task plugin #
I seguenti task agiscono tutti sui plugin installati sulle Cloudlet.
listPlugins
#
Elenca tutti i plugin installati su una Cloudlet, salvando l’elenco su file. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
listPlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
outputFile = 'plugins.txt'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo elencare i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
.outputFile
: percorso del file dove sarà salvata la lista dei plugin. Deve avere estensione.txt
.
downloadEngineSpi
#
Scarica lo SPI di una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
downloadEngineSpi {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Obbligatorio
outputFile = 'plugins/test.jar'
}
- (opzionali)
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo scaricare lo SPI. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
. outputFile
: percorso del file dove sarà salvato lo SPI scaricato; deve avere estensione.jar
.
uploadPlugins
#
Effettua l’upload di uno o più plugin su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
uploadPlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Mutualmente esclusivi.
inputFile = 'plugins/test.jar'
inputDirectory = 'plugins/'
//Opzionale. Valido solo se è specificato inputDirectory
includes = 'test.*\\.jar'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet su cui vogliamo caricare i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;inputFile
/inputDirectory
: è possibile specificare uno solo di questi parametri alla volta. ValorizzandoinputFile
il task caricherà il plugin con il percorso indicato, mentre valorizzandoinputDirectory
saranno caricati tutti quelli contenuti nella directory indicata;includes
: può essere specificato solo se è presente il parametroinputDirectory
; va valorizzato a una espressione regolare che filtra i plugin da caricare presenti all’interno della directory.
downloadPlugins
#
Effettua il download di uno o più plugin installati su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
downloadPlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale, presente in due formati. Se omesso, usa il valore specificato nella sezione livebase
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
// Obbligatorio
outputDirectory = 'plugins/'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet da cui vogliamo scaricare i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;pluginsName
: nome o espressione regolare indicante il plugin o i plugin da scaricare. Se si vuole indicare una espressione regolare è necessario aggiungere il parametrotrue
come indicato nell’esempio. Se la direttiva è omessa, sarà utilizzata quella globale specificata nella sezionelivebase
;outputDirectory
: percorso della directory dove saranno salvati i plugin scaricati.
startPlugins
#
Avvia uno o più plugin precedentemente installati su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
startPlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale, presente in due formati. Se omesso, usa il valore specificato nella sezione livebase
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo avviare i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;pluginsName
: nome o espressione regolare indicante il plugin o i plugin da avviare. Se si vuole indicare una espressione regolare è necessario aggiungere il parametrotrue
come indicato nell’esempio. Se la direttiva è omessa, sarà utilizzata quella globale specificata nella sezionelivebase
;
stopPlugins
#
Arresta uno o più plugin precedentemente installati su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
stopPlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale, presente in due formati. Se omesso, usa il valore specificato nella sezione livebase
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo arrestare i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;pluginsName
: nome o espressione regolare indicante il plugin o i plugin da arrestare. Se si vuole indicare una espressione regolare è necessario aggiungere il parametrotrue
come indicato nell’esempio. Se la direttiva è omessa, sarà utilizzata quella globale specificata nella sezionelivebase
;
deletePlugins
#
Rimuove uno o più plugin precedentemente installati su una Cloudlet. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
deletePlugins {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale, presente in due formati. Se omesso, usa il valore specificato nella sezione livebase
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo rimuovere i plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;pluginsName
: nome o espressione regolare indicante il plugin o i plugin da rimuovere. Se si vuole indicare una espressione regolare è necessario aggiungere il parametrotrue
come indicato nell’esempio. Se la direttiva è omessa, sarà utilizzata quella globale specificata nella sezionelivebase
;
printPluginsState
#
Stampa su un file l’elenco dei plugin installati su una Cloudlet, comprensivo del loro stato attuale. Il formato di stampa è il seguente:
- <plugin1Name>: <STATE>
- <plugin2Name>: <STATE>
...
Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
printPluginsState {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
cloudletId = '<id>'
cloudletName = '<cloudlet>'
// Opzionale, presente in due formati. Se omesso, usa il valore specificato nella sezione livebase
pluginsName = '<jarPath>' // Per individuare il plugin dal nome
pluginsName '<regex>', true // Per individuare i plugin da una regular expression
//Obbligatorio
outputFile = 'plugins.txt'
}
cloudletId
/cloudletName
:id
o nome della Cloudlet di cui vogliamo stampare le informazioni sui plugin. È possibile specificare uno solo di questi parametri alla volta. Se entrambi sono omessi, verranno usati i valori dicloudletId
ocloudletName
specificati nella sezionelivebase
;pluginsName
: nome o espressione regolare indicante il plugin o i plugin di cui stampare le informazioni. Se si vuole indicare una espressione regolare è necessario aggiungere il parametrotrue
come indicato nell’esempio. Se la direttiva è omessa, sarà utilizzata quella globale specificata nella sezionelivebase
;outputFile
: percorso del file dove saranno salvate le informazioni dei plugin. Deve avere estensione.txt
.
Task modello #
I seguenti task agiscono tutti sui modelli memorizzati nella libreria.
uploadModel
#
Carica in libreria un modello salvato su un file locale. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
uploadModel {
// Opzionale. Se omesso, usa il valore specificato nella sezione livebase
modelName = 'Model1'
// Obbligatori
modelDescription = 'MyModel'
modelComments = 'MyModel'
inputFile = 'model.xml'
}
modelName
: nome da assegnare al modello una volta caricato in libreria. Se il parametro è omesso sarà utilizzato quello globale specificato nella sezionelivebase
;modelDescription
: descrizione da assegnare al modello una volta caricato in libreria;modelComments
: commenti di versione da assegnare al modello una volta caricato in libreria;inputFile
: percorso del file contenente il modello da caricare. Deve avere estensione.xml
.
downloadModel
#
Scarica un modello presente in libreria. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
:
downloadModel {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
modelId = '<id>'
modelName = 'Model1'
// Obbligatorio
outputFile = 'model.xml'
}
modelId
/modelName
:id
o nome del modello di libreria da scaricare. Se entrambi sono omessi sarà usato il valore del parametromodelName
specificato nella sezionelivebase
;outputFile
: percorso del file dove salvare il modello scaricato. Deve avere estensione.xml
.
downloadModelSpi
#
Scarica lo SPI di un modello presente in libreria. Puoi configurare il task aggiungendo la seguente sezione al build.gradle
downloadModelSpi {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
modelId = '<id>'
modelName = 'Model1'
// Obbligatorio
outputFile = 'modelSpi.jar'
}
modelId
/modelName
:id
o nome del modello della libreria di cui vogliamo scaricare lo SPI. Se entrambi sono omessi sarà usato il valore del parametromodelName
specificato nella sezionelivebase
;outputFile
: percorso del file dove salvare lo SPI scaricato; deve avere estensione.jar
.
deleteModel
#
Rimuove un modello dalla libreria. Puoi configurare il task aggiungendo la seguente sezione al buildGradle
deleteModel {
// Mutualmente esclusivi. Se omesso, usa il valore specificato nella sezione livebase
modelId = '<id>'
modelName = 'Model1'
}
modelId
/modelName
: id o nome del modello della libreria che si desidera rimuovere. Se entrambi sono omessi sarà usato il valore del parametromodelName
specificato nella sezionelivebase
;
Creare task personalizzati #
I task Gradle già inclusi nel plugin Livebase possono essere configurati per agire su un solo elemento alla volta. Se hai bisogno di effettuare le stesse operazioni su più di un elemento, puoi definire nuovi task personalizzati sovrascrivendo quelli predefiniti.
Per farlo, importa innanzitutto il tipo di task che vuoi sovrascrivere inserendo questa direttiva nel build.gradle
:
import com.fhoster.livebase.gradle.tasks.cloudlet.<taskToOverride>
Sostituisci <taskToOverride>
con il nome del task in camel case, seguito dalla parola Task
; se per esempio vuoi sovrascrivere il task startCloudlet
, dovrai scrivere StartCloudletTask
.
Successivamente, definisci il task personalizzato nel modo seguente, sostituendo _customTask
con il nome che vuoi assegnargli:
task _customTask(type: <taskToOverride>) {
//Parametri di configurazione sovrascritti dal task originale
}
Puoi referenziare i parametri di configurazione definiti in un altro task con la sintassi <gradleTaskName>.<parameterName>
. Il seguente esempio assegna come valore di inputFile
per il task personalizzato quello di outputFile
del task downloadEngineSpi
:
task _customUploadSpi(type: UploadPluginsTask) {
inputFile = downloadEngineSpi.outputFile
}
Puoi anche stabilire l’ordine di esecuzione di questo nuovo task rispetto ai precedenti introducendo l’argomento dependsOn
. Il seguente esempio definisce un task che dipende da downloadEngineSpi
e che quindi verrà eseguito successivamente a questo:
task _afterDownloadEngineSpi(type: <anyType>, dependsOn: downloadEngineSpi) {
//Parametri di configurazione sovrascritti dal task originale
}