8000 Merge branch 'fix-gradle-windows' · scijava/pom-scijava@162fb9e · GitHub
[go: up one dir, main page]

Skip to content

Commit 162fb9e

Browse files
committed
Merge branch 'fix-gradle-windows'
Update gradle catalog building to work cross-platform, including on Windows.
2 parents f9188cd + 943f77f commit 162fb9e

File tree

3 files changed

+118
-4
lines changed

3 files changed

+118
-4
lines changed

gradle-scijava/build.gradle.kts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@ javaPlatform {
2323
val computeCatalogAndPlatform = tasks.register<Exec>("generateCatalog") {
2424

2525
workingDir = projectDir.parentFile
26-
commandLine("sh", "-c", "mvn -B -f pom.xml help:effective-pom")
26+
commandLine("sh", "-c", "mvn -B -Dfile.encoding=UTF-8 -f pom.xml help:effective-pom")
2727
standardOutput = ByteArrayOutputStream()
2828

2929
doLast {
3030
var output = standardOutput.toString()
31-
// clean output from dirty
32-
output = output.substringAfter("\n\n").substringBefore("\n\n")
31+
// Remove leading/trailing maven output from pom.xml
32+
output = output
33+
.substringAfter("Effective POMs, after inheritance, interpolation, and profiles are applied:")
34+
.substringBefore("[INFO]")
35+
.trim()
3336

3437
operator fun GPathResult.div(child: String) = children().find { (it!! as NodeChild).name() == child } as GPathResult
3538

gradle-scijava/gradle.bat

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
@rem
2+
@rem Copyright 2015 the original author or authors.
3+
@rem
4+
@rem Licensed under the Apache License, Version 2.0 (the "License");
5+
@rem you may not use this file except in compliance with the License.
6+
@rem You may obtain a copy of the License at
7+
@rem
8+
@rem https://www.apache.org/licenses/LICENSE-2.0
9+
@rem
10+
@rem Unless required by applicable law or agreed to in writing, software
11+
@rem distributed under the License is distributed on an "AS IS" BASIS,
12+
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
@rem See the License for the specific language governing permissions and
14+
@rem limitations under the License.
15+
@rem
16+
17+
@if "%DEBUG%" == "" @echo off
18+
@rem ##########################################################################
19+
@rem
20+
@rem Gradle startup script for Windows
21+
@rem
22+
@rem ##########################################################################
23+
24+
@rem Set local scope for the variables with windows NT shell
25+
if "%OS%"=="Windows_NT" setlocal
26+
27+
set DIRNAME=%~dp0
28+
if "%DIRNAME%" == "" set DIRNAME=.
29+
set APP_BASE_NAME=%~n0
30+
set APP_HOME=%DIRNAME%
31+
32+
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
33+
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34+
35+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36+
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37+
38+
@rem Find java.exe
39+
if defined JAVA_HOME goto findJavaFromJavaHome
40+
41+
set JAVA_EXE=java.exe
42+
%JAVA_EXE% -version >NUL 2>&1
43+
if "%ERRORLEVEL%" == "0" goto execute
44+
45+
echo.
46+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47+
echo.
48+
echo Please set the JAVA_HOME variable in your environment to match the
49+
echo location of your Java installation.
50+
51+
goto fail
52+
53+
:findJavaFromJavaHome
54+
set JAVA_HOME=%JAVA_HOME:"=%
55+
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56+
57+
if exist "%JAVA_EXE%" goto execute
58+
59+
echo.
60+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61+
echo.
62+
echo Please set the JAVA_HOME variable in your environment to match the
63+
echo location of your Java installation.
64+
65+
goto fail
66+
67+
:execute
68+
@rem Setup the command line
69+
70+
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71+
72+
73+
@rem Execute Gradle
74+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75+
76+
:end
77+
@rem End local scope for the variables with windows NT shell
78+
if "%ERRORLEVEL%"=="0" goto mainEnd
79+
80+
:fail
81+
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82+
rem the _cmd.exe /c_ return code!
83+
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84+
exit /b 1
85+
86+
:mainEnd
87+
if "%OS%"=="Windows_NT" endlocal
88+
89+
:omega

pom.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6873,6 +6873,28 @@
68736873
</dependencyManagement>
68746874

68756875
<profiles>
6876+
<profile>
6877+
<id>windows</id>
6878+
<activation>
6879+
<os>
6880+
<family>Windows</family>
6881+
</os>
6882+
</activation>
6883+
<properties>
6884+
<gradle.wrapper>gradle.bat</gradle.wrapper>
6885+
</properties>
6886+
</profile>
6887+
<profile>
6888+
<id>posix</id>
6889+
<activation>
6890+
<os>
6891+
<family>unix</family>
6892+
</os>
6893+
</activation>
6894+
<properties>
6895+
<gradle.wrapper>./gradlew</gradle.wrapper>
6896+
</properties>
6897+
</profile>
68766898
<profile>
68776899
<id>scijava-gradle-catalog-and-platform</id>
68786900
<activation>
@@ -6894,7 +6916,7 @@
68946916
<goal>exec</goal>
68956917
</goals>
68966918
<configuration>
6897-
<executable>./gradlew</executable>
6919+
<executable>${gradle.wrapper}</executable>
68986920
<workingDirectory>${basedir}/gradle-scijava</workingDirectory>
68996921
<arguments>
69006922
<argument>--project-cache-dir</argument>

0 commit comments

Comments
 (0)
0