-
-
Save mstahv/42b041a74ae4b5abcf58e9257fbc1e53 to your computer and use it in GitHub Desktop.
Drafting better (non-existing) production profile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<!-- Project from https://start.vaadin.com/project/00b4131a-3e8a-4f51-892f-4105391f0ef2 --> | |
<groupId>com.example.application</groupId> | |
<artifactId>my-app</artifactId> | |
<name>my-app</name> | |
<version>1.0-SNAPSHOT</version> | |
<packaging>jar</packaging> | |
<properties> | |
<java.version>17</java.version> | |
<vaadin.version>24.4.0.alpha5</vaadin.version> | |
</properties> | |
<parent> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-parent</artifactId> | |
<version>3.2.2</version> | |
</parent> | |
<repositories> | |
<repository> | |
<id>vaadin-prereleases</id> | |
<url>https://maven.vaadin.com/vaadin-prereleases</url> | |
<snapshots> | |
<enabled>true</enabled> | |
</snapshots> | |
</repository> | |
<repository> | |
<id>Vaadin Directory</id> | |
<url>https://maven.vaadin.com/vaadin-addons</url> | |
<snapshots> | |
<enabled>false</enabled> | |
</snapshots> | |
</repository> | |
</repositories> | |
<pluginRepositories> | |
<pluginRepository> | |
<id>vaadin-prereleases</id> | |
<url>https://maven.vaadin.com/vaadin-prereleases</url> | |
<snapshots> | |
<enabled>true</enabled> | |
</snapshots> | |
</pluginRepository> | |
</pluginRepositories> | |
<dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-bom</artifactId> | |
<version>${vaadin.version}</version> | |
<type>pom</type> | |
<scope>import</scope> | |
</dependency> | |
</dependencies> | |
</dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-spring-boot-starter</artifactId> | |
<exclusions> | |
<exclusion> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-dev</artifactId> | |
</exclusion> | |
<!-- This brings too much dirt in to figure out what is really needed --> | |
<exclusion> | |
<groupId>com.vaadin</groupId> | |
<artifactId>hilla</artifactId> | |
</exclusion> | |
</exclusions> | |
</dependency> | |
<!-- Optional, like e.g. SB dev tools, | |
won't get into production jar files, but available during development. | |
Having this on classpath should (and does already ?) ignore outputs generated by maven plugin | |
--> | |
<dependency> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-dev</artifactId> | |
<optional>true</optional> | |
</dependency> | |
<dependency> | |
<groupId>org.parttio</groupId> | |
<artifactId>line-awesome</artifactId> | |
<version>2.0.0</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-validation</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-devtools</artifactId> | |
<optional>true</optional> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-test</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-testbench-junit5</artifactId> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<defaultGoal>spring-boot:run</defaultGoal> | |
<plugins> | |
<plugin> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-maven-plugin</artifactId> | |
</plugin> | |
<plugin> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-maven-plugin</artifactId> | |
<version>${vaadin.version}</version> | |
<!-- THIS execution | |
* is not really needed even currently for Spring Boot & development mode | |
* should be implicitly on in build unless detected to be within development environment (mvn spring:boot run, IDE etc) | |
* there should be a flag to enable/disable explicitely | |
* This change could be postponed, just making the dev mode into optional would help already | |
* | |
--> | |
<executions> | |
<execution> | |
<goals> | |
<goal>prepare-frontend</goal> | |
<goal>build-frontend</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
<!-- THIS whole profiled could be removed if maven plugin is there | |
--> | |
<profiles> | |
<profile> | |
<!-- Production mode is activated using -Pproduction --> | |
<id>production</id> | |
<dependencies> | |
<!-- Exclude development dependencies from production | |
<dependency> | |
<groupId>com.vaadin</groupId> | |
<artifactId>vaadin-core</artifactId> | |
<exclusions> | |
<exclusion> | |
</exclusion> | |
</exclusions> | |
</dependency> | |
--> | |
</dependencies> | |
<build> | |
</build> | |
</profile> | |
</profiles> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment