Compare commits
44 commits
Author | SHA1 | Date | |
---|---|---|---|
6bec436b11 | |||
fc8304ccde | |||
36aa281834 | |||
b74d366255 | |||
5bac33d622 | |||
a38a51c68f | |||
1058f7719e | |||
4ac16ecaa4 | |||
a4c47eee81 | |||
00df6edbc2 | |||
e67cb22884 | |||
11970069df | |||
86d113fe31 | |||
548612df7b | |||
5316279412 | |||
1a2ea9edb0 | |||
5a99244158 | |||
f1bff720e0 | |||
ffee594e32 | |||
11ff9c0afc | |||
0b1fc2e3d9 | |||
6f0e912bcb | |||
0d60e91f11 | |||
98dbf61eb1 | |||
f8db36b235 | |||
ffb8a706d3 | |||
040a4681e5 | |||
a3217e271b | |||
5ad38d14ec | |||
772bc63bb2 | |||
2962797f94 | |||
c232d50d8f | |||
08c527f6e6 | |||
ff9a62eccd | |||
3f6ab7383f | |||
c77118a6eb | |||
4eed926a06 | |||
cf558ef357 | |||
25c0a63ee6 | |||
c3562c3275 | |||
c208b68226 | |||
7ad2b23b2e | |||
e711e405aa | |||
d98a140f96 |
22 changed files with 133 additions and 79 deletions
26
.github/workflows/bld.yml
vendored
26
.github/workflows/bld.yml
vendored
|
@ -4,11 +4,13 @@ on: [push, pull_request, workflow_dispatch]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-bld-project:
|
build-bld-project:
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
java-version: [17, 21, 22]
|
java-version: [ 17, 21, 24 ]
|
||||||
|
kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ]
|
||||||
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source repository
|
- name: Checkout source repository
|
||||||
|
@ -22,12 +24,24 @@ jobs:
|
||||||
distribution: "zulu"
|
distribution: "zulu"
|
||||||
java-version: ${{ matrix.java-version }}
|
java-version: ${{ matrix.java-version }}
|
||||||
|
|
||||||
- name: Download dependencies
|
|
||||||
run: ./bld download
|
|
||||||
|
|
||||||
- name: Download dependencies [examples]
|
- name: Download dependencies [examples]
|
||||||
working-directory: examples
|
working-directory: examples
|
||||||
run: ./bld download
|
run: ./bld download
|
||||||
|
|
||||||
|
- name: Run tests [examples]
|
||||||
|
working-directory: examples
|
||||||
|
run: ./bld compile test
|
||||||
|
|
||||||
|
- name: Compile and create the JAR [examples]
|
||||||
|
working-directory: examples
|
||||||
|
run: ./bld compile bootjar
|
||||||
|
|
||||||
|
- name: Compile and create the WAR [examples]
|
||||||
|
working-directory: examples
|
||||||
|
run: ./bld compile bootwar
|
||||||
|
|
||||||
|
- name: Download dependencies
|
||||||
|
run: ./bld download
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: ./bld compile test
|
run: ./bld compile test
|
4
.github/workflows/pages.yml
vendored
4
.github/workflows/pages.yml
vendored
|
@ -47,11 +47,11 @@ jobs:
|
||||||
uses: actions/configure-pages@v3
|
uses: actions/configure-pages@v3
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-pages-artifact@v1
|
uses: actions/upload-pages-artifact@v3
|
||||||
with:
|
with:
|
||||||
# Upload generated Javadocs repository
|
# Upload generated Javadocs repository
|
||||||
path: "build/javadoc/"
|
path: "build/javadoc/"
|
||||||
|
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
id: deployment
|
id: deployment
|
||||||
uses: actions/deploy-pages@v1
|
uses: actions/deploy-pages@v4
|
||||||
|
|
2
.idea/copyright/Apache_License.xml
generated
2
.idea/copyright/Apache_License.xml
generated
|
@ -1,6 +1,6 @@
|
||||||
<component name="CopyrightManager">
|
<component name="CopyrightManager">
|
||||||
<copyright>
|
<copyright>
|
||||||
<option name="notice" value="Copyright 2023-Copyright &#36;today.yearamp;#36;today.year the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." />
|
<option name="notice" value="Copyright 2023-&#36;today.year the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." />
|
||||||
<option name="myName" value="Apache License" />
|
<option name="myName" value="Apache License" />
|
||||||
</copyright>
|
</copyright>
|
||||||
</component>
|
</component>
|
13
.idea/icon.svg
generated
Normal file
13
.idea/icon.svg
generated
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 179 108" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<g transform="matrix(1,0,0,1,-210.511,-96.3382)">
|
||||||
|
<g transform="matrix(1,0,0,1,-23.3386,-649.816)">
|
||||||
|
<g transform="matrix(0.221288,0,0,0.24,73.9536,390.254)">
|
||||||
|
<path d="M722.568,1482.92L722.568,1921.1L808.968,1921.1L808.968,1888.7C822.168,1907.9 846.168,1930.1 893.568,1930.1C933.168,1930.1 961.968,1917.5 985.368,1893.5C1012.97,1865.9 1027.37,1827.5 1027.37,1786.1C1027.37,1741.7 1011.17,1705.1 985.368,1680.5C961.968,1658.3 928.968,1644.5 892.368,1644.5C862.968,1644.5 830.568,1654.1 808.968,1683.5L808.968,1482.92L722.568,1482.92ZM871.368,1718.9C888.768,1718.9 903.768,1723.7 917.568,1736.9C930.168,1748.9 938.568,1766.3 938.568,1787.9C938.568,1807.7 930.168,1825.1 917.568,1837.1C904.368,1849.7 887.568,1855.7 872.568,1855.7C856.368,1855.7 837.168,1849.1 823.368,1835.9C813.168,1826.3 803.568,1810.1 803.568,1787.9C803.568,1765.1 812.568,1749.5 822.768,1738.7C836.568,1724.3 852.768,1718.9 871.368,1718.9Z" style="fill:rgb(35,146,255);fill-rule:nonzero;"/>
|
||||||
|
<rect x="1083.77" y="1482.92" width="86.4" height="438.182" style="fill:rgb(250,144,82);fill-rule:nonzero;"/>
|
||||||
|
<path d="M1531.37,1482.92L1444.97,1482.92L1444.97,1683.5C1423.37,1654.1 1390.97,1644.5 1361.57,1644.5C1324.97,1644.5 1291.97,1658.3 1268.57,1680.5C1242.77,1705.1 1226.57,1741.7 1226.57,1786.1C1226.57,1827.5 1240.97,1865.9 1268.57,1893.5C1291.97,1917.5 1320.77,1930.1 1360.37,1930.1C1407.77,1930.1 1431.77,1907.9 1444.97,1888.7L1444.97,1921.1L1531.37,1921.1L1531.37,1482.92ZM1382.57,1718.9C1401.17,1718.9 1417.37,1724.3 1431.17,1738.7C1441.37,1749.5 1450.37,1765.1 1450.37,1787.9C1450.37,1810.1 1440.77,1826.3 1430.57,1835.9C1416.77,1849.1 1397.57,1855.7 1381.37,1855.7C1366.37,1855.7 1349.57,1849.7 1336.37,1837.1C1323.77,1825.1 1315.37,1807.7 1315.37,1787.9C1315.37,1766.3 1323.77,1748.9 1336.37,1736.9C1350.17,1723.7 1365.17,1718.9 1382.57,1718.9Z" style="fill:rgb(35,146,255);fill-rule:nonzero;"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
4
.idea/libraries/bld.xml
generated
4
.idea/libraries/bld.xml
generated
|
@ -2,12 +2,12 @@
|
||||||
<library name="bld">
|
<library name="bld">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC />
|
<JAVADOC />
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
<excluded>
|
<excluded>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
||||||
|
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -9,7 +9,7 @@
|
||||||
],
|
],
|
||||||
"java.configuration.updateBuildConfiguration": "automatic",
|
"java.configuration.updateBuildConfiguration": "automatic",
|
||||||
"java.project.referencedLibraries": [
|
"java.project.referencedLibraries": [
|
||||||
"${HOME}/.bld/dist/bld-2.1.0.jar",
|
"${HOME}/.bld/dist/bld-2.2.1.jar",
|
||||||
"lib/**/*.jar"
|
"lib/**/*.jar"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
18
README.md
18
README.md
|
@ -2,12 +2,20 @@
|
||||||
|
|
||||||
[](https://opensource.org/licenses/Apache-2.0)
|
[](https://opensource.org/licenses/Apache-2.0)
|
||||||
[](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
|
[](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
|
||||||
[](https://rife2.com/bld)
|
[](https://rife2.com/bld)
|
||||||
[](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-spring-boot)
|
[](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-spring-boot)
|
||||||
[](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-spring-boot)
|
[](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-spring-boot)
|
||||||
[](https://github.com/rife2/bld-spring-boot/actions/workflows/bld.yml)
|
[](https://github.com/rife2/bld-spring-boot/actions/workflows/bld.yml)
|
||||||
|
|
||||||
To install, please refer to the [extensions documentation](https://github.com/rife2/bld/wiki/Extensions).
|
To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file:
|
||||||
|
|
||||||
|
```properties
|
||||||
|
bld.extension-spring-boot=com.uwyn.rife2:bld-spring-boot
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation.
|
||||||
|
|
||||||
|
## Create an Executable JAR
|
||||||
|
|
||||||
To create a [Spring Boot executable Java Archive](https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html)
|
To create a [Spring Boot executable Java Archive](https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html)
|
||||||
(JAR) from the current project:
|
(JAR) from the current project:
|
||||||
|
@ -27,6 +35,8 @@ public void bootjar() throws Exception {
|
||||||
|
|
||||||
- [View Examples Project](https://github.com/rife2/bld-spring-boot/tree/main/examples)
|
- [View Examples Project](https://github.com/rife2/bld-spring-boot/tree/main/examples)
|
||||||
|
|
||||||
|
## Create an Executable WAR
|
||||||
|
|
||||||
To create a [Spring Boot executable Web Archive](https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#appendix.executable-jar.nested-jars.war-structure)
|
To create a [Spring Boot executable Web Archive](https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#appendix.executable-jar.nested-jars.war-structure)
|
||||||
(WAR) from the current project:
|
(WAR) from the current project:
|
||||||
|
|
||||||
|
@ -45,11 +55,13 @@ public void bootwar() throws Exception {
|
||||||
|
|
||||||
- [View Examples Project](https://github.com/rife2/bld-spring-boot/tree/main/examples)
|
- [View Examples Project](https://github.com/rife2/bld-spring-boot/tree/main/examples)
|
||||||
|
|
||||||
|
## Required Dependency
|
||||||
|
|
||||||
Don't forget to include the _Spring Boot Loader_ dependency to your project:
|
Don't forget to include the _Spring Boot Loader_ dependency to your project:
|
||||||
|
|
||||||
```java
|
```java
|
||||||
scope(standalone)
|
scope(standalone)
|
||||||
.include(dependency("org.springframeworkboot:spring-boot-loader:3.3.3"));
|
.include(dependency("org.springframework.boot:spring-boot-loader:3.4.4"));
|
||||||
```
|
```
|
||||||
|
|
||||||
Please check the [BootJarOperation documentation](https://rife2.github.io/bld-spring-boot/rife/bld/extension/BootJarOperation.html#method-summary)
|
Please check the [BootJarOperation documentation](https://rife2.github.io/bld-spring-boot/rife/bld/extension/BootJarOperation.html#method-summary)
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
<!-- BEST PRACTICES -->
|
<!-- BEST PRACTICES -->
|
||||||
<rule ref="category/java/bestpractices.xml">
|
<rule ref="category/java/bestpractices.xml">
|
||||||
<exclude name="AvoidPrintStackTrace"/>
|
<exclude name="AvoidPrintStackTrace"/>
|
||||||
<exclude name="JUnit4TestShouldUseTestAnnotation"/>
|
|
||||||
<exclude name="JUnitTestContainsTooManyAsserts"/>
|
|
||||||
<exclude name="GuardLogStatement"/>
|
<exclude name="GuardLogStatement"/>
|
||||||
|
<exclude name="UnitTestContainsTooManyAsserts"/>
|
||||||
|
<exclude name="UnitTestShouldUseTestAnnotation"/>
|
||||||
</rule>
|
</rule>
|
||||||
|
|
||||||
<rule ref="category/java/bestpractices.xml/MissingOverride">
|
<rule ref="category/java/bestpractices.xml/MissingOverride">
|
||||||
|
|
6
examples/.idea/bld.xml
generated
Normal file
6
examples/.idea/bld.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="BldConfiguration">
|
||||||
|
<events />
|
||||||
|
</component>
|
||||||
|
</project>
|
4
examples/.idea/libraries/bld.xml
generated
4
examples/.idea/libraries/bld.xml
generated
|
@ -2,12 +2,12 @@
|
||||||
<library name="bld">
|
<library name="bld">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC />
|
<JAVADOC />
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-2.1.0-sources.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.2.1-sources.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
<excluded>
|
<excluded>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
||||||
|
|
5
examples/.vscode/settings.json
vendored
5
examples/.vscode/settings.json
vendored
|
@ -9,7 +9,8 @@
|
||||||
],
|
],
|
||||||
"java.configuration.updateBuildConfiguration": "automatic",
|
"java.configuration.updateBuildConfiguration": "automatic",
|
||||||
"java.project.referencedLibraries": [
|
"java.project.referencedLibraries": [
|
||||||
"${HOME}/.bld/dist/bld-2.1.0.jar",
|
"${HOME}/.bld/dist/bld-2.2.1.jar",
|
||||||
"lib/**/*.jar"
|
"lib/**/*.jar"
|
||||||
]
|
],
|
||||||
|
"java.compile.nullAnalysis.mode": "automatic"
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -1,7 +1,7 @@
|
||||||
bld.downloadExtensionJavadoc=false
|
bld.downloadExtensionJavadoc=false
|
||||||
bld.downloadExtensionSources=true
|
bld.downloadExtensionSources=true
|
||||||
bld.downloadLocation=
|
bld.downloadLocation=
|
||||||
bld.extension-boot=com.uwyn.rife2:bld-spring-boot:0.9.8
|
bld.extension-boot=com.uwyn.rife2:bld-spring-boot:1.0.3
|
||||||
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
||||||
bld.sourceDirectories=
|
bld.sourceDirectories=
|
||||||
bld.version=2.1.0
|
bld.version=2.2.1
|
||||||
|
|
|
@ -26,16 +26,21 @@ public class DemoApplicationBuild extends WebProject {
|
||||||
|
|
||||||
repositories = List.of(MAVEN_CENTRAL);
|
repositories = List.of(MAVEN_CENTRAL);
|
||||||
|
|
||||||
|
var boot = version(3, 4, 5);
|
||||||
scope(compile)
|
scope(compile)
|
||||||
.include(dependency("org.springframework.boot:spring-boot-starter:3.3.3"))
|
.include(dependency("org.springframework.boot", "spring-boot-starter", boot))
|
||||||
.include(dependency("org.springframework.boot:spring-boot-starter-actuator:3.3.3"))
|
.include(dependency("org.springframework.boot", "spring-boot-starter-actuator", boot))
|
||||||
.include(dependency("org.springframework.boot:spring-boot-starter-web:3.3.3"));
|
.include(dependency("org.springframework.boot", "spring-boot-starter-web", boot))
|
||||||
|
.include(dependency("org.mockito:mockito-core:5.17.0"));
|
||||||
scope(test)
|
scope(test)
|
||||||
.include(dependency("org.springframework.boot:spring-boot-starter-test:3.3.3"))
|
.include(dependency("org.springframework.boot", "spring-boot-starter-test", boot))
|
||||||
.include(dependency("org.junit.jupiter:junit-jupiter:5.11.0"))
|
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 2)))
|
||||||
.include(dependency("org.junit.platform:junit-platform-console-standalone:1.11.0"));
|
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 2)));
|
||||||
scope(standalone)
|
scope(standalone)
|
||||||
.include(dependency("org.springframework.boot:spring-boot-loader:3.3.3"));
|
.include(dependency("org.springframework.boot", "spring-boot-loader", boot));
|
||||||
|
|
||||||
|
testOperation().javaOptions(List.of("-XX:+EnableDynamicAgentLoading"))
|
||||||
|
.javaOptions().enableNativeAccess("ALL-UNNAMED");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
Binary file not shown.
|
@ -1,7 +1,7 @@
|
||||||
bld.downloadExtensionJavadoc=false
|
bld.downloadExtensionJavadoc=false
|
||||||
bld.downloadExtensionSources=true
|
bld.downloadExtensionSources=true
|
||||||
bld.downloadLocation=
|
bld.downloadLocation=
|
||||||
bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.5
|
bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.2
|
||||||
bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_RELEASES
|
bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_RELEASES
|
||||||
bld.sourceDirectories=
|
bld.sourceDirectories=
|
||||||
bld.version=2.1.0
|
bld.version=2.2.1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -33,7 +33,7 @@ public class SpringBootBuild extends Project {
|
||||||
public SpringBootBuild() {
|
public SpringBootBuild() {
|
||||||
pkg = "rife.bld.extension";
|
pkg = "rife.bld.extension";
|
||||||
name = "bld-spring-boot";
|
name = "bld-spring-boot";
|
||||||
version = version(0, 9, 8);
|
version = version(1, 0, 4, "SNAPSHOT");
|
||||||
|
|
||||||
javaRelease = 17;
|
javaRelease = 17;
|
||||||
|
|
||||||
|
@ -43,11 +43,11 @@ public class SpringBootBuild extends Project {
|
||||||
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS);
|
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS);
|
||||||
|
|
||||||
scope(compile)
|
scope(compile)
|
||||||
.include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0)));
|
.include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1)));
|
||||||
scope(test)
|
scope(test)
|
||||||
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
|
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 2)))
|
||||||
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)))
|
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 2)))
|
||||||
.include(dependency("org.assertj", "assertj-core", version(3, 26, 3)));
|
.include(dependency("org.assertj", "assertj-core", version(3, 27, 3)));
|
||||||
|
|
||||||
javadocOperation()
|
javadocOperation()
|
||||||
.javadocOptions()
|
.javadocOptions()
|
||||||
|
@ -57,25 +57,23 @@ public class SpringBootBuild extends Project {
|
||||||
|
|
||||||
publishOperation()
|
publishOperation()
|
||||||
.repository(version.isSnapshot() ? repository("rife2-snapshot") : repository("rife2"))
|
.repository(version.isSnapshot() ? repository("rife2-snapshot") : repository("rife2"))
|
||||||
|
.repository(repository("github"))
|
||||||
.info()
|
.info()
|
||||||
.groupId("com.uwyn.rife2")
|
.groupId("com.uwyn.rife2")
|
||||||
.artifactId("bld-spring-boot")
|
.artifactId("bld-spring-boot")
|
||||||
.description("bld Extension for Spring Boot")
|
.description("bld Extension for Spring Boot")
|
||||||
.url("https://github.com/rife2/bld-spring-boot")
|
.url("https://github.com/rife2/bld-spring-boot")
|
||||||
.developer(
|
.developer(new PublishDeveloper()
|
||||||
new PublishDeveloper()
|
|
||||||
.id("ethauvin")
|
.id("ethauvin")
|
||||||
.name("Erik C. Thauvin")
|
.name("Erik C. Thauvin")
|
||||||
.email("erik@thauvin.net")
|
.email("erik@thauvin.net")
|
||||||
.url("https://erik.thauvin.net/")
|
.url("https://erik.thauvin.net/")
|
||||||
)
|
)
|
||||||
.license(
|
.license(new PublishLicense()
|
||||||
new PublishLicense()
|
|
||||||
.name("The Apache License, Version 2.0")
|
.name("The Apache License, Version 2.0")
|
||||||
.url("https://www.apache.org/licenses/LICENSE-2.0.txt")
|
.url("https://www.apache.org/licenses/LICENSE-2.0.txt")
|
||||||
)
|
)
|
||||||
.scm(
|
.scm(new PublishScm()
|
||||||
new PublishScm()
|
|
||||||
.connection("scm:git:https://github.com/rife2/bld-spring-boot.git")
|
.connection("scm:git:https://github.com/rife2/bld-spring-boot.git")
|
||||||
.developerConnection("scm:git:git@github.com:rife2/bld-spring-boot.git")
|
.developerConnection("scm:git:git@github.com:rife2/bld-spring-boot.git")
|
||||||
.url("https://github.com/rife2/bld-spring-boot")
|
.url("https://github.com/rife2/bld-spring-boot")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2023-2024 the original author or authors.
|
* Copyright 2023-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
package rife.bld.extension;
|
package rife.bld.extension;
|
||||||
|
|
||||||
|
import org.assertj.core.api.AutoCloseableSoftAssertions;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import rife.bld.Project;
|
import rife.bld.Project;
|
||||||
import rife.bld.dependencies.VersionNumber;
|
import rife.bld.dependencies.VersionNumber;
|
||||||
|
@ -34,8 +35,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatCode;
|
import static org.assertj.core.api.Assertions.assertThatCode;
|
||||||
|
|
||||||
class BootJarOperationTest {
|
class BootJarOperationTest {
|
||||||
private static final String BLD = "bld-2.1.0.jar";
|
private static final String BLD = "bld-2.2.1.jar";
|
||||||
private static final String BOOT_VERSION = "3.3.3";
|
private static final String BOOT_VERSION = "3.4.5";
|
||||||
private static final String EXAMPLES_LIB_COMPILE = "examples/lib/compile/";
|
private static final String EXAMPLES_LIB_COMPILE = "examples/lib/compile/";
|
||||||
private static final String EXAMPLES_LIB_RUNTIME = "examples/lib/runtime/";
|
private static final String EXAMPLES_LIB_RUNTIME = "examples/lib/runtime/";
|
||||||
private static final String EXAMPLES_LIB_STANDALONE = "examples/lib/standalone/";
|
private static final String EXAMPLES_LIB_STANDALONE = "examples/lib/standalone/";
|
||||||
|
@ -61,6 +62,7 @@ class BootJarOperationTest {
|
||||||
org/springframework/boot/loader/jar/ZipInflaterInputStream.class
|
org/springframework/boot/loader/jar/ZipInflaterInputStream.class
|
||||||
org/springframework/boot/loader/jarmode/
|
org/springframework/boot/loader/jarmode/
|
||||||
org/springframework/boot/loader/jarmode/JarMode.class
|
org/springframework/boot/loader/jarmode/JarMode.class
|
||||||
|
org/springframework/boot/loader/jarmode/JarModeErrorException.class
|
||||||
org/springframework/boot/loader/launch/
|
org/springframework/boot/loader/launch/
|
||||||
org/springframework/boot/loader/launch/Archive$Entry.class
|
org/springframework/boot/loader/launch/Archive$Entry.class
|
||||||
org/springframework/boot/loader/launch/Archive.class
|
org/springframework/boot/loader/launch/Archive.class
|
||||||
|
@ -345,21 +347,24 @@ class BootJarOperationTest {
|
||||||
var project = new CustomProject(tmp_dir);
|
var project = new CustomProject(tmp_dir);
|
||||||
var bootJar = new BootJarOperation().fromProject(project).sourceDirectories(SRC_MAIN_JAVA);
|
var bootJar = new BootJarOperation().fromProject(project).sourceDirectories(SRC_MAIN_JAVA);
|
||||||
|
|
||||||
assertThat(bootJar.mainClass()).as("mainClass").isEqualTo(MAIN_CLASS);
|
try (var softly = new AutoCloseableSoftAssertions()) {
|
||||||
assertThat(bootJar.sourceDirectories()).as("sourceDirectories.size").hasSize(3)
|
softly.assertThat(bootJar.mainClass()).as("mainClass").isEqualTo(MAIN_CLASS);
|
||||||
|
softly.assertThat(bootJar.sourceDirectories()).as("sourceDirectories.size").hasSize(3)
|
||||||
.containsExactly(project.buildMainDirectory(), project.srcMainResourcesDirectory(),
|
.containsExactly(project.buildMainDirectory(), project.srcMainResourcesDirectory(),
|
||||||
new File(SRC_MAIN_JAVA));
|
new File(SRC_MAIN_JAVA));
|
||||||
assertThat(bootJar.manifestAttributes()).as("manifestAttributes.size").hasSize(3);
|
softly.assertThat(bootJar.manifestAttributes()).as("manifestAttributes.size").hasSize(3);
|
||||||
assertThat(bootJar.manifestAttributes().get("Manifest-Version")).as("Manifest-Version").isEqualTo("1.0");
|
softly.assertThat(bootJar.manifestAttributes().get("Manifest-Version")).as("Manifest-Version")
|
||||||
assertThat(bootJar.manifestAttributes().get("Main-Class")).as("Main-Class").endsWith("JarLauncher");
|
.isEqualTo("1.0");
|
||||||
assertThat(bootJar.manifestAttributes().get("Start-Class")).as("Start-Class").isEqualTo(MAIN_CLASS);
|
softly.assertThat(bootJar.manifestAttributes().get("Main-Class")).as("Main-Class").endsWith("JarLauncher");
|
||||||
assertThat(bootJar.manifestAttribute("Manifest-Test", "tsst")
|
softly.assertThat(bootJar.manifestAttributes().get("Start-Class")).as("Start-Class").isEqualTo(MAIN_CLASS);
|
||||||
|
softly.assertThat(bootJar.manifestAttribute("Manifest-Test", "tsst")
|
||||||
.manifestAttributes().get("Manifest-Test")).as("Manifest-Test").isEqualTo("tsst");
|
.manifestAttributes().get("Manifest-Test")).as("Manifest-Test").isEqualTo("tsst");
|
||||||
assertThat(bootJar.destinationDirectory()).as("destinationDirectory").isDirectory();
|
softly.assertThat(bootJar.destinationDirectory()).as("destinationDirectory").isDirectory();
|
||||||
assertThat(bootJar.destinationDirectory()).isEqualTo(project.buildDistDirectory());
|
softly.assertThat(bootJar.destinationDirectory()).isEqualTo(project.buildDistDirectory());
|
||||||
assertThat(bootJar.infLibs()).as("infoLibs").isEmpty();
|
softly.assertThat(bootJar.infLibs()).as("infoLibs").isEmpty();
|
||||||
assertThat(bootJar.launcherLibs()).as("launcherJars").isEmpty();
|
softly.assertThat(bootJar.launcherLibs()).as("launcherJars").isEmpty();
|
||||||
assertThat(bootJar.destinationFileName()).isEqualTo("test_project-0.0.1-boot.jar");
|
softly.assertThat(bootJar.destinationFileName()).isEqualTo("test_project-0.0.1-boot.jar");
|
||||||
|
}
|
||||||
|
|
||||||
FileUtils.deleteDirectory(tmp_dir);
|
FileUtils.deleteDirectory(tmp_dir);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue