Von Version < 1.22 >
bearbeitet von awa
am 12.03.2020, 13:31
Auf Version < 1.23 >
bearbeitet von awa
am 12.03.2020, 13:44
< >
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -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.
Copyright 2000-2025