diff options
| author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-08-24 22:54:17 +0200 |
|---|---|---|
| committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-08-24 22:54:17 +0200 |
| commit | a94bdec06417d3a8c44640f114b88000ff0bef9f (patch) | |
| tree | 4dce5edb85753ec04be20ff4581b7b8343e705a7 /pom.xml | |
| parent | 7d46f073faec8f2ef40968a70ace56d608000e82 (diff) | |
Die Auslieferung wird eine Phase des Baues
Die Browserfassung ging bisher über ein eigenes Skript nach Cloudflare:
deploy/cloudflare.sh rief erst „mvnw -Pwasm package“ und dann „wrangler
deploy“. Maven selbst wußte davon nichts. Seine gleichnamige Phase stand
leer und hätte, gerufen, den Bau angehalten, denn das Erzeugnis benennt
kein Empfangsverzeichnis.
Also wird das Ziel deploy:deploy stillgelegt — das Erzeugnis ist eine
Anwendung, keine Bibliothek, und seine Fassungsbezeichnung ergäbe in
einem Maven-Verzeichnis ohnehin kein brauchbares Modell —, und die
freigewordene Phase nimmt im Profil „wasm“ den Aufruf von wrangler auf.
Ein einziger Lauf baut und liefert nun aus. Die Prüfungen aus
webpaket.sh, sauberer Arbeitsbaum und 25-MiB-Grenze, liegen dabei vor dem
Hochladen und halten den Lauf an, ehe etwas hinausgeht. Das Skript
entfällt; es wäre nur noch die Doppelung dreier Aufrufe.
Geprüft: „mvnw deploy“ ohne Profil vermerkt „Skipping artifact
deployment“ und läuft durch; mit „-Pwasm“ erscheint die Ausführung
„cloudflare“ an der Phase „deploy“; „wrangler deploy --dry-run“ liest die
dreizehn Dateien von target/web, ohne auszuliefern; „mvnw verify“ besteht
mit dreihundertfünfzig Prüfungen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: Ic0ff3b4aa6dc399e253421183e60871efd65e5ed
Diffstat (limited to 'pom.xml')
| -rw-r--r-- | pom.xml | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -34,6 +34,7 @@ <clean-plugin.version>3.3.2</clean-plugin.version> <compiler-plugin.version>3.15.0</compiler-plugin.version> <dependency-plugin.version>3.11.0</dependency-plugin.version> + <deploy-plugin.version>3.1.4</deploy-plugin.version> <enforcer-plugin.version>3.6.3</enforcer-plugin.version> <exec-plugin.version>3.6.3</exec-plugin.version> <jar-plugin.version>3.5.0</jar-plugin.version> @@ -289,6 +290,22 @@ </executions> </plugin> + <!-- + Das Erzeugnis geht nicht in ein Maven-Repositorium: es ist eine Anwendung, keine + Bibliothek, und seine Fassungsbezeichnung ist die CI-freundliche ${revision} + (.mvn/maven.config), die ohne Flatten kein brauchbares POM ergäbe. Ausgeliefert + wird nach Cloudflare Workers. Das Ziel „deploy:deploy“ ist deshalb stillgelegt und + die Phase steht dem Profil „wasm“ offen (README § 15). „install“ bleibt unberührt. + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-deploy-plugin</artifactId> + <version>${deploy-plugin.version}</version> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> @@ -495,6 +512,29 @@ </arguments> </configuration> </execution> + + <!-- + Die Auslieferung. Hochgeladen wird allein das Verzeichnis, das „webpaket“ + auslieferfertig hinterlassen hat; welches, sagt wrangler.toml im + Projektverzeichnis. Ein Lauf von `./mvnw -Pwasm deploy` baut und liefert + also in einem Zuge aus, und die Prüfungen aus webpaket.sh (sauberer + Arbeitsbaum für den Quelltext nach AGPLv3 §13, 25-MiB-Grenze) liegen vor + dem Hochladen. Vorausgesetzt wird ein angemeldetes „wrangler“ im Pfad. + --> + <execution> + <id>cloudflare</id> + <phase>deploy</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <executable>wrangler</executable> + <workingDirectory>${project.basedir}</workingDirectory> + <arguments> + <argument>deploy</argument> + </arguments> + </configuration> + </execution> </executions> </plugin> |
