michael-o commented on code in PR #878:
URL: https://github.com/apache/maven/pull/878#discussion_r1565386307
##########
apache-maven/src/assembly/shared/init.ps1:
##########
@@ -0,0 +1,83 @@
+# ==== END VALIDATION ====
+
+$CLASSWORLDS_CONF = "$MAVEN_HOME\bin\m2.conf"
+
+# Find the project basedir, i.e., the directory that contains the directory
".mvn".
+# Fallback to current working directory if not found.
+
+$WDIR = Get-Location
+
+# Look for the --file switch and start the search for the .mvn directory from
the specified
+# POM location, if supplied.
+
+$i = 0
+$file_flag_found = $false
+foreach ($arg in $args) {
+ if (($arg -ceq "-f") -or ($arg -ceq "--file")) {
+ $file_flag_found = $true
+ break
+ }
+ $i += 1
+}
+
+function IsNotRoot {
+ param (
+ [String] $path
+ )
+ $root_path_base_name = ((get-item $path).Root.BaseName
+ $path_base_name = ((get-item $path).BaseName
+
+ return $root_path_base_name -ne $path_base_name
+}
+
+function RetrieveContentsJvmConfig {
+ param (
+ [String] $path
+ )
+
+ $jvm_config = $path + "\.mvn\jvm.config"
+
+ if (Test-Path $jvm_config) {
+ return $env:MAVEN_OPTS + " " + -Join (Get-Content $jvm_config)
+ }
+ return $env:MAVEN_OPTS
+}
+
+$basedir = ""
+
+if ($file_flag_found) {
+ # we need to assess if the file exists
+ # and then search for the maven project base dir.
+ $pom_file_reference = $args[$i + 1]
+
+ if (Test-Path $pom_file_reference) {
+ $basedir = (Get-Item $pom_file_reference).DirectoryName
+ }
+ else {
+ $pom_file_error = "POM file " + $pom_file_reference + " specified the
-f/--file command-line argument does not exist"
+ Write-Error -Message $pom_file_error -ErrorAction Stop
+ }
+}
+else {
+ # if file flag is not found, then the pom.xml is relative to the working dir
+ # and the jvm.config can be found in the maven project base dir.
+
+ $basedir = $WDIR
+
+ while (IsNotRoot($WDIR.Path)) {
+ if (Test-Path "$WDIR\.mvn") {
+ $basedir = $WDIR
+ break
+ }
+
+ if ($WDIR) {
+ $WDIR = Split-Path $WDIR
+ }
+ else {
+ break
+ }
+ }
+}
+
+$MAVEN_OPTS = (RetrieveContentsJvmConfig $basedir)
Review Comment:
See above.
##########
apache-maven/src/assembly/shared/init.ps1:
##########
@@ -0,0 +1,83 @@
+# ==== END VALIDATION ====
+
+$CLASSWORLDS_CONF = "$MAVEN_HOME\bin\m2.conf"
+
+# Find the project basedir, i.e., the directory that contains the directory
".mvn".
+# Fallback to current working directory if not found.
+
+$WDIR = Get-Location
+
+# Look for the --file switch and start the search for the .mvn directory from
the specified
+# POM location, if supplied.
+
+$i = 0
+$file_flag_found = $false
+foreach ($arg in $args) {
+ if (($arg -ceq "-f") -or ($arg -ceq "--file")) {
+ $file_flag_found = $true
+ break
+ }
+ $i += 1
+}
+
+function IsNotRoot {
+ param (
+ [String] $path
+ )
+ $root_path_base_name = ((get-item $path).Root.BaseName
+ $path_base_name = ((get-item $path).BaseName
+
+ return $root_path_base_name -ne $path_base_name
+}
+
+function RetrieveContentsJvmConfig {
+ param (
+ [String] $path
+ )
+
+ $jvm_config = $path + "\.mvn\jvm.config"
+
+ if (Test-Path $jvm_config) {
+ return $env:MAVEN_OPTS + " " + -Join (Get-Content $jvm_config)
+ }
+ return $env:MAVEN_OPTS
Review Comment:
That is not correct. If the file is empty then it is empty. See approach in
`init`.
##########
apache-maven/src/assembly/shared/init.ps1:
##########
@@ -0,0 +1,83 @@
+# ==== END VALIDATION ====
+
+$CLASSWORLDS_CONF = "$MAVEN_HOME\bin\m2.conf"
Review Comment:
I'd keep it identical to `init.cmd`.
##########
apache-maven/src/assembly/maven/bin/mvnDebug.ps1:
##########
@@ -0,0 +1,43 @@
+<#
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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
+
+ http://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.
+#>
+
+<#-----------------------------------------------------------------------------
+Apache Maven Debug Script
+
+Environment Variable Prerequisites
+
+JAVA_HOME (Optional) Points to a Java installation.
+MAVEN_OPTS (Optional) Java runtime options used when Maven is
executed.
+MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+MAVEN_DEBUG_ADDRESS (Optional) Set the debug address. Default value is 8000
Review Comment:
Default value in `.cmd` is `localhost:8000`, please fix.
##########
apache-maven/src/assembly/shared/mvnvalidate.ps1:
##########
@@ -0,0 +1,7 @@
+# check mvn home
+$MAVEN_HOME = (Get-Item $PSScriptRoot).Parent
+
+# check if maven command exists
+if (-not (Test-path "$MAVEN_HOME\bin\mvn.ps1")) {
+ Write-Error -Message "Maven command ($MAVEN_HOME\bin\mvn.ps1) cannot be
found" -ErrorAction Stop
+}
Review Comment:
I wonder whether this is a relic from the past. In `mvnvalidate` this check
isn't present and this file is part of `mvn`/`mvn.cmd`/`mvn.ps1`. How can this
fail?`
##########
apache-maven/src/assembly/shared/validate.ps1:
##########
@@ -0,0 +1,53 @@
+<#
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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
+
+ http://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.
+#>
+
+<#-----------------------------------------------------------------------------
+Apache Maven Startup Script
+
+Environment Variable Prerequisites
+
+ JAVA_HOME (Optional) Points to a Java installation.
+ MAVEN_ARGS (Optional) Arguments passed to Maven before CLI arguments.
+ MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
+ MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
+-----------------------------------------------------------------------------
+#>
+
+if (-not $env:MAVEN_SKIP_RC) {
+ if (Test-Path -Path $env:PROGRAMDATA\mavenrc.ps1 -PathType Leaf) {
&$env:PROGRAMDATA"\mavenrc.ps1" $args }
Review Comment:
Why not `Test-File`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]