Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
custom:development_artifactory_deploy_template [2020/04/16 14:48] giorgio.scali |
custom:development_artifactory_deploy_template [2022/11/28 16:51] (versione attuale) giorgio.scali |
||
---|---|---|---|
Linea 16: | Linea 16: | ||
===== Esempi Template ===== | ===== Esempi Template ===== | ||
- | * **webclientTemplate**, rappresenta lo scheletro di una generica webapp di geoweb, dove sono presenti solo tutte le parti configurabili, ed il pom.xml dove si possono includere tutte le dipendenze necessarie (recuperate da repository pubblici o da artifactory). Questo progetto maven è gia stato configurato in quest'ottica dentro il codice sorgente dalla versione 4.4.3. E' stato quindi reso disponibile questo template maven tramite Artifactry. Ora può essere usato da uno sviluppatore esterno a geoweb che, non volendo tirarsi giù l'intero codice, potrebbe far girare geoweb o prodursi un war semplicemente creando un nuovo progetto da template maven e configurandoselo. Il vantaggio è di lavorare con una black-box, avere un ambiente di sviluppo più snello, non oberato dai continui build del codice eseguiti da Eclipse. Il fatto che questo progetto sia anche un template maven ospitato in artifactry è anche basilare per dare la possibilità agli utenti configuratori di autoprodursi il war seguendo la procedura guidata automatizzata descritta qui. | + | * **gw-webapp-template** (**webclientTemplate**, pre 4.6.X), rappresenta lo scheletro di una generica webapp di geoweb, dove sono presenti solo tutte le parti configurabili, ed il pom.xml dove si possono includere tutte le dipendenze necessarie (recuperate da repository pubblici o da artifactory). Questo progetto maven è gia stato configurato in quest'ottica dentro il codice sorgente dalla versione 4.4.3. E' stato quindi reso disponibile questo template maven tramite Artifactry. Ora può essere usato da uno sviluppatore esterno a geoweb che, non volendo tirarsi giù l'intero codice, potrebbe far girare geoweb o prodursi un war semplicemente creando un nuovo progetto da template maven e configurandoselo. Il vantaggio è di lavorare con una black-box, avere un ambiente di sviluppo più snello, non oberato dai continui build del codice eseguiti da Eclipse. Il fatto che questo progetto sia anche un template maven ospitato in artifactry è anche basilare per dare la possibilità agli utenti configuratori di autoprodursi il war seguendo la procedura guidata automatizzata descritta qui. |
* **gwPlugin**, rappresenta lo scheletro di un generico plugin di geoweb, già formato nella struttura dei package e dei file di configurazione. E' pensato per essere usato dagli sviluppatori, interni ed esterni, come una buona base di partenza per produrre velocemente un nuovo plugin per geoweb. Di norma va usato in congiunzione con webclientTemplate. | * **gwPlugin**, rappresenta lo scheletro di un generico plugin di geoweb, già formato nella struttura dei package e dei file di configurazione. E' pensato per essere usato dagli sviluppatori, interni ed esterni, come una buona base di partenza per produrre velocemente un nuovo plugin per geoweb. Di norma va usato in congiunzione con webclientTemplate. | ||
Linea 24: | Linea 24: | ||
* Come prima cosa, è necessario creare il file JAR del progetto utilizzando Eclipse. Dopo aver eseguito il //clean// del progetto Maven, cliccare con il tasto destro sulla cartella del progetto, selezionare **Run As** e poi **Maven install**; in questo modo verrano compilati tutti i file sorgente e, nella sezione **Project explorer** del progetto, verrà creata la cartella //target//, contenente il file JAR . | * Come prima cosa, è necessario creare il file JAR del progetto utilizzando Eclipse. Dopo aver eseguito il //clean// del progetto Maven, cliccare con il tasto destro sulla cartella del progetto, selezionare **Run As** e poi **Maven install**; in questo modo verrano compilati tutti i file sorgente e, nella sezione **Project explorer** del progetto, verrà creata la cartella //target//, contenente il file JAR . | ||
* A questo punto, entrare nella cartella del proprio PC contenente il repository locale di Git dove si sta lavorando al nuovo plugin e, al suo interno, aprire il prompt dei comandi ed eseguire il seguente: <code>mvn archetype:create-from-project</code> | * A questo punto, entrare nella cartella del proprio PC contenente il repository locale di Git dove si sta lavorando al nuovo plugin e, al suo interno, aprire il prompt dei comandi ed eseguire il seguente: <code>mvn archetype:create-from-project</code> | ||
- | * Il passo successivo è la sostituzione di alcuni file all'interno dell'archivio JAR che è stato generato nel percorso {git_plugin_directory}\target\generated-sources\archetype\target. In questo percorso è presente un file dal nome {nome_plugin}-archetype-{versione_plugin}.jar. Aprire l'archivio JAR con un'applicazione per la decompressione degli archivi (ad esempio 7zip) e spostarsi nel percorso META-INF\maven: qui dentro, sostituire il contenuto del file archetype-metadata.xml con ciò che segue: <code xml> | + | * Il passo successivo è la sostituzione di alcuni file all'interno dell'archivio JAR che è stato generato nel percorso **{git_plugin_directory}\target\generated-sources\archetype\target**. In questo percorso è presente un file dal nome **{nome_plugin}-archetype-{versione_plugin}.jar**. Aprire l'archivio JAR con un'applicazione per la decompressione degli archivi (ad esempio 7zip) e spostarsi nel percorso **META-INF\maven**: qui dentro, sostituire il contenuto del file **archetype-metadata.xml** con ciò che segue: <code xml> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
- | <archetype-descriptor | + | <archetype-descriptor xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 http://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd" name="gw-webapp-template" |
- | xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 | + | xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0" |
- | http://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd" name="webclientTemplate" | + | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
- | xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0" | + | <requiredProperties> |
- | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | + | <requiredProperty key="warName"> |
- | <requiredProperties> | + | <defaultValue>webclient</defaultValue> |
- | <requiredProperty key="warName"> | + | </requiredProperty> |
- | <defaultValue>webclient</defaultValue> | + | <requiredProperty key="gwVersion"> |
- | </requiredProperty> | + | </requiredProperty> |
- | <requiredProperty key="gwVersion"> | + | </requiredProperties> |
- | </requiredProperty> | + | <fileSets> |
- | </requiredProperties> | + | <fileSet filtered="true" encoding="UTF-8"> |
- | <fileSets> | + | <directory>src/main/resources</directory> |
- | <fileSet filtered="true" encoding="UTF-8"> | + | <includes> |
- | <directory>src/main/resources</directory> | + | <include>**/*.txt</include> |
- | <includes> | + | <include>**/*.xml</include> |
- | <include>**/*.txt</include> | + | <include>**/*.properties</include> |
- | <include>**/*.xml</include> | + | </includes> |
- | <include>**/*.properties</include> | + | </fileSet> |
- | </includes> | + | <fileSet filtered="true" encoding="UTF-8"> |
- | </fileSet> | + | <directory>src/main/webapp</directory> |
- | <fileSet filtered="true" encoding="UTF-8"> | + | <includes> |
- | <directory>src/main/webapp</directory> | + | <include>**/*.xml</include> |
- | <includes> | + | </includes> |
- | <include>**/*.xml</include> | + | </fileSet> |
- | </includes> | + | <fileSet encoding="UTF-8"> |
- | </fileSet> | + | <directory>src/main/resources</directory> |
- | <fileSet encoding="UTF-8"> | + | <includes> |
- | <directory>src/main/resources</directory> | + | <include>**/*.ini</include> |
- | <includes> | + | </includes> |
- | <include>**/*.ini</include> | + | </fileSet> |
- | </includes> | + | <fileSet encoding="UTF-8"> |
- | </fileSet> | + | <directory>src/main/webapp</directory> |
- | <fileSet encoding="UTF-8"> | + | <includes> |
- | <directory>src/main/webapp</directory> | + | <include>**/*.tld</include> |
- | <includes> | + | </includes> |
- | <include>**/*.tld</include> | + | </fileSet> |
- | </includes> | + | <fileSet encoding="UTF-8"> |
- | </fileSet> | + | <directory></directory> |
- | <fileSet filtered="true" encoding="UTF-8"> | + | <includes> |
- | <directory>.settings</directory> | + | <include>makegwar.bat</include> |
- | <includes> | + | </includes> |
- | <include>**/*.xml</include> | + | </fileSet> |
- | </includes> | + | </fileSets> |
- | </fileSet> | + | |
- | <fileSet encoding="UTF-8"> | + | |
- | <directory>.settings</directory> | + | |
- | <includes> | + | |
- | <include>**/*.container</include> | + | |
- | <include>**/*.component</include> | + | |
- | <include>**/*.name</include> | + | |
- | <include>**/*.jsdtscope</include> | + | |
- | <include>**/*.prefs</include> | + | |
- | </includes> | + | |
- | </fileSet> | + | |
- | <fileSet filtered="true" encoding="UTF-8"> | + | |
- | <directory></directory> | + | |
- | <includes> | + | |
- | <include>.classpath</include> | + | |
- | <include>.project</include> | + | |
- | </includes> | + | |
- | </fileSet> | + | |
- | </fileSets> | + | |
</archetype-descriptor> | </archetype-descriptor> | ||
+ | |||
+ | |||
</code> | </code> | ||
- | * Sempre all'interno dell'archivio {nome_plugin}-archetype-{versione_plugin}.jar, aprire il file pom.xml nella cartella archetype-resources e sostituire le righe <code xml> | + | * Sempre all'interno dell'archivio **{nome_plugin}-archetype-{versione_plugin}.jar**, aprire il file **pom.xml** nella cartella archetype-resources e sostituire la riga <code xml> |
- | <finalName>nome_plugin</finalName> | + | <finalName>nome_plugin</finalName></code> con <code xml> |
+ | <finalName>${warName}</finalName></code> e la riga <code xml> | ||
<com.geowebframework.version>4.4.3</com.geowebframework.version></code> con <code xml> | <com.geowebframework.version>4.4.3</com.geowebframework.version></code> con <code xml> | ||
- | <finalName>${warName}</finalName> | ||
<com.geowebframework.version>${gwVersion}</com.geowebframework.version></code> | <com.geowebframework.version>${gwVersion}</com.geowebframework.version></code> | ||
- | * Infine, andare sul sito di Artifactory seguendo il link [http://artifactory.geowebframework.com/artifactory/webapp/#/artifacts/browse/tree/General/gw-release]] e accedere con le proprie credenziali. Come mostrato in figura, sulla sinistra del sito si può trovare un albero di contenuti: aprire gw-release e cliccare sul pulsante **Deploy**, che si trova in alto a destra. {{ :custom:artifactory_deploy_img1.png?400 |}}Dalla finestra che si apre, è possibile caricare il file, avendo cura di cambiare il groupId con "com.geowebframework" e di abilitare tutte le spunte disponibili; per terminare la procedura, cliccare infine **Deploy**. Si può, a questo punto, verificare il caricamento del progetto nel giusto percorso all'interno di gw-release. | + | * Infine, andare sul sito di Artifactory seguendo il link [[http://artifactory.geowebframework.com/artifactory/webapp/#/artifacts/browse/tree/General/gw-release]] e accedere con le proprie credenziali. Come mostrato in figura, sulla sinistra del sito si può trovare un albero di contenuti: aprire **gw-release** e cliccare sul pulsante **Deploy**, che si trova in alto a destra. {{ :custom:artifactory_deploy_img1.png?400 |}}Dalla finestra che si apre, è possibile caricare il file **{nome_plugin}-archetype-{versione_plugin}.jar**, avendo cura di cambiare il groupId con "com.geowebframework" e di abilitare tutte le spunte disponibili; per terminare la procedura, cliccare infine **Deploy**. Si può, a questo punto, verificare il caricamento del progetto nel giusto percorso all'interno di gw-release. |