[java-idp-jetty-base] 01/04: IDP-2285 Start looking at Windows Installer for Jetty12
Rod Widdowson
rdw at steadingsoftware.com
Sun Jun 23 14:50:04 UTC 2024
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch dev/IDP-2285
in repository java-idp-jetty-base.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-jetty-base.git;a=commit;h=b12fb7156b4a94d8d8736e11f3bbe00e9648c952
commit b12fb7156b4a94d8d8736e11f3bbe00e9648c952
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jun 23 11:28:17 2024 +0100
IDP-2285 Start looking at Windows Installer for Jetty12
https://shibboleth.atlassian.net/issues/IDP-2285
Manually merge forward the changes to the pom file from the IDP-2147 branch
(which build the MSI only)
---
pom.xml | 311 ++++++++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 205 insertions(+), 106 deletions(-)
diff --git a/pom.xml b/pom.xml
index 2bb09bc..22b100a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,18 +7,33 @@
<parent>
<groupId>net.shibboleth</groupId>
<artifactId>parent</artifactId>
- <version>17.1.3-SNAPSHOT</version>
+ <version>17.1.2</version>
</parent>
- <name>idp-jetty-base</name>
+ <name>Jetty base and Windows Installer</name>
+ <description>
+ All the files needed for a jetty base to work with the IdP on
+ Windows plus the work needed to emit an MSI
+ </description>
<groupId>net.shibboleth.idp</groupId>
- <artifactId>idp-jetty-base</artifactId>
+ <artifactId>idp-jetty-base-windows</artifactId>
<packaging>pom</packaging>
- <version>12.0.0-SNAPSHOT</version>
+ <version>12.0.9.0-SNAPSHOT</version>
<properties>
<assemblyDirectory>${project.build.directory}/idp-jetty-base</assemblyDirectory>
+ <!-- dependencies for the shipped jetty-base -->
<logback.version>1.5.3</logback.version>
+ <slf4j.version>2.0.12</slf4j.version>
+ <!-- The things we will combine into the MSI -->
+ <procrun.groupId>commons-daemon</procrun.groupId>
+ <procrun.artifactId>commons-daemon</procrun.artifactId>
+ <procrun.version>1.3.4</procrun.version>
+ <procrun.classifier>bin-windows</procrun.classifier>
+ <jetty.version>12.0.9</jetty.version>
+ <!-- Control for building the MSI -->
+ <jetty.revision>5</jetty.revision>
+ <supress.validation>false</supress.validation>
</properties>
<dependencies>
@@ -33,107 +48,191 @@
<!-- Managed Dependencies -->
</dependencies>
- <build>
- <plugins>
- <!-- Copy src/main/resources to assembly directory. -->
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-resources</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <includeEmptyDirs>true</includeEmptyDirs>
- <outputDirectory>${assemblyDirectory}</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}/src/main/resources</directory>
- <excludes>
- <exclude>**/.gitkeep</exclude>
- </excludes>
- <filtering>false</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- <!-- Copy src/test/resources to assembly-testbed directory. -->
- <!-- Don't build the testbed this way, yet ...
- <execution>
- <id>copy-testbed-resources</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${assemblyDirectory}-testbed</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}/src/test/resources</directory>
- <excludes>
- <exclude>**/.gitkeep</exclude>
- </excludes>
- </resource>
- </resources>
- </configuration>
- </execution>
- -->
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <!-- Copy Logback logging dependencies to jetty-base/lib/logging directory. -->
- <execution>
- <id>copy-jetty-logging-logback</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>${logback.version}</version>
- </artifactItem>
- <artifactItem>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>${logback.version}</version>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${assemblyDirectory}/jetty-base/lib/logging/</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Assemble the artifacts. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptors>
- <descriptor>src/main/assembly/tgz.xml</descriptor>
- <descriptor>src/main/assembly/zip.xml</descriptor>
- <!-- <descriptor>src/main/assembly/testbed.xml</descriptor> -->
- </descriptors>
- <tarLongFileMode>gnu</tarLongFileMode>
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+ <profiles>
+ <profile>
+ <id>build-msi</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ <os>
+ <family>windows</family>
+ </os>
+ </activation>
+ <build>
+ <plugins>
+ <!-- Copy src/main/resources to assembly directory. -->
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-resources</id>
+ <phase>process-sources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <includeEmptyDirs>true</includeEmptyDirs>
+ <outputDirectory>${assemblyDirectory}</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <!-- Copy src/test/resources to assembly-testbed directory. -->
+ <!-- Don't build the testbed this way, yet ...
+ <execution>
+ <id>copy-testbed-resources</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${assemblyDirectory}-testbed</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/test/resources</directory>
+ <excludes>
+ <exclude>**/.gitkeep</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ -->
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <!-- Copy Logback logging dependencies to jetty-base/lib/logging directory. -->
+ <execution>
+ <id>copy-jetty-logging-logback</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ </artifactItem>
+ <artifactItem>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>${logback.version}</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${assemblyDirectory}/jetty-base/lib/logging/</outputDirectory>
+ </configuration>
+ </execution>
+ <!-- Unpack procrun -->
+ <execution>
+ <id>unpack-procrun</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${procrun.groupId}</groupId>
+ <artifactId>${procrun.artifactId}</artifactId>
+ <version>${procrun.version}</version>
+ <classifier>${procrun.classifier}</classifier>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/procrun/</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ <!-- Unpack Jetty -->
+ <execution>
+ <id>unpack-jetty</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${jetty.groupId}</groupId>
+ <artifactId>jetty-home</artifactId>
+ <version>${jetty.version}</version>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- WIX -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>${maven-exec-plugin.version}</version>
+ <executions>
+ <!-- clean -->
+ <execution>
+ <id>clean</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>msbuild</executable>
+ <executable>dotnet</executable>
+ <arguments>
+ <argument>clean</argument>
+ <argument>src/main/wix/wix.vcxproj</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <!--Build -->
+ <execution>
+ <id>compile</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>dotnet</executable>
+ <arguments>
+ <argument>build</argument>
+ <argument>src/main/wix/wix.vcxproj</argument>
+ <argument>/p:JettyVersion=${jetty.version},SuppressValidation=${supress.validation},JettyRevision=${jetty.revision}</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- copy built output to final location, giving the MSI an appropriate name -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.8</version>
+ <executions>
+ <execution>
+ <id>move-msi-to-target</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <copy file="src/main/wix/obj/Debug/wix.msi" tofile="${project.build.directory}/shibboleth-jetty-base-x64-${project.version}.msi"/>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list