... |
... |
@@ -377,6
+377,8 @@ |
377 |
377 |
|
378 |
378 |
Um ein Plugin nach dem Bauen über Maven in FORMCYCLE hochzuladen, gibt es auch ein Maven-Plugin, welches das Deploy-Servlet anspricht. Dieses ist über die Artifactory von XIMA erhältlich, falls man die entsprechenden Rechte hierfür hat: |
379 |
379 |
|
|
380 |
+=== Konfiguration |
|
381 |
+ |
380 |
380 |
{{code language="xml"}} |
381 |
381 |
<plugin> |
382 |
382 |
<groupId>de.xima.fc.maven.plugin</groupId> |
... |
... |
@@ -411,7
+411,7 @@ |
411 |
411 |
; clientId [Standardwert: //${fcDeployClientId}//] |
412 |
412 |
: ID des Mandanten, für den das Plugin installiert, aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //client-id// des Deploy-Plugins, siehe oben. |
413 |
413 |
; clientUuid |
414 |
|
-: UUID des Mandanten, für den das Plugin installiert, aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //client-uuid// des Deploy-Plugins, siehe oben. |
|
416 |
+: Alternative zu //clientID//. UUID des Mandanten, für den das Plugin installiert, aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //client-uuid// des Deploy-Plugins, siehe oben. |
415 |
415 |
; token [Standardwert: //${fcDeployToken}//] |
416 |
416 |
: Passwort für das Servlet-Plugin, falls in der Konfiguration des Deploy-Plugins ein Passwort gesetzt wurde. |
417 |
417 |
; deployAction [Standardwert: //save//] |
... |
... |
@@ -430,3
+430,122 @@ |
430 |
430 |
: Löscht die Werte aller Plugin-Eigenschaften. Entspricht dem Parameter //clear-properties// des Deploy-Plugins, siehe oben. |
431 |
431 |
; properties |
432 |
432 |
: Key-Value-Paare mit Eigenschaften, die an dem Plugin gesetzt werden sollen. Entspricht dem Parameter //clear-properties// des Deploy-Plugins, siehe oben. |
|
435 |
+ |
|
436 |
+=== Empfehlung für Plugin-Projekt |
|
437 |
+ |
|
438 |
+Während das Plugin zahlreiche Einstellunsgmöglichkeiten anbietet, reichen meist die Standardwerte aus. Empfohlen wird das folgende Vorgehen bei der Entwicklung von Plugin-Projekten. |
|
439 |
+ |
|
440 |
+Folgendes Schnippsel sollte in der Profil-Sektion der //pom.xml// eingefügt werden: |
|
441 |
+ |
|
442 |
+{{code language="xml"}} |
|
443 |
+ <properties> |
|
444 |
+ <fc-deploy-plugin-maven-plugin.version>1.1.0</fc-deploy-plugin-maven-plugin.version> |
|
445 |
+ </properties> |
|
446 |
+ |
|
447 |
+ <profiles> |
|
448 |
+ <profile> |
|
449 |
+ <id>fc-deploy</id> |
|
450 |
+ <activation> |
|
451 |
+ <property> |
|
452 |
+ <name>fcDeployUrl</name> |
|
453 |
+ </property> |
|
454 |
+ </activation> |
|
455 |
+ <build> |
|
456 |
+ <plugins> |
|
457 |
+ <plugin> |
|
458 |
+ <groupId>de.xima.fc.maven.plugin</groupId> |
|
459 |
+ <artifactId>fc-deploy-plugin-maven-plugin</artifactId> |
|
460 |
+ <version>${fc-deploy-plugin-maven-plugin.version}</version> |
|
461 |
+ <executions> |
|
462 |
+ <execution> |
|
463 |
+ <goals> |
|
464 |
+ <goal>install</goal> |
|
465 |
+ </goals> |
|
466 |
+ </execution> |
|
467 |
+ </executions> |
|
468 |
+ </plugin> |
|
469 |
+ </plugins> |
|
470 |
+ </build> |
|
471 |
+ </profile> |
|
472 |
+ </profiles> |
|
473 |
+{{/code}} |
|
474 |
+ |
|
475 |
+Das Plugin wird dann anhand des Eintrags //Implementation-Title// im Manifest identifiziert. Hierzu muss der Wert korrekt im Manifest gesetzt werden. Dies kann entweder über das maven-jar-plugin oder über das maven-assembly-plugin geschehen, je nachdem, welches von diesen im Plugin-Projekt genutzt wird: |
|
476 |
+ |
|
477 |
+{{code language="xml"}} |
|
478 |
+ <properties> |
|
479 |
+ <xfc.version>6.4.0-SNAPSHOT</xfc.version> |
|
480 |
+ <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> |
|
481 |
+ <maven-assembly-plugin.version>3.2.0</maven-assembly-plugin.version> |
|
482 |
+ </properties> |
|
483 |
+ |
|
484 |
+ <build> |
|
485 |
+ <plugins> |
|
486 |
+ |
|
487 |
+ <!-- If using the maven-jar-plugin --> |
|
488 |
+ <plugin> |
|
489 |
+ <groupId>org.apache.maven.plugins</groupId> |
|
490 |
+ <artifactId>maven-jar-plugin</artifactId> |
|
491 |
+ <version>${maven-jar-plugin.version}</version> |
|
492 |
+ <configuration> |
|
493 |
+ <outputDirectory>${basedir}</outputDirectory> |
|
494 |
+ <finalName>${project.artifactId}</finalName> |
|
495 |
+ <archive> |
|
496 |
+ <manifest> |
|
497 |
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
|
498 |
+ </manifest> |
|
499 |
+ <manifestEntries> |
|
500 |
+ <formcycle-version-requirement>${xfc.version}</formcycle-version-requirement> |
|
501 |
+ <Implementation-Title>${project.groupId}:${project.artifactId}</Implementation-Title> |
|
502 |
+ <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> |
|
503 |
+ <Implementation-Version>${project.version}</Implementation-Version> |
|
504 |
+ <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp> |
|
505 |
+ </manifestEntries> |
|
506 |
+ </archive> |
|
507 |
+ </configuration> |
|
508 |
+ </plugin> |
|
509 |
+ |
|
510 |
+ <!-- If using the maven-assembly-plugin --> |
|
511 |
+ <plugin> |
|
512 |
+ <groupId>org.apache.maven.plugins</groupId> |
|
513 |
+ <artifactId>maven-assembly-plugin</artifactId> |
|
514 |
+ <version>${maven-assembly-plugin.version}</version> |
|
515 |
+ <executions> |
|
516 |
+ <execution> |
|
517 |
+ <id>fat-jar</id> |
|
518 |
+ <phase>package</phase> |
|
519 |
+ <goals> |
|
520 |
+ <goal>single</goal> |
|
521 |
+ </goals> |
|
522 |
+ <configuration> |
|
523 |
+ <outputDirectory>${basedir}</outputDirectory> |
|
524 |
+ <finalName>${project.artifactId}</finalName> |
|
525 |
+ <descriptorRefs> |
|
526 |
+ <descriptorRef>jar-with-dependencies</descriptorRef> |
|
527 |
+ </descriptorRefs> |
|
528 |
+ <appendAssemblyId>false</appendAssemblyId> |
|
529 |
+ <archive> |
|
530 |
+ <manifestEntries> |
|
531 |
+ <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp> |
|
532 |
+ <Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id> |
|
533 |
+ <Implementation-Title>${project.groupId}:${project.artifactId}</Implementation-Title> |
|
534 |
+ <Implementation-Version>${project.version}</Implementation-Version> |
|
535 |
+ <formcycle-version-requirement>${xfc.version}</formcycle-version-requirement> |
|
536 |
+ </manifestEntries> |
|
537 |
+ </archive> |
|
538 |
+ </configuration> |
|
539 |
+ </execution> |
|
540 |
+ </executions> |
|
541 |
+ </plugin> |
|
542 |
+ |
|
543 |
+ </plugins> |
|
544 |
+ </build> |
|
545 |
+{{/code}} |
|
546 |
+ |
|
547 |
+Nun kann das Plugin über Maven gebaut und hochgeladen werden. Die URL auf FORMCYCLE, die Mandant-ID und das Token (Passwort) wird dynamisch über Parameter an Maven übergeben: |
|
548 |
+ |
|
549 |
+{{code language="bash"}} |
|
550 |
+mvn clean install -DfcDeployUrl="http://localhost:8080/xima-formcycle" -DfcDeployClientId="1" -DfcDeployToken="admin" |
|
551 |
+{{/code}} |
|
552 |
+ |
|
553 |
+Hinweis: IDE wie Eclipse und IntelliJ erlauben es, eine Build-Konfiguration für das Plugin-Projekt zu erstellen, wo die Parameter //fcDeployUrl//, //fcDeployClientId// und //fcDeployToken// hinterlegt werden können. |